6月底公布的最新一期TOP500超算排行榜中,中国的神威?太湖之光低调地挤下了六连霸的同胞兄弟天河2号,成为首款理论性能达到10亿亿次的超算,将天河2号之前保持的性能往前推进了一个量级,晋级新的世界第一超算。伴随着太湖之光的其实不仅仅是第一名的荣誉,这次TOP500上中国上榜的超算数量首次超过了以往的霸主美国,超算应用也实现了三十年来的突破,更重要的是太湖之光计算机使用的是国产处理器,不再是Intel的Xeon处理器。
![干掉Intel、AMD?国产处理器架构大揭秘](http://img1.mydrivers.com/img/20160714/Sea55551f-794b-43b5-9535-5d3c4a38f9fa.jpg)
国产处理器“取代”Intel、AMD等国际公司的处理器一直是国家的战略和梦想,如今在太湖之光计算机上算是真正圆梦了,不过当初的新闻报道中笔者也看到了评论中很多人对国产处理器的批评(虽然大部分否定太湖之光的人只是宣泄情绪、负能量而已),这个问题也是影响国产处理器发展的一个重要因素,因为生态体系的缺乏,中国发展自己的处理器也只能是“摸着石头过河”,这个石头就是国外已经发展的处理器指令集,但这种路线又很容易被不明真相的围观者嘲讽——都用了别人的指令集了,怎么还敢叫自主产权?
对于这个问题,多年前龙芯处理器的架构师胡伟武博士也解释过:“我们CPU也是可以做世界第一的,而且有,关键就是没法用,用户不用你。”软件生态的现实决定了国产处理器不可能从0开始研发,在这方面日本80-90年代通过TRON计划研制通用OS、CPU但最终失败的例子可以说是前车之鉴,反而C919大飞机这种国际化分工合作的模式容易获得成功。
在研发处理器方面,既然我们的目标是“过河”,为了稳妥、安全,摸着石头小心探索也是可行的,而中国在处理器研发上可以说把河里的石头都摸了个遍,从X86到ARM再到MIPS还有小众的SPARC、Alpha甚至安腾架构,国内几乎都尝试了。
今天的超能课堂里,我们就来简单了解下国内处理器的指令集体系及技术来源。根据公开来源,笔者能找到的有代表性的国产处理器方案主要有龙芯、申威、兆芯、飞腾、宏芯以及智能手机/平板领域发展最好的海思、展讯、全志等,他们所用的架构涉及X86、ARM、MIPS、Power及SPARC、Alpha等,如下图所示:
![干掉Intel、AMD?国产处理器架构大揭秘](http://img1.mydrivers.com/img/20160714/S3033eac0-2325-49bb-9c4c-0c2ff84c5897.png)
常见国产处理器指令集体系及来源
龙芯:血统纯正的中国芯,商业化不尽如人意
龙芯并非最早的国产处理器,也不是最成功的国产处理器,但提到国产处理器,大家第一个想到的恐怕就是龙芯了,它是曝光率最高的国产处理器,而且考虑到它是中科院计算机所研发的,其血统的纯正性更容易成为国产处理器的代表。
![干掉Intel、AMD?国产处理器架构大揭秘](http://img1.mydrivers.com/img/20160714/S2f2cd61f-3369-4171-8ddd-00044f21008a.jpg)
龙芯课题组于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效率也有大幅的提高,还有一点就是软硬件将保持向前兼容。
![干掉Intel、AMD?国产处理器架构大揭秘](http://img1.mydrivers.com/img/20160714/341aa73b-d252-4ac7-bb4c-ba9500392fb6.jpg)
但是龙芯也不是没有槽点,大多数龙芯处理器其实活在了中科院给外界展示成果的展台上,尽管多年来大家对龙芯抱以期待,中科院甚至让旗下的江苏梦兰集团参与成立中科龙梦公司加速商业化,也推出了灵珑/福珑/逸珑台式机、笔记本等产品,但这些产品大都昙花一现,性能无法达到主流水平,很快就被人给忘记了。
申威/飞腾:最成功的国产处理器,军方的秘密武器
申威和飞腾尽管选择的处理器路线不同,不过这两家要放在一起说了,因为这两家背后有军方背景,申威处理器是无锡江南计算技术研究所研发的,后者也是总参谋部第五十六研究所,它有个名字是上海高性能集成电路设计中心,而天津飞腾是国防科大旗下的。此外,早前我们还报道过一家名为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架构。
![干掉Intel、AMD?国产处理器架构大揭秘](http://img1.mydrivers.com/img/20160714/S8bb71ed7-adf9-478b-9e1d-470b8a37a3d3.jpg)
申威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与多家中国公司签署了授权协议,中晟宏芯就是其中的一家。
![干掉Intel、AMD?国产处理器架构大揭秘](http://img1.mydrivers.com/img/20160714/S6533bd13-b937-492e-9c8a-7b175dd17f8e.jpg)
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处理器的国产化难度。
兆芯/海光:中国能用X86技术打败Intel、AMD?
前面提到的国产处理器中,除了军方背景的申威、飞腾之外,基于MIPS、SPARC以及Power架构的处理器发展过程都是一波三折,他们面临的核心问题也是一样的——软件生态远不如X86。既然大家都能注意到这个问题,那中国为什么不直接选择X86体系呢?这是个好问题,你还别说,国内还真有搞X86架构的。
国内较早跟X86架构授权有关的是北大微电子中心,2005年AMD跟中国政府达成了协议,科技部指定北大微电子中心接收AMD Geode-2处理器技术授权,北大微电子中心还把这事作为重点宣传,表示“这是美国历史上,第一次向在美国境外授权开发X86兼容的微处理器及系统芯片。此次合作也是迄今为止中美半导体领域最具影响力的技术合作。”
AMD给的这个处理器是X86架构的,中国因此获得了X86技术,不过Geode处理器大部分人是没听说过的吧,因为这是AMD嵌入式处理器,其最初起源于Cyrix公司的MeidaGX平台,后来Cyrix这部分业务被国家半导体(NS)收购,2003年AMD又把国家半导体的Geode业务收了。
AMD授权给北大的X86技术显然不可能是最顶级的,所以选了嵌入式架构给中国,不过这点“施舍”已经可以让北大好好装一下了,很多人恐怕不记得还有北大众志处理器吧,原先也是做MIPS架构,得到AMD授权之后,他们的PKUnity86-3就是X86兼容处理器,但最后也是不了了之,也只活在了展台上,现在都没什么消息了。
说得有点远了,回到正题上来。由于X86架构是AMD、Intel吃饭的家伙,他们通常是没可能把技术授权给别人的,AMD之前那个例子更多地是拿买来的技术迎合中国市场而已,中国公司从这两家获得X86技术的可能性几乎没了。不过我们别忘了X86技术实际上并非只有AMD和Intel,VIA威盛公司也有X86授权的,他们的技术来源于Cyrix,后者又是Intel当年对外授权X86技术的几家公司之一。
在当年的Intel反垄断案和解之后,VIA的X86技术也算是正当化了,但是VIA自己是个小公司,没法玩转高性能X86架构的,他们出的Nano、Nehemiah(尼希米)、Esther(以斯帖)、Isaiah(以赛亚,VIA总经理陈文琦、王雪红夫妇是基督徒,产品代号也很有宗教特色)等处理器虽然不乏特色,但因为制造工艺不能跟Intel相比,架构和性能也是不能相提并论的。既然没有市场了,那VIA索性把X86技术卖给了大陆的上海兆芯公司。
![干掉Intel、AMD?国产处理器架构大揭秘](http://img1.mydrivers.com/img/20160714/Se925156f-d198-4bb5-844e-7ffe80546e07.jpg)
兆芯这家公司也是很有背景的,2013年由上海国资委旗下的联和投资与VIA成立的,注册资本2亿美元,上海出资80%,VIA占股20%。这次的合作显然是大陆出钱,VIA出技术,因为兆芯的业务范围包括X86 CPU、ARM CPU、GPU及芯片组研发都是VIA现有的,上海国资委下面的投资公司可没这技术。
凭借雄厚的背景,兆芯如愿拿下了国家的核高基项目,根据公开报道兆芯拿到的核高基补贴高达56亿,后续还在申请,总额高达70亿。至于回报,兆芯号称自主研发的ZX-C处理器于2015年4月量产,28nm工艺,四核处理器,主频可达2.0GHz,TDP功耗仅为18W,并且支持国密算法加密,但兆芯的CPU基本上都是VIA处理器的马甲,毕竟从成立到拿出产品只有2年左右的时间,这么快就生产出四核X86处理器并不容易。
除了上海兆芯,国内另一家获得X86技术授权的是天津海光,这事还得从AMD说起,今年Q2季度财报公布之后,AMD宣布他们跟中国天津海光投资公司达成了协议,将X86技术授权给海光公司,获得2.93亿美元的授权费,双方还会成立合资公司。
目前有关AMD、海光的X86授权协议还不明确,但AMD这次授权给中国公司的X86很可能不再是低端的,因为AMD要打开中国高性能服务器市场,授权的架构很可能是高性能的Zen技术,换句话说AMD有可能给了中国公司最尖端的X86技术,如果真是如此,AMD这一次可真的是拼了。
海思:商用市场的成功才是真成功
这里虽然选择了华为的海思,不过笔者要说的其实是海思、展讯、全志、瑞芯微等一帮民营公司开发的处理器,选择海思作为代表,是因为海思是其中的佼佼者。这些公司虽然没多少背景(海思背后的华为算是大公司,是个例外),但他们恰恰是商业化最成功的国产处理器,这点跟前面介绍的其他处理器不同。
![干掉Intel、AMD?国产处理器架构大揭秘](http://img1.mydrivers.com/img/20160714/Sb9845a0d-794a-4423-94e2-d8670e53023a.jpg)
商业公司以市场为导向,不必背负什么国产、自主产权的压力,他们无一例外选择了最热门的ARM体系,架构也多是购买的ARM公司的Cortex-A系列授权,GPU也是花钱授权的,海思还可以研发自己的基带及ISP、DSP等芯片,目前的麒麟950处理器是首款Cortex-A72核心、Mali-T880 GPU及TSMC 16nm Plus工艺处理器,已经具备国际先进水平。
总结:
以上介绍的国产处理器中,他们大体可以写分为学院派、军方派、国资派及民营派,其中商业化最好的显然是民营派,国内厂商在手机/平板SoC处理器上已经闯出一片天,军方派的飞腾、申威因为目标明确,实际上发展的也相当成功,申威SW26010在众核架构上也具备世界水准了。
不能让人满意的要属学院派及国资派了,龙芯被寄予厚望,但市场化举步维艰,考虑到MIPS指令集的应用场合,龙芯进入主流市场是没可能了。一些国有资本参与的国产处理器更让人失望,其所推出的处理器经常号称国产自主产权或者自主研发,但背后多是马甲,很多项目都是为了争取国家的核高基巨额补贴。
当然,在套取国家补贴这点上,不仅是国资派,所有公司其实都对这个蛋糕垂涎三尺。华为海思虽然在商用市场发展的不错了,这点值得表扬,但他们也没忘记核高基补贴。我们曾报道过华为的泰山服务器,此前资料说它使用的是华为自主研发的CPU架构,但之后华为公关找我们澄清过——该处理器不是16核而是32核的,基于公版Cortex-A57架构,华为表示该项目是国家核高基计划,不会量产。
笔者并不是反对国家补贴高科技发展,以当前国内相对弱势的情况来看,国家的支持和补助对处理器研发以及存储芯片研发、半导体工艺等重大技术都是非常必要的,问题是如何避免有些公司浑水摸鱼、骗取纳税人资金。
尽管有这样那样的问题,国产处理器无论如何都是一个要大力发展的行业,我们希望不久的将来能看到中国公司也能制造出世界级水准的高性能处理器,与Intel、AMD、高通等公司同台竞争,尽管不是每一个人都会选择国产处理器。
![干掉Intel、AMD?国产处理器架构大揭秘](http://img1.mydrivers.com/img/20160714/d58fbff5-7b2f-463e-8328-d9bb7bd1b1e6.jpg)
愿汉芯一号这样的事件永不再演