这个问题也是影响国产处理器发展的一个重要因素,因为生态体系的缺乏,中国发展自己的处理器也只能是“摸着石头过河”,这个石头就是国外已经发展的处理器指令集,但这种路线又很容易被不明真相的围观者嘲讽——都用了别人的指令集了,怎么还敢叫自主产权?
多年前龙芯处理器的架构师胡伟武博士也解释过:“我们CPU也是可以做世界第一的,而且有,关键就是没法用,用户不用你。”软件生态的现实决定了国产处理器不可能从0开始研发,在这方面日本80-90年代通过TRON计划研制通用OS、CPU但最终失败的例子可以说是前车之鉴,反而C919大飞机这种国际化分工合作的模式容易获得成功。
今天我们就来简单了解下国内处理器的指令集体系及技术来源。根据公开来源,笔者能找到的有代表性的国产处理器方案主要有龙芯、申威、兆芯、飞腾、宏芯以及智能手机/平板领域发展最好的海思、展讯、全志等,他们所用的架构涉及X86、ARM、MIPS、Power及SPARC、Alpha等。
龙芯:血统纯正的中国芯,商业化不尽如人意
龙芯并非最早的国产处理器,也不是最成功的国产处理器,但提到国产处理器,大家第一个想到的恐怕就是龙芯了,它是曝光率最高的国产处理器,而且考虑到它是中科院计算机所研发的,其血统的纯正性更容易成为国产处理器的代表。
龙芯课题组于2001年成立,不过龙芯处理器的正式诞生之日是2002年8月10日,在计算所长李国杰院士的领导下,龙芯之父胡伟武博士及其团队拿出了龙芯1号处理器,当年他还写过《我们的龙芯1号》一文介绍龙芯的研发历程,小编当年也看过这篇文章,记忆犹新的是龙芯的中文代号是“狗剩”,源于中国人“赖名好养活”的习俗,不过也可以看出团队对龙芯处理器的未来虽然有期待,但当时应该是挺担心这个项目的未来发展的,只是龙芯的英文名就非常高大上了——Godson,上帝之子!
龙芯一出世就顶着自主研发的美名,但是没多久就被爆出龙芯的指令集实际上是源于MIPS,也就是说是买来的,这让龙芯瞬间被千夫所指,研发团队也背负了骂名和压力,胡伟武博士也解释过为何选择MIPS指令集,前面说的“用户不用你”就是根本原因,自建一套软件生态系统对中科院这样的学术单位来说是不可能的任务。
对龙芯的第二个质疑在于他们选择了MIPS指令集而非现在大红大紫的ARM指令集,不过时间回溯到2000年代(龙芯立项研发的时代可能更早一些),当时的ARM可没有如今这般强势,而MIPS在大学、科研单位有良好的基础,龙芯团队选择MIPS也是情有可原。
不管怎样,龙芯这个项目算是活下来了,从最初的龙芯1到目前的龙芯3已经发展了三代了,每一代其实又衍生出了多个版本,从单核、双核到四核、八核,从180nm工艺到28nm工艺,从双发射到四发射,龙芯处理器的架构、规格、频率、性能都在不断进步,龙芯3B2000甚至号称性能达到了Intel Ivy Bridge处理器的水平,其指令集其实已经远远超出了MIPS范畴,加入了很多龙芯团队自己开发的指令,比之前的产品增加了500多条自定义龙芯扩展指令,可用于实现对其他主流指令系统的二进制翻译兼容,另外存储访问和I/O效率也有大幅的提高,还有一点就是软硬件将保持向前兼容。
但是龙芯也不是没有槽点,大多数龙芯处理器其实活在了中科院给外界展示成果的展台上,尽管多年来大家对龙芯抱以期待,中科院甚至让旗下的江苏梦兰集团参与成立中科龙梦公司加速商业化,也推出了灵珑/福珑/逸珑台式机、笔记本等产品,但这些产品大都昙花一现,性能无法达到主流水平,很快就被人给忘记了。
申威/飞腾:最成功的国产处理器,军方的秘密武器
申威和飞腾尽管选择的处理器路线不同,不过这两家要放在一起说了,因为这两家背后有军方背景,申威处理器是无锡江南计算技术研究所研发的,后者也是总参谋部第五十六研究所,它有个名字是上海高性能集成电路设计中心,而天津飞腾是国防科大旗下的。此外,早前我们还报道过一家名为PhyTIum公司在去年的Hotchips 2015会议上推出了代号为Mars(火星)的多核处理器,这家公司是广州飞腾,据说也是国防科大下属的,但跟研发飞腾FT处理器的天津飞腾又不是一家单位。
回到正题,江南所在计算机技术研究上也是老资历了,不过在处理器指令集上他们的选择看起来有点非主流——DEC公司的Alpha 21264指令集,在技术上Alpha有独特之处,DEC当年在处理器市场也曾叱咤风云,AMD的K7架构就有部分技术源于Alpha架构,AMD上上上任CEO德克·梅尔(Dirk Meyer)就来自DEC公司,去年辞职走人的Zen架构之父Jim Keller也曾在DEC公司研发Alpha架构。
如今DEC公司早就烟消云散,公司几经转卖,微软在Win2000之后也放弃了对Alpha架构的支持,Alpha架构也早就不再更新了,专利也过期了,这可能是江南所选择Alpha架构的原因之一。2011年济南的超算中心部署了神威蓝光,它所用的处理器就是神威SW1600,16核心,现在的资料都认为它是基于专利已经过期的DEC ALPHA 21164A EV-56架构。
申威SW26010处理器是260核心
这次的太湖之光的神威SW26010处理器也是江南所研发的,虽然大家猜测它还是Alpha指令集,但跟龙芯后续架构类似,申威SW26010的架构、指令集已经远远超出了之前的范畴,加入了很多新指令。这次的SW26010就是260核心众核架构,乱序执行架构,频率1.45GHz,整个处理器包括4个MPE(Management Processing Element)管理单元、4个CPE(CompuTIng Processing Element)计算单元及4个MC内存控制器单元组成,其中CPE单元又由8x8阵列的64核心组成,所以总计是260个核心(4x64+4=260)。
与其他国产处理器相比,申威系在性能上完全走在了前列,在世界范围内都是靠前的,SW26010的理论浮点性能高达3TFLOPS,其性能完全可与Inel最新的Xeon Phi加速卡一拼。不过申威处理器的不足之处在于内存系统,太湖之光性能达到天河2号三倍的同时总内存反而从1.4PB降低到了1.31PB,每个节点使用了四路128bit DDR3-2133内存,带宽为136GB/s,这一点上不如Intel的Xeon Phi加速卡,后者自身集成了16GB eDRAM缓存,带宽超过500GB/s,而且早就支持DDR4内存了。
再来说下飞腾,天津飞腾研发的FT系列处理器也在HPC领域有过应用,不过飞腾FT处理器用的架构更杂乱,从公开资料来看第一代FT处理器兼容于Intel安腾2指令集,第二代FT-64处理器在银河计算机中有过使用,第三代产品FT-1000则是基于开源的UltraSPARC架构,8核64线程,在天河1号计算机的节点网络上有使用。
之后的FT-1500还是基于SPARC架构,制程工艺从65nm升级到了40nm,16核心128线程,在天河2号超算中使用了4096颗FT-1500处理器作为节点前端处理器。
最新的FT-1500A虽然名字跟上面的类似,但实际上没什么关系了,因为它的架构变成了ARM 64位,使用的是28nm工艺。据天津飞腾总经理谷虹介绍,FT-1500A系列处理器是64位通用CPU,兼容ARM V8指令集,采用国际先进的28nm工艺流片,具有高性能、低功耗等特点,关键技术国内领先,可实现对Intel中高端“至强”服务器芯片的替代,并广泛应用于政府办公和金融、税务等各行业信息化系统之中。
不论是申威还是飞腾,这两家军方背景的国产处理器单位因为目标明确,可以说是国产处理器中做的最成功的——不论性能还是架构设计都有独特之处,申威处理器不仅有硬件研发,还在编译器及Linux操作系统(神威睿思)上做了创新,太湖之光这次有三项应用入围戈登贝尔奖,这也得归功于江南所在超算应用上的努力。
中晟宏芯:借力蓝色巨人IBM,Power架构能撑起一片天?
通用处理器架构也曾百花齐放,Intel当年面对的对手比现在多得多,但X86现在差不多一统天下了,能跟Intel竞争的公司就更少了,强大如IBM这样拥有Power架构的公司也不行了,他们索性于2013年联合NVIDIA、泰安电脑等公司成立OpenPower开放联盟,其他公司也可以获得Power架构授权。此后在2014年还推动成立中国POWER技术产业生态联盟,IBM与多家中国公司签署了授权协议,中晟宏芯就是其中的一家。
IBM的Power架构一度成为国产处理器的希望
中晟宏芯成立于2013年,发起人是江苏梦兰集团、江苏中晟智源、苏州高新创业投资集团,梦兰集团之前我们说过是中科院旗下的公司,而后两者可以说是江苏政府代表,因此中晟宏芯获得Power架构技术得到了工信部及江苏政府、中科院计算所的支持,计算所甚至派了一个技术团队,如果一切都能按照预定的引进、消化、吸收,中晟宏芯应该在2019年推出国产化的Power处理器。
但是事与愿违,中晟宏芯虽然很快就推出了CP1处理器,但这只是IBM Power 8处理器的马甲而已,还没等这家公司消化Power技术,他们就闹出了欠薪风波,中科院派出的技术人员发不出工资,此后公司也不断动荡,股东发生变化,人员也波动频繁,指望中晟宏芯推动Power架构国产化是没希望了。
此外,IBM的Power架构在国内银行等关键行业有重要应用,而且Power处理器性能强劲,是个好东西,但真要引进消化也没这么容易,以Power 8架构为例,它是12核心96线程,核心面积达到了650mm2,复杂度远高于普通处理器,再加上原本使用的是IBM自己的22nm SOI工艺,而SOI工艺已经没多少代工厂搞了(GlobalFoundries用过,28nm节点放弃,后来又继承了IBM的衣钵),这无疑增加了Power处理器的国产化难度。