龔建偉 吳月明 沈蒙童 高琦翔
摘 要:自上世紀九十年代來,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.