欢迎光临散文网 会员登陆 & 注册

为什么军事领域也要用通用CPU?

2020-07-04 16:22 作者:冰封之龙  | 我要投稿

在2020年建党节前夕,随着第55枚北斗卫星升空,中国正式完成历经17年的自主导航系统的建设历程。在这个有着历史意义的时刻,很多人已经记不起当年那个曾经震撼过我们的新闻:北斗卫星核心计算机采用了龙芯1号航天级CPU。

科技日报讯 (记者高博)2015年7月25日在西昌发射的两颗新一代北斗导航卫星,全部使用国产微处理器芯片(CPU)。这是国产宇航级CPU首次在实用卫星上担当主纲。另外,将2颗卫星准确送入轨道的“远征一号”上面级火箭,也使用了相同的国产CPU。

2015年龙芯CPU北斗导航卫星升空,此后中国北斗3期CPU全部切换到国产系统

  无大气层保护,集成电路极易被宇宙射线干扰而出现功能故障,芯片要“抗辐射加固”后,才能在太空工作。集成电路抗辐射加固技术是航天的核心共性基础技术。

  于1994年成立的航天772所,专门研制宇航芯片。所长赵元富说,772所的技术路线是在芯片设计环节而非制造环节添加抗辐射特性,其宇航芯片可在普通芯片流水线上制造。他们迄今已研制成功200多种抗辐射加固集成电路。

  宇航CPU是卫星的核心芯片,任务是接收地面指令、处理载荷数据、管理控制姿态等,相当于卫星的大脑。此次在北斗双星和“远征一号”上面级火箭上的CPU芯片,只有拇指甲盖大小,是航天772所历时10年研制的,圆了航天人的“中国芯”之梦。

  除了CPU,北斗双星和上面级上的数据总线电路、转换器、存储器等近40款产品均为航天772所研制和生产,这是中国卫星首次成体系、批量使用国产芯片,对航天工程的自主可控和创新发展是一里程碑。

随着北斗三期卫星的氢原子钟等全部配套设备完成国产替代,中国航天正式实现了航天器的自主可控。

不过,也有很多不了解这行业的人会问:采用MIPS架构的龙芯有发展前景吗?目前龙芯在性能上能够打败海外巨头intel,AMD的军用CPU吗?那么,接下来我们就来讲讲,军用和航天CPU到底是什么一类东西。

CPU全称是“中央处理器单元”。换句话说,一切采用电子计算机控制的设备,都会有一个CPU控制。只不过,有的工业/军用控制设备用的是一整个台式机通过数据线控制,而更多的工控机/军用机则是采用SOC,即系统级芯片,把计算,储存,I/O等基本功能制作在一块芯片上,降低整个计算机的体积。所以说,对于体积限制比较多的军用计算机,一般都会设计成非常规整的形状,只留出来I/O设备接口,以确保可靠性与安全性。


赛峰集团电子战与防务事务部开发的直升机飞控计算机,用于NH90,EC135等直升机

由于体积比较紧凑,而且很多军用设备不太需要民用设备复杂的影音娱乐功能(比如飞控计算机只需要处理飞机飞行时的空速,飞行高度,攻角,各个舵面角度等纯数字数据),更强调I/O响应速度,面对设备噪声,外界干扰(敌对电子战干扰或者太空射线辐射)的可靠性,所以很多军用CPU并不采用很多人以为的7nm,5nm等领先加工技术,很多还在使用目前早已退出民用领域的老式芯片。

一款由cyrix代工的486DX2芯片

由于英特尔公司很早就和美军密切来往,因此英特尔公司有很多CPU都广泛使用在军用和工控计算机之中。其中386,486和后来的奔腾1号CPU都是非常流行的工控CPU。这些CPU不仅广泛与使用在美国的军队和飞行器之中,连国际空间站也使用了386CPU作为它的主控制计算机。更有甚者,在中国和俄罗斯,在那个时代由于国产CPU不足,广泛的通过各种渠道获得此类CPU作为自己的军用设备的计算机CPU。

苏-30这些4+战机开启了俄罗斯新式航电整合的序幕,如苏-30MK采用了联盟式航电整合(即每个次系统有专用计算机,各司其职,然后把这些连结在一起)。

其中值得注意的是,俄罗斯用80386、80486等进口CPU(中国引进的苏-30MKK使用的应该是486DX2-50)做成了中央计算机如BTsVM-386与BTsVM-486等,这些计算机并不是真的单一的中央计算机,而是用来当次系统的中央计算机,然后再整合起来。例如某型双座战机用了6台BTsVM-386,两两一组互为备份,用于3个大的次系统,再加以整合。

以上的军用计算机是上一代的,采用多个独立计算机控制各个独立设备,再由一个同样CPU的计算机控制起来,这个结结构比较浪费空间,而且增减设备都不容易,现在大多数都不采用这个设计。现在常见的军用模块化计算机通常采用IMA架构。这种架构类似于地面“刀片式服务器”,可以根据需求增减设备,固定在同一个机架内,大幅降低了不同配置的飞机系统复杂的。

VMEbus RMAC (Modular Avionics Controller) for ARINC 429
这样一来,对于不同子系统,就可以像给PC插入扩展卡那样,为机载计算机插入不同的单元,实现对无线电测高器、陀螺仪、GPS等系统的统一控制

看到这里,可能还有人会问,既然来讲,高度依赖美国的CUP的话,会导致在战争时期非常难以获取CPU,也就意味着难以生产军事装备。同时购买这种以民用CPU为基础开发的军用CPU,是不是也会存在被敌方黑客攻陷而导致整个系统崩溃的风险呢?那么为啥我们不会设计一款专用于军用的CPU呢?答案就是成本。

根据知乎一篇文章:

https://zhuanlan.zhihu.com/p/21416517

芯片的成本包括芯片的硬件成本和芯片的设计成本。

芯片硬件成本包括晶片成本+掩膜成本+测试成本+封装成本四部分(像ARM阵营的IC设计公司要支付给ARM设计研发费以及每一片芯片的版税,但笔者这里主要描述自主CPU和Intel这样的巨头,将购买IP的成本省去),而且还要除去那些测试封装废片。

用公式表达为:芯片硬件成本=(晶片成本+测试成本+封装成本+掩膜成本)/最终成品率

对上述名称做一个简单的解释,方便普通群众理解,懂行的可以跳过。

从 二氧化硅到市场上出售的芯片,要经过制取工业硅、制取电子硅、再进行切割打磨制取晶圆。晶圆是制造芯片的原材料,晶片成本可以理解为每一片芯片所用的材料 (硅片)的成本。一般情况下,特别是产量足够大,而且拥有自主知识产权,以亿为单位量产来计算的话,晶片成本占比最高。不过也有例外,在接下来的封装成本 中介绍奇葩的例子。

封装是将基片、内核、散热片堆叠在一起,就形成了大家日常见到的CPU,封装成本就是这个过程所需要的资金。在产量巨大的一般情况下,封装成本一般占硬件成本的5%-25%左右,不过IBM的有些芯片封装成本占总成本一半左右,据说最高的曾达到过70%......

测 试可以鉴别出每一颗处理器的关键特性,比如最高频率、功耗、发热量等,并决定处理器的等级,比如将一堆芯片分门别类为:I5 4460、I5 4590、I5 4690、I5 4690K等,之后Intel就可以根据不同的等级,开出不同的售价。不过,如果芯片产量足够大的话,测试成本可以忽略不计。

掩膜成本就是采用不同的制程工艺所需要的成本,像40/28nm的工艺已经非常成熟,成本也低——40nm低功耗工艺的掩膜成本为200万美元;28nm SOI工艺为400万美元;28nm HKMG成本为600万美元。

由于晶圆是圆形的,而晶片是矩形的,必然导致一些边角料会被浪费掉,所以每个晶圆能够切割出的晶片数就不能简单的用晶圆的面积除以晶片的面积,而是要采用以下公式:

每个晶圆的晶片数=(晶圆的面积/晶片的面积)-(晶圆的周长/(2*晶片面积)的开方数)

晶片的成品率和工艺复杂度、单位面积的缺陷数息息相关,晶片的成品率用公司表达为:

晶片的成品率=(1+B*晶片成本/A)的(-A次方)

A是工艺复杂度,比如某采用40nm低功耗工艺的自主CPU-X的复杂度为2~3之间;

B是单位面积的缺陷数,采用40nm制程的自主CPU-X的单位面积的缺陷数值为0.4~0.6之间。

假 设自主CPU-X的长约为15.8mm,宽约为12.8mm,(长宽比为37:30,控制一个四核芯片的长宽比在这个比例可不容易)面积约为200平方毫 米(为方便计算把零头去掉了)。一个12寸的晶圆有7万平方毫米左右,于是一个晶圆可以放299个自主CPU-X,晶片成品率的公式中,将 a=3,b=0.5带入进行计算,晶片成品率为49%,也就是说一个12寸晶圆可以搞出146个好芯片,而一片十二寸晶圆的价格为4000美元,分摊到每 一片晶片上,成本为28美元。

因40nm低功耗工艺掩膜成本为200万美元,如果该自主CPU-X的销量达到10万片,则掩膜成本为20美元,将测试成本=2美元,封装成本=6美元,晶片成本=28美元代入公式,则芯片硬件成本=(20+2+6)/0.49+28=85美元

自主CPU-X的硬件成本为85美元。

如 果自主CPU-Y采用28nm SOI工艺,芯片面积估算为140平方毫米,则可以切割出495个CPU,由于28nm和40nm工艺一样,都属于非常成熟的技术,切割成本的影响微乎其 微,因此晶圆价格可以依旧以4000万美元计算,晶片成品率同样以49%的来计算,一个12寸晶圆可以切割出242片晶片,每一片晶片的成本为16美元。

如果自主CPU-X产量为10万,则掩膜成本为40美元,按照封装测试约占芯片总成本的20%、晶片成品率为49%来计算,芯片的硬件成本为122美元。

如果该自主芯片产量为100万,则掩膜成本为4美元,按照封装测试约占芯片总成本的20%来,最终良品率为49%计算,芯片的硬件成本为30美元。

因40nm低功耗工艺掩膜成本为200万美元,如果该自主CPU-X的销量达到10万片,则掩膜成本为20美元,将测试成本=2美元,封装成本=6美元,晶片成本=28美元代入公式,则芯片硬件成本=(20+2+6)/0.49+28=85美元

自主CPU-X的硬件成本为85美元。

如 果自主CPU-Y采用28nm SOI工艺,芯片面积估算为140平方毫米,则可以切割出495个CPU,由于28nm和40nm工艺一样,都属于非常成熟的技术,切割成本的影响微乎其 微,因此晶圆价格可以依旧以4000万美元计算,晶片成品率同样以49%的来计算,一个12寸晶圆可以切割出242片晶片,每一片晶片的成本为16美元。

如果自主CPU-X产量为10万,则掩膜成本为40美元,按照封装测试约占芯片总成本的20%、晶片成品率为49%来计算,芯片的硬件成本为122美元。

如果该自主芯片产量为100万,则掩膜成本为4美元,按照封装测试约占芯片总成本的20%来,最终良品率为49%计算,芯片的硬件成本为30美元。

这里要稍微解释一下为啥光刻后良品率不能达到很高的水平(相比于一般的工业产品良品率都不低于90%甚至95%)。光刻的原理和幻灯机差不多,它利用一个高精度镜头和一个紫外光光源(这两个制造难度也非常大,尤其是EUV极紫外光源),将制作好的模板上的电路图投射到涂好了光刻胶的晶圆片上,因为透镜通常是圆形的,所以晶圆也一样是圆的,但我们的芯片大部分是方的。同时,在光源跟不上制程时(如采用193nm的光源制造28nm的芯片),往往需要多次曝光技术,把多个纹路叠加在一起形成最后的光刻晶体管,这样一来,肯定有的区域(通常位于边缘)就无法得到充足的曝光,加之冲洗光刻胶、切割芯片造成的耗损,就有的芯片无法达到最高效果了,有的甚至“模糊”而无法使用(废片),因此所谓的“测试”就是对上面每一块切下的芯片进行单独测试的过程。所以,越高的制程,芯片的良品率自然会不高。

所以通过这篇张竞杨大佬的文章,大家就很容易看出来为啥军用设备不宜采用高精尖制程的专用CPU了。第一,很多作战任务的计算需求无需那么高的计算能力,而且很多芯片都是一次性的(如导弹的控制计算机),必须控制成本;第二,军用计算机考虑到的是可靠性,芯片内集成的晶体管越多,发热量越大,而且半导体之间的电子跃迁越复杂,越容易遭受外界的电子干扰和内部大量设备的噪声干扰,为了解决这问题需要更多的封装成本;第三,就算是美国AIM-120, 陶2这种导弹,其全球销量也不足几万套,其消耗的CPU(而且是很低端的控制CPU)也不过十万片的等级,如果为其单独进行设计、制版、光刻、切割、封装,其单位成本也势必居高不下,无法分摊成本。同时,一款CPU从设计到流片生产,再到最终封装测试往往需要不止1-2年的时间,如果单独为一款武器设计一款CPU,那么势必将大幅延长武器的总体设计时间。所以,上述所有内容加在一起,就是军用设备必然采用通用CPU的原因了。

一块8英寸晶圆光刻了大片晶圆,需要最终切割封装才能制成产品

那么,一块光刻了几百个通用CPU的大晶圆上什么样的芯片才能成为军用级芯片呢?

这里,我们举一个反例。可能我们很多人都在网上买过特别便宜的U盘。我们知道,一块16-32G的正品优盘都不低于30元,而很多店铺却宣称只需要2元即可买下32G的U盘。这些U盘很多插上计算机就会发现,要不是所谓的“扩容U盘”(即修改了主控芯片),要不这些U盘空间根本无法全部利用。我有一次就是用冒牌的金士顿8G优盘,现实中装到6G就非常不错了,而这种U盘理论上格式化应该不低于7G。而且这种U盘非常容易过热,还容易读取不良,业内的行家就会给你说:对不起,你买的U盘很可能是“黑片”的。所谓的黑片,就是上述提到的“良品率”中被划为“不良”甚至“残次”的芯片。这样的芯片不是说完全就不能通电使用,只不过很多通道产生了模糊,造成这些区域被当做“坏扇区”而被隔离,无法读取使用(很多固态硬盘读取频繁后,部分读取频繁的扇区也会受损,因此越久的固态硬盘剩余的可用空间越少)。因而你要是用了这种芯片的U盘,其性能自然不能得到保障。

那么,与之相对的,就是曝光结果最好,通常位于晶圆中央的芯片了。这种芯片的晶体管纹路清晰,基本上所有的晶体管都可以正常使用,甚至有些芯片还可以表现出高于均值的性能(超频界里流传的某些特别适合超频的芯片有一部分就是该批次使用了最高等级的芯片),因此对可靠性极端重视的军用电脑CPU就会选择其中质量最好的,加以应对军用的特别封装技术,再装载到军用计算机的单元之中(就像前文提到的IMA架构的扩展计算板)。这样的CPU,自然就能够保证它在作战,航天等领域中顺利工作了。

所以,军用的CPU不单单是比拼性能,还会包括成本、可靠性、产能等多个因素。只有符合国家需要的CPU,同时又是我们能够以合理价位生产制造的CPU,才会成为大规模军用的CPU。

为什么军事领域也要用通用CPU?的评论 (共 条)

分享到微博请遵守国家法律