ARM架構是什麼?為什麼高通三星都依賴他?
近十年的移動互聯網發展,讓智能手機大規模普及,也帶火了一個曾經並不為人廣泛知道的公司——ARM。這家成立於英國劍橋的芯片設計公司在1985年研發出了精簡指令集架構處理器,名為Acorn RISC Machine,而簡稱就是著名的ARM。作為一家處理器設計公司,其研發的ARM架構最初面向的是低功耗、低成本、高性能處理器。
ARM架構是一種採用獨特的ARM指令集系統、並且根據不同適用範圍開發的處理器體系結構。經過30多年的發展,目前ARM架構有針對不同類型計算設計的體系結構。簡單來說有這幾種。
Cortex-A:針對高性能計算。如我們目前手機 SoC中常出現的Cortex-A76等。
Cortex-R:針對實時操作處理。主要是面向嵌入式實時處理器。在汽車的電子製動系統,工業控制領域等領域比較常見。
Cortex-M:專為低功耗、低成本系統設計。目前火熱的IoT領域常常見到採用Cortex-M架構的處理器。
ARM架構,更主要的是ARM指令集系統。不同於x86架構的複雜指令集(CISC)架構,是一種精簡指令集(RISC)架構。相對於CISC架構處理器,採用精簡指令集設計的ARM架構設計目標是能在盡量高的時鐘頻率下通過很少週期執行的指令集。大幅減少不常用的指令,降低芯片複雜度。採用Load/Store指令體系結構,處理器通過load、store指令存取內存中的數據,針對邏輯、算術等運算,CPU只處理寄存器中的數據。同時由於這個原因,包括ARM在內的很多RISC架構處理器都有很多寄存器來存放指令及數據。為了方便指令的解碼,雖然ARM處理器不是單週期指令,但是其絕大多數指令是定長的,加快了常用操作的速度。
同時ARM也沒有完全局限於此,ARM架構還有像Thumb指令集、條件執行等技術,進一步提高處理器效率。
所以總結來說,ARM架構就是採用精簡指令集計算機結構、但有自己特色,根據不同用途有不同型號的處理器架構。
那麼為什麼高通、三星都以來ARM架構呢?
有以下幾點原因可供參考。
首先是授權。眾所周知,x86架構由於授權問題只有幾家可以生產,包括現在的Intel、AMD,曾經的威盛。而全美達也只是生產出了基於純軟件模擬x86處理器的CPU。國內的兆芯及海光也有一定的授權限制。
除了x86外,另一套著名的指令集系統MIPS是可以授權生產的,雖然授權費用比較貴,但是其靈活性極高,所以出現了比較嚴重的“碎片化”。有能力設計的都在自主設計微架構、添加指令等。如國內的龍芯、索尼的PSP遊戲機等。
而ARM的授權方式有多種。首先是處理器授權,這種授權方式只授權已經設計好的內核,工廠等買到後自己發揮的餘地不多。如海思部分麒麟處理器就是採用這種方式。還有一種是架構/指令集授權,這種方式在微結構設計上有更多的靈活性,如蘋果的vortex,三星的M3、M4、高通的Krait等。同時即使廠商在定制自己的微架構,但是在指令集上有限制,這樣即使廠商修改軟件層面如編譯器等工具,也不需要大更改。所以出現了現在Android手機處理器多家爭鳴的情況。既保證了兼容性,廠商又能充分發揮。所以高通、三星等廠商選擇ARM處理器也是最好的選擇。
雖然現在MIPS及IBM的Power架構也已開源,而且現在也有RISC-V這樣一開始就開源且已初具規模的開源指令集及架構,但是獨特的授權策略讓ARM擁有了一批忠實擁躉。
其次是適用範圍。雖然ARM架構在強調低功耗高性能,但是其在近幾年前適用範圍還是相對較窄的,一直活躍在嵌入式、手持設備等低功耗領域。合作夥伴也是多生產低功耗處理器。甚至Intel也曾經出品過基於ARM指令集的XScale處理器,Dell曾經生產過基於這個處理器的PDA(恍如隔世,很老的概念了)。而本世紀頭十年最火的手機品牌諾基亞的塞班智能手機中也使用過ARM11架構的處理器。而現在高通、三星是重要的手機SoC設計生產商,所以他們選擇ARM架構不僅可以迅速切入低功耗處理器市場,而且也可以藉助ARM的豐富經驗快速設計出強大的處理器。
最後就是乘上了移動互聯網的東風,在智能手機最需要計算性能的時候提供了足夠的性能,為處理器設計生產廠商提供了足夠的經驗。ARM公司早在2002年(距2019年已經17年了)就開發出了ARM11架構及處理器。而到了8年之後的2010年,依舊有手機使用ARM11架構處理器的手機,如曾經小編使用過的摩托羅拉ME600後空翻使用的是高通MSM7201A SoC,其CPU部分就是ARM11架構。而隨後Cortex-A8早在2005年就研發完成了。所以等Android手機開始興起時,ARM公司及其合作夥伴就已經擁有足夠的經驗了,而性能也符合當時Android手機的需求。現在高通的驍龍處理器及三星的Exynos處理器在Android手機界是重要的組成部分,所生產的SoC CPU部分都是採用ARM設計的內核或指令集的。
高通,三星等公司就是因為與ARM公司緊密的合作讓我們擁有了現在這麼強大的智能手機,所以他們算是休戚與共了。同時高通、三星在依賴ARM提供的處理器架構、指令集的同時,ARM也需要像三星、台積電等公司的支持,將還是代碼的處理器內核編程實際的矽芯片。所以這並不是一個誰依賴誰的問題,而是各方通力合作的結果。