一臺服務器、一臺電腦、一臺手機最重要的電子零部件是什么?沒錯,就是CPU處理器。它主要負責數(shù)據(jù)計算、控制功能,是最核心的部分。不過你又知道有多少種CPU架構嗎?主流的X86、ARM到底有什么區(qū)別?
下面就給大家介紹一下幾種常見的CPU架構:
X86
1978年6月8日,Intel發(fā)布了史詩級的CPU處理器8086,由此X86架構傳奇正式拉開帷幕。首次為8086引入X86作為計算機語言的指令集,定義了一些基本使用規(guī)則,X86架構使用的是CISC復雜指令集。同時8086處理器的大獲成功也直接讓Intel成為了CPU巨頭,如果你對8086不是那么熟悉,那么一定聽過奔騰處理器吧?況且為了紀念8086K誕生40周年,今年Intel發(fā)布了一顆紀念限量版的處理器Corei7-8086K,這你都聽說過吧?
圖片來自Intel官網(wǎng)
IA64(IntelArchitecture64,英特爾架構64)
哇,IA64聽起來好陌生,是的,雖然同出Intel之手。但這可以說是失敗品。當年X86過渡到64位指令集時,一個不小心被AMD彎道超車,最后只能聯(lián)合惠普推出了屬于自己的IA64指令集,但這也僅限于服務器上,也是Itanium安騰處理器的來歷(現(xiàn)在已經(jīng)涼了)。
圖片來自x86-guide
至于IA64究竟是RISC還是CISC指令集的延續(xù),這個真的很難說清楚,但單純以IA64基于HP的EPIC(ExplicitlyParallelInstructionComputers,精確并行指令計算機)來看,似乎更偏向于RISC體系。
MIPS(Microprocessorwithoutinterlockedpipedstages,無內部互鎖流水級的微處理器)
在上世紀80年代由美國斯坦福大學Hennessy教授的研究小組研發(fā),它采用精簡指令系統(tǒng)計算結構(RISC)來設計芯片。和Intel采用的復雜指令系統(tǒng)計算結構(CISC)相比,RISC具有設計更簡單、設計周期更短等優(yōu)點,并可以應用更多先進的技術,開發(fā)更快的下一代處理器。MIPS是出現(xiàn)最早的商業(yè)RISC架構芯片之一,新的架構集成了所有原來MIPS指令集,并增加了許多更強大的功能。
MIPS自己只進行CPU的設計,之后把設計方案授權給客戶,使得客戶能夠制造出高性能的CPU。
讓MIPS出名的,可能是在2007年,中科院計算機研究所的龍芯處理器獲得了MIPS的全部專利、指令集授權,中國開始走上了一MIPS為基礎的CPU研發(fā)道路。
圖片來自龍芯官網(wǎng)
PowerPC
PowerPC是有藍色巨人IBM聯(lián)合蘋果、摩托羅拉公司研發(fā)的一種基于RISC精簡指令集的CPU,PowerPC架構最大優(yōu)點是靈活性非常好,核心數(shù)目靈活可變,因此在嵌入式設備上具有很高效益,可以針對服務器市場做超多核,針對掌機做雙核,因此它具有優(yōu)異的性能、較低的能量損耗以及較低的散熱量。
圖片來自wikimedia
ARM(AdvancedRISCMachine,進階精簡指令集機器)
ARM可以說是一個異軍突起的CPU架構,采用了RISC精簡指令集,而且ARM發(fā)展到今天,架構上非常靈活,可以根據(jù)面向應用場景不同使用不同設計的內核,因此可以廣泛用于嵌入式系統(tǒng)中,同時它高度節(jié)能的特性,目前各種移動設備中全都是它的身影。據(jù)統(tǒng)計,使用ARM架構的芯片年出貨量高達200億片,隨著物聯(lián)網(wǎng)時代降臨,對于低功耗性ARM芯片需求量會發(fā)生爆炸性增長。
圖片來自iFixit
CISC、RISC之爭
從上面得知,歷史的長河里面,有過許許多多的CPU架構,它們之間的差異性非常大,經(jīng)過時間、用戶的檢驗,我們平常所接觸到CPU架構也就剩X86和ARM兩者,按照最核心的不同可以被分為兩大類,即“復雜指令集”與“精簡指令集”系統(tǒng),也就是經(jīng)常看到的“CISC”與“RISC”。
要了解X86和ARMCPU架構,就得先了解CISC復雜指令集和RISC精簡指令集,因為它們第一個區(qū)別就是X86使用了復雜指令集(CISC),而后者使用精簡指令集(RISC)。造成他們使用不同該指令集的原因在于,面向的設備、對象、性能要求是不一樣。手機SoC普遍都是采用ARM提供的核心作為基礎,依據(jù)自身需求改變SoC的核心架構,而ARM正正是RISC精簡指令集的代表人物。CPU巨頭Intel、AMD所采用的X86架構已經(jīng)沿用了數(shù)十年,是CISC復雜指令集的典型代表。
CISC復雜指令系統(tǒng)就是為了增強原有指令的功能,設置更為復雜的新指令實現(xiàn)部分大量重復的軟件功能的硬件化。由于早期的電腦主頻低、運行速度慢,為了提高運算速度,不得已將更多的復雜指令加入到指令系統(tǒng)中來提高電腦的處理效率,慢慢形成以桌面電腦為首的復雜指令系統(tǒng)計算機。其指令集也是在不斷更新增加當中,如Intel為X299平臺上的處理器增加了AVX512指令集,目的就是為了提高某一方面的性能。
雖然CISC可以實現(xiàn)高性能CPU設計,但是設計起來就相當麻煩了,要保持龐大硬件設計正確是一件不容易的事情,還要確保性能有所提升,不能開倒車,因此桌面CPU研發(fā)時間也慢慢地變長。這時候,以ARM為首的一些RISC精簡指令系統(tǒng)計算機開始嶄露頭角了。
RISC可以說是從CISC中取其精華去其糟粕,簡化指令功能,讓指令的平均執(zhí)行周期減少,達到提升計算機工作主頻的目的,同時引入大量通用寄存器減少不必要的讀寫過程,提高子程序執(zhí)行速度,這樣一來程序運行時間縮短并且減少了尋址,提高了編譯效率,最終達到高性能目的。
這兩種指令集一直都在求同存異當中,都在追求在體系架構、操作運行、軟硬件、編譯時間以及運行時間等等諸多因素中做出某種平衡,以此達到當初所設計的高效運轉目的。
圖片來自新浪博客
功耗上的限制
從CISC、RISC設計思路來看,大家不難發(fā)現(xiàn),他們走的路根本不一樣,前者專注于高性能方向,但帶來高功耗,而后者專注于做低功耗的嵌入式,對于性能的最強不是太過強勁。因此我們也看到Intel、AMD他們擅長于設計性能超高的X86處理器,而高通、蘋果依靠ARMIP授權設計出注重效能的SoC芯片。
就像我們以前所舉的例子,Corei7-8086K可以輕易跑出95W功耗,但像高通驍龍845這種最頂級的SoC也不過是5W,只有其1/19,主要是手機尺寸越來越小,電池容量、能量密度發(fā)展跟不上,手機所用ARM內核只能是低功耗。
一般來說,處理器的功耗可以隨著制造工藝的進步而降低,但近些年來,移動設備所采用的的SoC往往率先使用更小的納米工藝制程,比方說驍龍845的10nm,雖然里面有取巧成分,但推進速度遠遠快于Intel的10nm工藝,加之SoC還會有對應的低功耗版本工藝,所以無論是設計上、還是工藝上的差別,都導致了ARM、X86功耗差異非常大。
大小核架構
從前的X86傳統(tǒng)CPU,如果是四核或者是雙核,內部的四個、兩個個核心都是一模一樣的,這樣的話,由于一旦軟件只能調度一個核心,處于高頻工作,但由于架構限制,其余核心也要保持同樣的高頻率和高電壓狀態(tài),這樣就浪費了大量的能量在做無用功。后來就發(fā)展出了異步多核,允許不同核心工作在不同頻率上,以此換來更低功耗。
由于移動設備更加在意功耗,所以ARM采用了更加激進的做法,八個核里面允許有不同Cortex-A架構核心,那就是著名的ARMbigLITTLE。這樣的大小核設計目的很明確,就是在有限的電池容量中,兼顧性能、續(xù)航的需求,因此SoC內部的CPU是采用異構計算,既有高性能大核心,也有低功耗小核心。
bigLITTLE架構框架,圖片來自ARM官網(wǎng)
芯片設計廠商可以根據(jù)自己的需求,設計出有針對性的產品,比方說目前高通驍龍845、華為的麒麟970、聯(lián)發(fā)科HelioX30都是bigLITTLE架構,這樣的話如果你只是刷刷微博、朋友圈,那么只需要動用小核心就能完成任務,玩《絕地求生》吃雞游戲就可能大小核全開,從而保證性能、續(xù)航的平衡。
因此ARM的bigLITTLE異步多核架構非常值得參考,甚至傳聞稱英特爾將在第10代酷睿處理器Lakefield上使用這種技術,高性能大核是Icelake(下一代Core),低功耗小核心則是Tremont(下一代Atom),因此在整體功耗上控制在35W以內,用于二合一筆記本上。
ARM、X86也能相互融合
之前我們在另一篇超能課堂《手機SoC與電腦的CPU性能究竟差多少?》就總結過,RISC、CISC各有各的優(yōu)勢,目前兩者界限開始逐漸變得模糊,現(xiàn)代的CPU往往采用了CISC的外圍,而內部則加入了部分RISC的特性,這個也是Intel處理器的開始擁有RISC的典型例子。也就是說其實未來CPU發(fā)展方向之一就是融合CISC以及RISC,從軟件、硬件上取長補短,進一步提高處理器的并行性以及工藝水平。
X86、ARM在性能、功耗上各占優(yōu)勢,盡管ARM一直想進入高性能服務器市場上,但一直都是雷聲大雨點小,前不久想要挑戰(zhàn)intel服務器地位的高通,ARM服務器部門直接裁員50%,技術副總裁也不玩了;ARM處理器也期望能獲得X86處理器的高性能,以便能用在移動筆記本上,就像剛剛推出的高通驍龍835Windows筆記本一樣,但評價、反映都是平平;Intel利用X86架構Atom做手機SoC,結果還是敗給了ARM,虧掉數(shù)十億美元,最終直接砍掉了這個項目,老老實實做X86處理器。
所以說ARM、X86都在各自領域站穩(wěn)了腳跟,由于設計之初的理念不同,已經(jīng)很難滲入對方的領域,只能說不斷嘗試,兩者之間的差異在將來可能會縮小,不斷借鑒改進。