超能課堂(144):X86、ARM有何不同?

文章推薦指數: 80 %
投票人數:10人

一台伺服器、一台電腦、一台手機最重要的電子零部件是什麼?沒錯,就是CPU處理器。

它主要負責數據計算、控制功能,是最核心的部分。

不過你又知道有多少種CPU架構嗎?主流的X86、ARM到底有什麼區別?

下面就給大家介紹一下幾種常見的CPU架構:

X86

1978年6月8日,Intel發布了史詩級的CPU處理器8086,由此X86架構傳奇正式拉開帷幕。

首次為8086引入X86作為計算機語言的指令集,定義了一些基本使用規則,X86架構使用的是CISC複雜指令集。

同時8086處理器的大獲成功也直接讓Intel成為了CPU巨頭,如果你對8086不是那麼熟悉,那麼一定聽過奔騰處理器吧?況且為了紀念8086K誕生40周年,今年Intel發布了一顆紀念限量版的處理器Core i7-8086K,這你都聽說過吧?

來自Intel官網

圖片

IA64(Intel Architecture 64,英特爾架構64)

哇,IA64聽起來好陌生,是的,雖然同出Intel之手。

但這可以說是失敗品。

當年X86過渡到64位指令集時,一個不小心被AMD彎道超車,最後只能聯合惠普推出了屬於自己的IA64指令集,但這也僅限於伺服器上,也是Itanium安騰處理器的來歷(現在已經涼了)。

圖片來自x86-guide

至於IA64究竟是RISC還是CISC指令集的延續,這個真的很難說清楚,但單純以IA64基於HP的EPIC(Explicitly Parallel Instruction Computers,精確並行指令計算機)來看,似乎更偏向於RISC體系。

MIPS(Microprocessor without interlockedpipedstages,無內部互鎖流水級的微處理器)

在上世紀80年代由美國史丹福大學Hennessy教授的研究小組研發,它採用精簡指令系統計算結構(RISC)來設計晶片。

和Intel採用的複雜指令系統計算結構(CISC)相比,RISC具有設計更簡單、設計周期更短等優點,並可以應用更多先進的技術,開發更快的下一代處理器。

MIPS是出現最早的商業RISC架構晶片之一,新的架構集成了所有原來MIPS指令集,並增加了許多更強大的功能。

MIPS自己只進行CPU的設計,之後把設計方案授權給客戶,使得客戶能夠製造出高性能的CPU。

讓MIPS出名的,可能是在2007年,中科院計算機研究所的龍芯處理器獲得了MIPS的全部專利、指令集授權,中國開始走上了一MIPS為基礎的CPU研發道路。

圖片來自龍芯官網

PowerPC

PowerPC是有藍色巨人IBM聯合蘋果、摩托羅拉公司研發的一種基於RISC精簡指令集的CPU,PowerPC架構最大優點是靈活性非常好,核心數目靈活可變,因此在嵌入式設備上具有很高效益,可以針對伺服器市場做超多核,針對掌機做雙核,因此它具有優異的性能、較低的能量損耗以及較低的散熱量。

圖片來自wikimedia

ARM(Advanced RISC Machine,進階精簡指令集機器)

ARM可以說是一個異軍突起的CPU架構,採用了RISC精簡指令集,而且ARM發展到今天,架構上非常靈活,可以根據面向應用場景不同使用不同設計的內核,因此可以廣泛用於嵌入式系統中,同時它高度節能的特性,目前各種移動設備中全都是它的身影。

據統計,使用ARM架構的晶片年出貨量高達200億片,隨著物聯網時代降臨,對於低功耗性ARM晶片需求量會發生爆炸性增長。

圖片來自iFixit

CISC、RISC之爭

從上面得知,歷史的長河裡面,有過許許多多的CPU架構,它們之間的差異性非常大,經過時間、用戶的檢驗,我們平常所接觸到CPU架構也就剩X86和ARM兩者,按照最核心的不同可以被分為兩大類,即「複雜指令集」與「精簡指令集」系統,也就是經常看到的「CISC」與「RISC」。

要了解X86和ARM CPU架構,就得先了解CISC複雜指令集和RISC精簡指令集 ,因為它們第一個區別就是X86使用了複雜指令集(CISC),而後者使用精簡指令集(RISC)。

造成他們使用不同該指令集的原因在於,面向的設備、對象、性能要求是不一樣。

手機SoC普遍都是採用ARM提供的核心作為基礎,依據自身需求改變SoC的核心架構,而ARM正正是RISC精簡指令集的代表人物。

CPU巨頭Intel、AMD所採用的X86架構已經沿用了數十年,是CISC複雜指令集的典型代表。

CISC複雜指令系統就是為了增強原有指令的功能,設置更為複雜的新指令實現部分大量重複的軟體功能的硬體化。

由於早期的電腦主頻低、運行速度慢,為了提高運算速度,不得已將更多的複雜指令加入到指令系統中來提高電腦的處理效率,慢慢形成以桌面電腦為首的複雜指令系統計算機。

其指令集也是在不斷更新增加當中,如Intel為X299平台上的處理器增加了AVX 512指令集,目的就是為了提高某一方面的性能。

雖然CISC可以實現高性能CPU設計,但是設計起來就相當麻煩了,要保持龐大硬體設計正確是一件不容易的事情,還要確保性能有所提升,不能開倒車,因此桌面CPU研發時間也慢慢地變長。

這時候,以ARM為首的一些RISC精簡指令系統計算機開始嶄露頭角了。

RISC可以說是從CISC中取其精華去其糟粕,簡化指令功能,讓指令的平均執行周期減少,達到提升計算機工作主頻的目的,同時引入大量通用寄存器減少不必要的讀寫過程,提高子程序執行速度,這樣一來程序運行時間縮短並且減少了尋址,提高了編譯效率,最終達到高性能目的。

這兩種指令集一直都在求同存異當中,都在追求在體系架構、操作運行、軟硬體、編譯時間以及運行時間等等諸多因素中做出某種平衡,以此達到當初所設計的高效運轉目的。

圖片來自新浪博客

功耗上的限制

從CISC、RISC設計思路來看,大家不難發現,他們走的路根本不一樣,前者專注於高性能方向,但帶來高功耗,而後者專注於做低功耗的嵌入式,對於性能的最強不是太過強勁。

因此我們也看到Intel、AMD他們擅長於設計性能超高的X86處理器,而高通、蘋果依靠ARM IP授權設計出注重效能的SoC晶片。

就像我們以前所舉的例子,Core i7-8086K可以輕易跑出95W功耗,但像高通驍龍845這種最頂級的SoC也不過是5W,只有其1/19,主要是手機尺寸越來越小,電池容量、能量密度發展跟不上,手機所用ARM內核只能是低功耗。

一般來說,處理器的功耗可以隨著製造工藝的進步而降低,但近些年來,移動設備所採用的的SoC往往率先使用更小的納米工藝製程,比方說驍龍845的10nm,雖然裡面有取巧成分,但推進速度遠遠快於Intel的10nm工藝,加之SoC還會有對應的低功耗版本工藝,所以無論是設計上、還是工藝上的差別,都導致了ARM、X86功耗差異非常大。

大小核架構

從前的X86傳統CPU,如果是四核或者是雙核,內部的四個、兩個個核心都是一模一樣的,這樣的話,由於一旦軟體只能調度一個核心,處於高頻工作,但由於架構限制,其餘核心也要保持同樣的高頻率和高電壓狀態,這樣就浪費了大量的能量在做無用功。

後來就發展出了異步多核,允許不同核心工作在不同頻率上,以此換來更低功耗。

由於移動設備更加在意功耗,所以ARM採用了更加激進的做法,八個核裡面允許有不同Cortex-A架構核心,那就是著名的ARM bigLITTLE。

這樣的大小核設計目的很明確,就是在有限的電池容量中,兼顧性能、續航的需求,因此SoC內部的CPU是採用異構計算,既有高性能大核心,也有低功耗小核心。

bigLITTLE架構框架,圖片來自ARM官網

晶片設計廠商可以根據自己的需求,設計出有針對性的產品,比方說目前高通驍龍845、華為的麒麟970、聯發科Helio X30都是bigLITTLE架構,這樣的話如果你只是刷刷微博、朋友圈,那麼只需要動用小核心就能完成任務,玩《絕地求生》吃雞遊戲就可能大小核全開,從而保證性能、續航的平衡。

因此ARM的bigLITTLE異步多核架構非常值得參考,甚至傳聞稱英特爾將在第10代酷睿處理器Lakefield上使用這種技術,高性能大核是Ice lake(下一代Core),低功耗小核心則是Tremont(下一代Atom),因此在整體功耗上控制在35W以內,用於二合一筆記本上。

ARM、X86也能相互融合

之前我們在另一篇超能課堂《手機SoC與電腦的CPU性能究竟差多少?》就總結過,RISC、CISC各有各的優勢,目前兩者界限開始逐漸變得模糊,現代的CPU往往採用了CISC的外圍,而內部則加入了部分RISC的特性,這個也是Intel處理器的開始擁有RISC的典型例子。

也就是說其實未來CPU發展方向之一就是融合CISC以及RISC,從軟體、硬體上取長補短,進一步提高處理器的並行性以及工藝水平。

X86、ARM在性能、功耗上各占優勢,儘管ARM一直想進入高性能伺服器市場上,但一直都是雷聲大雨點小,前不久想要挑戰intel伺服器地位的高通,ARM伺服器部門直接裁員50%,技術副總裁也不玩了;ARM處理器也期望能獲得X86處理器的高性能,以便能用在移動筆記本上,就像剛剛推出的高通驍龍835 Windows筆記本一樣,但評價、反映都是平平;Intel利用X86架構Atom做手機SoC,結果還是敗給了ARM,虧掉數十億美元,最終直接砍掉了這個項目,老老實實做X86處理器。

所以說ARM、X86都在各自領域站穩了腳跟,由於設計之初的理念不同,已經很難滲入對方的領域,只能說不斷嘗試,兩者之間的差異在將來可能會縮小,不斷借鑑改進。

圖片來自esa-automation


請為這篇文章評分?


相關文章 

RISC和CISC指令集對晶片性能影響重要嗎?

我們看科技新聞的時候經常會看到指令集三個字,這是什麼?又該如何理解呢?對晶片會有什麼樣的影響呢?這裡我們就來簡單說一說。 大家都知道電腦是靠晶片來執行命令和運算的,而晶片的本質是一堆電晶體並不認...

ARM處理器都有哪些CPU核心?

半導體業有這樣第一家公司,他們的處理器每年出貨上百億顆,我們每天都在用的智慧型手機都有它的功勞,但這家公司從中賺的錢 並不多,這個「雷鋒叔叔」就是英國ARM(中文名是安謀國際)公司,他們的ARM...

伺服器架構:x86、RISC、ARM誰主江湖?

在當今時代,說網際網路支撐起了整個世界的半邊天毫不過分。無論金融、工業,還是機關、社會,各行各業都被網際網路串聯起來。那麼你對支撐起網際網路的伺服器有了解嗎?伺服器的構架又是怎樣的呢?伺服器可不...

性能更強的SPARC和Power為啥鬥不過x86

相比x86,IBM的Power架構和Sun的SPARC架構都曾有著很明顯的性能優勢。但時至今日,已經接近40歲的x86架構占據了超過90%的伺服器市場。根源來看,是由於封閉系統和企業屬性不符,盲...

驍龍821、麒麟960、MTK、三星 新CPU誰最強?

在當下,手機的成本變得越來越透明,越來越多的用戶開始最求性價比,用省的錢買最好的機子。而每台新機的CPU都被那些最求性價比的用戶高度重視。就在今年下半年,即將又會有一大批全新高性能CPU來襲,今...

實用乾貨:關於處理器ARM知識匯總

基於鼎易鴻基&萬酷電子的掃描槍產品採用的處理器都是ARM32-bit,所以今天我們來簡單探討下關於ARM處理器的相關知識,歡迎各路大神指點交流。【ARM處理器簡介】ARM處理器是一種低能耗高性能...