龔建偉 吳月明 沈蒙童 高琦翔
摘 要:自上世紀(jì)九十年代來(lái),X86處理器開(kāi)始大規(guī)模伴隨家用電腦而普及。而被業(yè)界視為至寶的摩爾定律,在此之前就已經(jīng)在數(shù)十年中得到了驗(yàn)證。隨著技術(shù)的發(fā)展,在接下來(lái)的十?dāng)?shù)年中,摩爾定律依然有效。然而近幾年集成電路工藝發(fā)展開(kāi)始逐漸變得緩慢,而技術(shù)節(jié)點(diǎn)的演進(jìn)也開(kāi)始走向摩爾定律的極限——7nm。不過(guò)在摩爾定律失效之后,民用級(jí)X86處理器的性能發(fā)展也決不會(huì)被阻礙。
關(guān)鍵詞:X86處理器;摩爾定律;性能;發(fā)展
1 X86處理器的歷史發(fā)展
在數(shù)十年前,微處理器主要是Intel、Motorola和Zilog三家廠商在競(jìng)爭(zhēng),此時(shí)的微處理器架構(gòu)并不統(tǒng)一。而到了90年代中期,這種競(jìng)爭(zhēng)演變?yōu)镮ntel、AMD與其它X86兼容廠商的競(jìng)爭(zhēng)。這些其它廠商包括了IDT,Cyrix等,雖然性能總體較為落后,但是卻也始終步步緊逼。雖然競(jìng)爭(zhēng)空前激烈,但是Intel卻始終能夠保持領(lǐng)先地位。[1]
然而從技術(shù)發(fā)展的角度,Intel卻顯得落后了一步。雖然早在1989年Intel同HP就開(kāi)始了IA-64架構(gòu)的研發(fā),但是Intel的重心卻并不在64位體系結(jié)構(gòu)的Merced上。而在64位的發(fā)展上,AMD將原有的X86架構(gòu)擴(kuò)展,成為了新的X86-64架構(gòu)。在X86-64的64位模式下,可以利用新的REX前綴來(lái)達(dá)成寄存器的擴(kuò)展,這包括了八個(gè)新的通用寄存器,通用寄存器被擴(kuò)展為64位,還添加了8個(gè)128位的數(shù)據(jù)流SIMD擴(kuò)展寄存器(XMM8~XMM15)。[2]
X86-64也保持了對(duì)32位的完美兼容。在64位操作系統(tǒng)下,執(zhí)行32位X86應(yīng)用程序并不需要重新編譯。此外,16位應(yīng)用程序也得到了同等的兼容。在這種兼容模式中,虛擬地址空間位于前面的4GB空間被用于進(jìn)行存取。而在16位操作下,寄存器A的兩個(gè)字節(jié)被定位為AX。用于32位操作時(shí),寄存器A的四個(gè)字節(jié)被定位為EAX。用于64位操作時(shí),寄存器A的八個(gè)字節(jié)被定位為RAX。
相比之下,在X86-64推出之后,Intel的IA-64對(duì)32位不兼容的問(wèn)題,便開(kāi)始愈發(fā)凸顯出來(lái)。如果想要讓IA-64對(duì)32位進(jìn)行兼容,則必須使用轉(zhuǎn)換層對(duì)IA-32指令進(jìn)行轉(zhuǎn)制,方可運(yùn)行。對(duì)IA-32 APP的支持在硬件層面上是由iVE完成的,而系統(tǒng)級(jí)別的指令由IA-32 Layer處理。也就是說(shuō),在硬件上IA-32程序是由iVE支持才得以在IA-64平臺(tái)上運(yùn)行。
然而這種支持并非如同X86-64一般原生,因此并不完美。在Linux下,使用iVE的進(jìn)行支持的IA-32應(yīng)用程序在IA-64平臺(tái)上運(yùn)行的結(jié)果,與在IA-32平臺(tái)運(yùn)行的結(jié)果是有明顯差異的。雖然可以通過(guò)Linux的兩個(gè)系統(tǒng)測(cè)試工具——Linux Standard Base與Linux Test Project進(jìn)行通過(guò)率測(cè)試并且不斷改進(jìn),使得iVE與IA-32通過(guò)率相同,但是這需要反復(fù)的調(diào)校才能做到。此外,少數(shù)案例因?yàn)轫?yè)面大小問(wèn)題,始終無(wú)法得以通過(guò)。[3]這也更加凸顯出IA-64技術(shù)的缺陷。
在民用級(jí)產(chǎn)品上,因?yàn)镮ntel錯(cuò)誤的選擇了NetBurst架構(gòu)的超長(zhǎng)流水線設(shè)計(jì),使得其性能被AMD趕超過(guò)去。在此時(shí),Intel無(wú)論桌面級(jí)還是服務(wù)器級(jí)別的產(chǎn)品,均遠(yuǎn)不如AMD。
2 摩爾定律的失效
在大約2010年前后,摩爾定律開(kāi)始面臨挑戰(zhàn),而民用級(jí)X86處理器性能的發(fā)展也開(kāi)始停滯不前。在應(yīng)用了high-k metal gate工藝的32nm制程之后,Intel的Ivy Bridge制程到達(dá)了22nm,然而這已經(jīng)相當(dāng)逼近極限。為了達(dá)成制程工藝的進(jìn)步,Intel開(kāi)發(fā)出了三柵極工藝。然而在處理器性能上,卻始終缺乏可圈可點(diǎn)的進(jìn)步。制程工藝的進(jìn)步并沒(méi)有帶來(lái)進(jìn)一步性能的提升,甚至發(fā)熱的減小也很值得懷疑。更需要注意的是,三柵極工藝早在2002年就已經(jīng)被開(kāi)發(fā)成功,投入民用市場(chǎng)卻用了將近十年之久。摩爾定律在很大程度上,的確已經(jīng)被宣告終結(jié)。
伴隨著制程的進(jìn)一步縮小,隧道效應(yīng)也會(huì)更加明顯。因?yàn)殡娮幽軌驈脑礃O跳躍到漏極,芯片將無(wú)法正常工作。因?yàn)檫@種嚴(yán)重的漏電現(xiàn)象,芯片成品的良品率也會(huì)大大降低——這也就意味著成本的上升。雖然理論上可以使用其它的材質(zhì)——例如砷化鎵來(lái)制成晶體管的源極、通道與漏極,但是這并非一勞永逸地解決方法。因?yàn)楣璨馁|(zhì)而導(dǎo)致的問(wèn)題,在不久之后會(huì)照舊在這些材料上出現(xiàn)。[4]
當(dāng)制程工藝前進(jìn)至5nm以?xún)?nèi)時(shí),基于經(jīng)典物理學(xué)的半導(dǎo)體器件理論將不再有效,而被量子力學(xué)取代。而Intel的制程工藝,也馬上要前進(jìn)至7nm——摩爾定律的極限。[5]
3 以AMD Ryzen為代表的突破與Intel的遲滯
在選擇了模塊化之后,AMD的處理器性能在數(shù)年中始終停滯不前,只有微小的提升。而在近期,AMD正式宣布放棄了模塊化設(shè)計(jì),重回常規(guī)的SMT多核多線程架構(gòu),并且發(fā)布了Ryzen系列處理器。相比之前數(shù)代的模塊化設(shè)計(jì),Ryzen帶來(lái)的性能提升高達(dá)40%——無(wú)論Intel還是AMD,在這數(shù)年之中從未有過(guò)如此巨大的,一次性的性能提升。在工藝上,14nm FinFET LPP工藝則比前代的28nm SHP有了長(zhǎng)足進(jìn)步。但是Ryzen的性能提升卻不只是制程工藝提升所帶來(lái)的——因?yàn)镮ntel的制程工藝仍然在持續(xù)演進(jìn),但是帶來(lái)的性能提升,卻微乎其微。從32nm到14nm,Intel的產(chǎn)品性能提升雖然不可以說(shuō)沒(méi)有,但是卻遠(yuǎn)遠(yuǎn)不能讓人滿(mǎn)意。
但是在低功耗領(lǐng)域,我們也應(yīng)該承認(rèn)制程進(jìn)步所帶來(lái)的突破。2014年Intel發(fā)布的Haswell-Y Core M系列處理器,便是14nm制程工藝所帶來(lái)低功耗產(chǎn)品。如此的低功耗在過(guò)去幾乎是不可想象的——因?yàn)檫^(guò)去的制程工藝決定了這一問(wèn)題。但是我們也應(yīng)該注意到,Core M處理器的性能并不能夠達(dá)到主流級(jí)別,可見(jiàn)先進(jìn)的制程工藝并不一定能帶來(lái)高性能。
Ryzen處理器證明了處理器性能的大幅躍進(jìn)可以寄希望于架構(gòu)設(shè)計(jì),而非制程。在如今,制程工藝已經(jīng)不再是CPU發(fā)展的決定性因素,而X86 CPU的發(fā)展則應(yīng)當(dāng)著眼于架構(gòu)的設(shè)計(jì)。
4 結(jié)束語(yǔ)
隨著集成電路產(chǎn)業(yè)的不斷發(fā)展,后摩爾定律時(shí)代已經(jīng)到來(lái)。固然有人對(duì)此憂(yōu)心忡忡,但是也有更多的人對(duì)此充滿(mǎn)信心迎接這一時(shí)代的到來(lái)。一方面,制程工藝可以寄希望于其他材料帶來(lái)的提升。另一方面,X86 微處理器的性能提升也并不完全取決于制程。只要微處理器的架構(gòu)足夠優(yōu)秀,依舊可以帶來(lái)顯著的性能提升。
參考文獻(xiàn)
[1]馬道鈞,張敬懷. X86微處理器的發(fā)展[J].北京電子科技學(xué)院學(xué)報(bào),1999(2):35-40.
[2]宇人.64位計(jì)算的躍進(jìn)——AMD x86-64架構(gòu)下的64位總線技術(shù)[J].微電腦世界,2000(48):11-13.
[3]袁媛,尤晉元.32位應(yīng)用程序在IA-64/Linux上兼容性的實(shí)現(xiàn)與測(cè)試[J].計(jì)算機(jī)工程,2005(16):219-221.
[4]趙佶.摩爾定律何時(shí)會(huì)失效[J].半導(dǎo)體信息,2012(5):4-8.
[5]韓繼國(guó).摩爾定律失效后的芯片走向[J].集成電路應(yīng)用,2015(10):1.