x86 指令集架構是否過時?
01-05
雖然x86架構的處理器仍然是最快(至少在PC級別上,農企英特爾等公司的實力使得其它架構沒有競爭的條件),x86也是現在的標杆。但是x86真的在技術上落後了嗎?比如對比其它「RISC」架構的對手(ARM,POWER)。
另外RISC和CISC的架構競爭不是在上個世紀就應該結束了嗎(Pentium和P6時代兩者合二為一了吧),怎麼最近又被提起?話說現在處理器性能還拼不拼架構?還是只屬於製程和工藝的時代?這樣沒人拼的過intel了。
看到 @破布提到HPCA-2013上關於RISC vs. CISC的那篇文章,講一點八卦當時作者愛美麗在校內做了一個practice talk,那天我沒有去,然後晚上我去Lipasti學生的Lab聊天的時候,他們開始了瘋狂的吐槽"can you imagine this paper beat our papers.... I wanna quit my Ph.D...."
x86架構是過時的,還是依舊領先?
答:按照現在來說X86架構已經30+年了(1978開始),Intel自己都說了它已經限制了CPU的發展,所以從技術上來說已經有點過時,但是它依舊在這個行業領先;和ARM指令比絕度是ARM弱啊;X86進化的過程可是吸收應用了RISC 和CISC的優點的;
雖然x86架構的處理器仍然是最快(至少在PC級別上,農企英特爾等公司的實力使得其它架構沒有競爭的條件),x86也是現在的標杆。但是x86真的在技術上落後了嗎?比如對比其它「RISC」架構的對手(ARM,POWER)另外RISC和CISC的架構競爭不是在上個世紀就應該結束了嗎(Pentium和P6時代兩者合二為一了吧),怎麼最近又被提起?答:大部分的觀點:RISC指令集是以後高性能CPU的發展方向。它與傳統的CISC(複雜指令集)相對。相比而言,RISC的指令格式統一,種類比較少,定址方式也比複雜指令集少。使用RISC指令集的體系結構主要有ARM、MIPS。 因為複雜指令集CPU內部為將較複雜的指令解碼,也就是指令較長,分成幾個微指令去執行,正是如此開發程序比較容易(指令多的緣故),但是由於指令複雜,執行工作效率較差,處理數據速度較慢;RISC是精簡指令集CPU,指令位數較短,內部還有快速處理指令的電路,使得指令的解碼與數據的處理較快,所以執行效率比CISC高,不過,必須經過編譯程序的處理,才能發揮它的效率;
看到差距了嗎?實際反過來看缺點難道不能變成優點嗎? 現在CPU的主頻太高了就是速度太快了,其他的設備速度根本趕不上CPU的運算速度,所以完全可以例如複雜指令集的特性中和平衡下性能;現在RISC和CISC之間又被提起應該就是因為這個原因,為了平衡!(個人觀點),只有平衡協調的發展才能達到最好的效果,水桶效應不就這樣的嗎? 現在計算機這個水桶的短板不是CPU,所以CPU可以適量拉低來拉高其他低速的指標;註:上述論述是個人意見,不代表專家觀點!(會有新的指令集,但是會兼容現在指令集的優點甚至「缺點」)早就不分什麼RISC和CISC了,這和微內核宏內核一樣都是上個世紀的詞兒了。intel現在是CISC的殼,RISC的核,內部uop都差不多
誠如破布所說,現在指令集對於晶元性能的影響已經微乎其微了。事實上從技術上看,x86/arm並無絕對的優劣之分。要說落後先進,最多只能說某個指令集下的生態系統的影響力是減弱還是增強了。其實現在幾種指令集的競爭也是主要集中在生態系統的競爭上,而生態系統的優劣又和廠商的規模、經營策略等息息相關。比如arm的成功就主要依賴於蘋果和谷歌兩大廠商的推動,一如當年x86的成功與intel和微軟的聯合密不可分一樣。
就最近的傳聞我已經不再對高性能的arm保有樂觀態度了,英特爾一旦放開qpi匯流排授權,可以輕易加入額外向量單元,fpga,arm的最後的定製化優勢就將不復存在,x86是否定製只是商業問題,大量的廉價而兼容性強大的處理器就是選擇的原因和這個體系前進的動力,power8再強大也只有天朝這種擠破頭想有資助姿勢產權的才會參活,open對於power而言改變不了什麼。對了,你敢說haswell性能不行么?你造12核的power8多少錢么?
X86確實在硬體上限制了intel的那些天才的設計師們進一步優化cpu(看atom設計想要兼容x86指令付出了多少代價就知道),軟體上限制了微軟的工程師們優化系統軟體(由於不定長指令,內存分頁和換頁必須要考慮一個莫名奇妙的問題:一條指令可能部分被截斷而換頁換出了。這導致處理缺頁中斷的演算法 win8比win RT要慢大約3倍。)
當然不定長指令,x64可以一條指令處理64位立即數,想想還是很爽的啊。x86現在已經只能算一個ISA了吧。內部微架構大家都已經趨同了
在core,interconnect,cache,低功耗等領域,x86or intel絕對是領先的。計算瓶頸不在cpu。另外說到架構的話,如果明天世界上所有程序都使用真異構計算進行優化的話,英特爾後天就倒閉。
《浪潮之巔》上的意思應該是 X86比較落後了
我看衰X86,理由是納米技術作為目前硅晶體管集成電路的基礎科學將遇到瓶頸。2008年後Intel 推出的High-K技術、3D晶體管包括發布Tick-Tock計劃都是從補充技術和周期控制方面延緩步入14nm這個製程零界點。回到樓主的問題X86 在步入x86-64時代後重大的處理器架構調整基本沒有(集成內存控制器、集成GPU我覺得沒什麼可說的)正如ARM現在的發展是基於ARM7架構的成功,Intel還在延續2006年core微架構。所以X86的後續發展取決於材料科學、納米甚至皮米控制技術的支撐,當然還有架構上的不斷優化改進。
推薦閱讀: