指令集架構、arm核心、SoC、處理器、CPU、GPU等的關係

十一月zz發表於2017-08-26

       指令集架構如:ARMv5、ARMv6、ARMv7-A/R、ARMv8-A [28]

       ARM核心如:ARM7、ARM9、ARM11(v6)、到cortex-A7、A8、A9、A12、A15(v7-A/R)、到cortex-A53、A57(V8)、A72、A73。快取(cache)就是在核心中的[4]。這些核心又名公版架構,即ARM推出的通用的架構。

       SoC晶片如:高通(Qualcomm)的驍龍(Snapdragon)820、821,835;麒麟950(4XCortex-A72+4XCortex-A53)、960(4*Cortex-A73+4*Cortex-A53);聯發科的HelioX20、X25、X30;三星的Exynos8890、7420、5433等。還有如STM32(基於ARM cortex M3核心)

       再次,現在我們口中所說的處理器,已經不是過去那種單指cpu的年代了,確切的說應該是指SoC。SoC(System on Chip): 稱為系統級晶片,也稱為片上系統,意指它是一個產品,是一個有專有目標的積體電路,其中包含完整系統並嵌入軟體的全部內容。官方定義為將微處理器、模擬IP核、數字IP核和儲存器(或者片外儲存介面)整合在單一晶片上。——簡單的比喻一下,如果把CPU看成人體的大腦,那麼SoC就是我們人的身體總成(還要包括各種器官、組織)。即GPU、匯流排、顯示加速器、ISP、視訊編解碼器、音訊處理器、Memory控制器、感測器處理單元,以及DDR、Flash、顯示介面、Camera介面、射頻RF、USB等對外介面。要把這些元器件整合在一起,構成一個整體。而且還要保證各個元器件之間能夠協調、穩定的執行,這樣的設計技術所投入的研發費用並不是每個廠商能夠接受的[2]。

       ARM公司本身並不參與終端處理器晶片的製造和銷售,而是通過向其它晶片廠商授權設計方案,來獲取收益。——舉個例子,如果處理器相當於一棟完整的建築, ARM就像是建築的框架,至於最後建造出來的房子長什麼樣,舒適度如何,就是由處理器廠商自己決定了。但是採用相同架構的處理器,效能基本上已經鎖定在一定的範圍之內,不會有本質的區別。所以,看處理器的效能要先看微架構[3]。

       ARM公司提供兩類CPU授權:核心指令集授權,以及現成的CPU核心設計方案授權[2][3]。業內多數手機處理器廠商選擇直接購買ARM CPU核心設計方案,然後與其它元件(比如GPU、多媒體處理、調變解調器等等)整合,製造出完整的SoC片上系統。這些現成的CPU都是基於ARM Cortex A5、A8、A9,甚至A15微架構的。或是基於現有的架構進行二次定製修改的,比如三星的蜂鳥Hummingbird核心等都是在Cortex-A8的基礎上修改的。2011年,三星正式推出Exynos4 Dual 4210晶片(Dual代表雙核)和對應的新旗艦手機Galaxy SII,同時也將“蜂鳥”改名為Exynos3 Single 3110(single代表單核),這正是之後Exynos家族的開端。2016年第一季度,三星釋出了Exynos8 Octa 8890(Octa代表8核),它有一個非常重大的意義在於——這是三星第一款擁有自研架構的ARM晶片[22]。注意,經過我的調研,所謂的自研架構,也可以稱為自研微架構,其實就是自己研究出來類似於cortex-A53,A73等類似的這些公版的核,也稱為公版微架構。

       但也有少數手機處理器廠商,如高通,直接在ARM v7指令集的基礎上深度開發自己的處理器微架構,如高通公司的Scorpion和Krait,進而設計自主的CPU,具有更大的靈活性。Scorpion和Krait的角色就和cortex A53和cortex A57的角色類似和ARMv7、v8的角色類似[6]。Scorpion(蠍子)是高通根據Cortex-A8修改的,關鍵的特點是同頻下更加節能約30%左右,現在的驍龍820以及835採用的是Kryo架構[27],其中820是Kryo,835是其升級版Kryo280。

       題外話:華為早在2013年已經取得了ARM的架構授權,即華為可以對ARM原有架構進行改造和對指令集進行擴充套件或縮減。從2013年至今華為麒麟處理器已經從910更新到960。依照華為公司對技術的執著和對未知領域探索的熱情。他們沒有理由不對ARM原有架構進行改造和優化,加入自身對架構的獨特理解。也就是說,在華為麒麟處理器中所使用的A53+A72架構中已經擁有自己的技術和創新(這種創新就類似於原來三星蜂鳥對Coretex-A8的那種小小的改動)。其實,蘋果處理器所採用的的架構也是從ARM架構上演變來的。所以,華為麒麟處理器以後肯定會出自己的架構,不過這需要長時間的研製和技術的積累。即:推出類似於高通的Scorpion、Krait、Kryo、三星的Mongoose,蘋果的Swift(基於ARMv7)、Cyclone、TYphoon、Twister,英偉達的Denver這些東西。

       下面是幾款SoC的圖形:


下面是兩款ARM公版(ARM核心)——Cortex-A73和Cortex-A15的結構:

[10]

[11]



參考:

[1] 驍龍835、麒麟960、蘋果A10!到底誰才是強者!

[2] 一圖看懂海思處理器發展史,華為自家構架還有多少路要走?

[3] 高通和ARM的關係

[4] ARM的發展歷程

[5] ARMv8架構的cortexA57、cortexA53

[6] ARM Cortex A8、A9以及高通Scorpion處理器詳解

[7] ARM核心全解析,從ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57


介紹蘋果、高通、三星、華為的晶片設計之路,也就是高通和蘋果在自己的自主架構上走的比較遠,華為的自主架構的道路還任重而道遠啊

[8] 公版ARM架構是王道 自主CPU沒一點用?

[9] 不滿足ARM公版 市面上有哪些自主架構SoC?


解讀ARM的公版結構+圖形模組表示

[10] 全面解讀ARM Cortex-A73架構,號稱面積最小核心果然不是蓋的

[11] Cortex-A15 簡單介紹

[12] 效能暴增30%還省電!ARM Cortex-A73架構解讀


手機開發板上面常見晶片介紹(現在一般ram和處理器整合在一起(但是這種整合都是為了減少主機板體積將ram的引腳做到CPU的正面,因為畢竟CPU和記憶體之間的引腳是比較多的。也就是說CPU兩面都是焊盤,說白了只是兩個獨立封裝的晶片疊焊在一起,就是所謂的 pop [21]),rom一個單獨的晶片,電源管理晶片也是單獨的一個晶片)

[13] 從手機到開發板,無處不在的Qualcomm——DragonBoard 410C開發板評測,——附圖開發板上面主要晶片介紹

[14] 高通cpu型號前面的MSM、QSD、APQ分別代表什麼意思?

[15] 高通證實MSM8998就是驍龍835

[16] 小米6拆機——主機板上各晶片介紹(驍龍835)

[17] 小米4c拆機——主機板上各晶片介紹(驍龍808)

[18] 小米6拆機視訊高清

[19] Hikey開發板外形及各晶片介紹(Kirin620

[20] 簡評海思Kirin620

[21] 怪不得高通CPU的手機佔用執行記憶體這麼高、圖形處理能力這麼強,原來高通晶片的顯示記憶體是建立在執行記憶體上的


[22] 手機網路型別CDMA、GSM、WCDMA是什麼意思?

[23] 腳踏實地的“蜂鳥”到”蓋樂世“:三星移動處理器歷代記

[24] 輕鬆讀懂移動處理器 CPU微架構全解析


[25] 蘋果A11與A10相比提升了多少?蘋果A11處理器引數詳解

[26] 詳解蘋果Face ID,將讓深度攝像頭成主流


[27] 哪裡不一樣:驍龍835相比驍龍820升級在了哪

[28] 一篇文章讀懂ARM指令集架構(附ARM授權使用方及相關產品目錄)



相關文章