龚建伟 吴月明 沈蒙童 高琦翔
摘 要:自上世纪九十年代来,X86处理器开始大规模伴随家用电脑而普及。而被业界视为至宝的摩尔定律,在此之前就已经在数十年中得到了验证。随着技术的发展,在接下来的十数年中,摩尔定律依然有效。然而近几年集成电路工艺发展开始逐渐变得缓慢,而技术节点的演进也开始走向摩尔定律的极限——7nm。不过在摩尔定律失效之后,民用级X86处理器的性能发展也决不会被阻碍。
关键词:X86处理器;摩尔定律;性能;发展
1 X86处理器的历史发展
在数十年前,微处理器主要是Intel、Motorola和Zilog三家厂商在竞争,此时的微处理器架构并不统一。而到了90年代中期,这种竞争演变为Intel、AMD与其它X86兼容厂商的竞争。这些其它厂商包括了IDT,Cyrix等,虽然性能总体较为落后,但是却也始终步步紧逼。虽然竞争空前激烈,但是Intel却始终能够保持领先地位。[1]
然而从技术发展的角度,Intel却显得落后了一步。虽然早在1989年Intel同HP就开始了IA-64架构的研发,但是Intel的重心却并不在64位体系结构的Merced上。而在64位的发展上,AMD将原有的X86架构扩展,成为了新的X86-64架构。在X86-64的64位模式下,可以利用新的REX前缀来达成寄存器的扩展,这包括了八个新的通用寄存器,通用寄存器被扩展为64位,还添加了8个128位的数据流SIMD扩展寄存器(XMM8~XMM15)。[2]
X86-64也保持了对32位的完美兼容。在64位操作系统下,执行32位X86应用程序并不需要重新编译。此外,16位应用程序也得到了同等的兼容。在这种兼容模式中,虚拟地址空间位于前面的4GB空间被用于进行存取。而在16位操作下,寄存器A的两个字节被定位为AX。用于32位操作时,寄存器A的四个字节被定位为EAX。用于64位操作时,寄存器A的八个字节被定位为RAX。
相比之下,在X86-64推出之后,Intel的IA-64对32位不兼容的问题,便开始愈发凸显出来。如果想要让IA-64对32位进行兼容,则必须使用转换层对IA-32指令进行转制,方可运行。对IA-32 APP的支持在硬件层面上是由iVE完成的,而系统级别的指令由IA-32 Layer处理。也就是说,在硬件上IA-32程序是由iVE支持才得以在IA-64平台上运行。
然而这种支持并非如同X86-64一般原生,因此并不完美。在Linux下,使用iVE的进行支持的IA-32應用程序在IA-64平台上运行的结果,与在IA-32平台运行的结果是有明显差异的。虽然可以通过Linux的两个系统测试工具——Linux Standard Base与Linux Test Project进行通过率测试并且不断改进,使得iVE与IA-32通过率相同,但是这需要反复的调校才能做到。此外,少数案例因为页面大小问题,始终无法得以通过。[3]这也更加凸显出IA-64技术的缺陷。
在民用级产品上,因为Intel错误的选择了NetBurst架构的超长流水线设计,使得其性能被AMD赶超过去。在此时,Intel无论桌面级还是服务器级别的产品,均远不如AMD。
2 摩尔定律的失效
在大约2010年前后,摩尔定律开始面临挑战,而民用级X86处理器性能的发展也开始停滞不前。在应用了high-k metal gate工艺的32nm制程之后,Intel的Ivy Bridge制程到达了22nm,然而这已经相当逼近极限。为了达成制程工艺的进步,Intel开发出了三栅极工艺。然而在处理器性能上,却始终缺乏可圈可点的进步。制程工艺的进步并没有带来进一步性能的提升,甚至发热的减小也很值得怀疑。更需要注意的是,三栅极工艺早在2002年就已经被开发成功,投入民用市场却用了将近十年之久。摩尔定律在很大程度上,的确已经被宣告终结。
伴随着制程的进一步缩小,隧道效应也会更加明显。因为电子能够从源极跳跃到漏极,芯片将无法正常工作。因为这种严重的漏电现象,芯片成品的良品率也会大大降低——这也就意味着成本的上升。虽然理论上可以使用其它的材质——例如砷化镓来制成晶体管的源极、通道与漏极,但是这并非一劳永逸地解决方法。因为硅材质而导致的问题,在不久之后会照旧在这些材料上出现。[4]
当制程工艺前进至5nm以内时,基于经典物理学的半导体器件理论将不再有效,而被量子力学取代。而Intel的制程工艺,也马上要前进至7nm——摩尔定律的极限。[5]
3 以AMD Ryzen为代表的突破与Intel的迟滞
在选择了模块化之后,AMD的处理器性能在数年中始终停滞不前,只有微小的提升。而在近期,AMD正式宣布放弃了模块化设计,重回常规的SMT多核多线程架构,并且发布了Ryzen系列处理器。相比之前数代的模块化设计,Ryzen带来的性能提升高达40%——无论Intel还是AMD,在这数年之中从未有过如此巨大的,一次性的性能提升。在工艺上,14nm FinFET LPP工艺则比前代的28nm SHP有了长足进步。但是Ryzen的性能提升却不只是制程工艺提升所带来的——因为Intel的制程工艺仍然在持续演进,但是带来的性能提升,却微乎其微。从32nm到14nm,Intel的产品性能提升虽然不可以说没有,但是却远远不能让人满意。
但是在低功耗领域,我们也应该承认制程进步所带来的突破。2014年Intel发布的Haswell-Y Core M系列处理器,便是14nm制程工艺所带来低功耗产品。如此的低功耗在过去几乎是不可想象的——因为过去的制程工艺决定了这一问题。但是我们也应该注意到,Core M处理器的性能并不能够达到主流级别,可见先进的制程工艺并不一定能带来高性能。
Ryzen处理器证明了处理器性能的大幅跃进可以寄希望于架构设计,而非制程。在如今,制程工艺已经不再是CPU发展的决定性因素,而X86 CPU的发展则应当着眼于架构的设计。
4 结束语
随着集成电路产业的不断发展,后摩尔定律时代已经到来。固然有人对此忧心忡忡,但是也有更多的人对此充满信心迎接这一时代的到来。一方面,制程工艺可以寄希望于其他材料带来的提升。另一方面,X86 微处理器的性能提升也并不完全取决于制程。只要微处理器的架构足够优秀,依旧可以带来显著的性能提升。
参考文献
[1]马道钧,张敬怀. X86微处理器的发展[J].北京电子科技学院学报,1999(2):35-40.
[2]宇人.64位计算的跃进——AMD x86-64架构下的64位总线技术[J].微电脑世界,2000(48):11-13.
[3]袁媛,尤晋元.32位应用程序在IA-64/Linux上兼容性的实现与测试[J].计算机工程,2005(16):219-221.
[4]赵佶.摩尔定律何时会失效[J].半导体信息,2012(5):4-8.
[5]韩继国.摩尔定律失效后的芯片走向[J].集成电路应用,2015(10):1.