6月底公布的最新一期TOP500超算排行榜中,中国的神威·太湖之光低调地挤下了六连霸的同胞兄弟天河2号,成为首款理论性能达到10亿亿次的超算,将天河2号之前保持的性能往前推进了一个量级,晋级新的世界第一超算。伴随着太湖之光的其实不仅仅是第一名的荣誉,这次TOP500上中国上榜的超算数量首次超过了以往的霸主美国,超算应用也实现了三十年来的突破,更重要的是太湖之光计算机使用的是国产处理器,不再是Intel的Xeon处理器。
国产处理器“取代”Intel、AMD等国际公司的处理器一直是国家的战略和梦想,如今在太湖之光计算机上算是真正圆梦了,不过当初的新闻报道中笔者也看到了评论中很多人对国产处理器的批评(虽然大部分否定太湖之光的人只是宣泄情绪、负能量而已),这个问题也是影响国产处理器发展的一个重要因素,因为生态体系的缺乏,中国发展自己的处理器也只能是“摸着石头过河”,这个石头就是国外已经发展的处理器指令集,但这种路线又很容易被不明真相的围观者嘲讽——都用了别人的指令集了,怎么还敢叫自主产权?
对于这个问题,多年前龙芯处理器的架构师胡伟武博士也解释过:“我们CPU也是可以做世界第一的,而且有,关键就是没法用,用户不用你。”软件生态的现实决定了国产处理器不可能从0开始研发,在这方面日本80-90年代通过TRON计划研制通用OS、CPU但最终失败的例子可以说是前车之鉴,反而C919大飞机这种国际化分工合作的模式容易获得成功。
在研发处理器方面,既然我们的目标是“过河”,为了稳妥、安全,摸着石头小心探索也是可行的,而中国在处理器研发上可以说把河里的石头都摸了个遍,从X86到ARM再到MIPS还有小众的SPARC、Alpha甚至安腾架构,国内几乎都尝试了。
今天的超能课堂里,我们就来简单了解下国内处理器的指令集体系及技术来源。根据公开来源,笔者能找到的有代表性的国产处理器方案主要有龙芯、申威、兆芯、飞腾、宏芯以及智能手机/平板领域发展最好的海思、展讯、全志等,他们所用的架构涉及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架构的原因之一。
本文来源:不详 作者:佚名