關注+星標公眾號,不錯過精彩內容
編排 | strongerHuang
微信公眾號 | 嵌入式專欄
ARM架構是一種採用獨特的ARM指令集系統、並且根據不同適用範圍開發的處理器體系結構。經過30多年的發展,目前ARM架構有針對不同類型計算設計的體系結構。
比如我們經常聽說的Cortex-A、Cortex-R、 Cortex-M處理器等。
ARM架構,更主要的是ARM指令集系統。不同於x86架構的複雜指令集(CISC)架構,是一種精簡指令集(RISC)架構。相對於CISC架構處理器,採用精簡指令集設計的ARM架構設計目標是能在儘量高的時鐘頻率下通過很少周期執行的指令集。
大幅減少不常用的指令,降低晶片複雜度。採用Load/Store指令體系結構,處理器通過load、store指令存取內存中的數據,針對邏輯、算術等運算,CPU只處理寄存器中的數據。同時由於這個原因,包括ARM在內的很多RISC架構處理器都有很多寄存器來存放指令及數據。為了方便指令的解碼,雖然ARM處理器不是單周期指令,但是其絕大多數指令是定長的,加快了常用操作的速度。
同時ARM也沒有完全局限於此,ARM架構還有像Thumb指令集、條件執行等技術,進一步提高處理器效率。
這裡可以參看我之前分享的文章:ARM 和 x86 有什麼區別?
所以總結來說,ARM架構就是採用精簡指令集計算機結構、但有自己特色,根據不同用途有不同型號的處理器架構。
RISC:Reduced Instruction Set Computer ,即精簡指令集計算機。RISC-V是基於RISC原理建立的免費開放指令集架構(ISA),V是羅馬字母,代表第五代RISC(精簡指令集計算機),可讀作RISC-FIVE。
1981年,在David Patterson的帶領下,加州大學伯克利分校的一個研究團隊起草了RISC-1,這就是今天RISC架構的基礎。RISC-1原型晶片有44500個電晶體,擁有31條指令。包含78個32位寄存器,分為6個窗口,每個窗口包含14個寄存器,另外還有18個全局變量,寄存器佔用大部分面積,控制和指令只佔用晶片面積的6%,而同時代的晶片設計裡要佔用約50%的面積。 隨後在1983年發布了RISC-II原型晶片,包含138個寄存器,分為8個窗口,每個窗口有16個寄存器,另外還有10個全局變量,但是只有39000個電晶體。接著在1984年和1988年發布了RISC-III和RISC-IV。 2010年,Patterson教授的研究團隊準備啟動一個新項目,需要設計CPU,因而要選擇一種指令集。他們調研了包括arm、MIPS、SPARC、X86等多個指令集,發現它們不僅設計越來越複雜,而且還存在智慧財產權問題。 RISC-V(第五代精簡指令集)是David Patterson教授基於其30多年在精簡指令集RISC領域的深入積累,在2010年到2014年期間帶領團隊研發出的最新一代CPU晶片設計指令集。RISC-V是基於精簡指令集計算(RISC)原理建立的開放指令集架構(ISA),RISC-V是在指令集不斷發展和成熟的基礎上建立的全新指令。RISC-V指令集完全開源、設計簡單、易於移植Linix系統,採用模塊化設計,擁有完整工具鏈。 關於RISC-V的更多內容可以參考文章:第五代精簡指令集計算機RISC-V你了解多少?ARM架構和RISC-V架構都源自1980年代的精簡指令計算機RISC,兩者最大的不同就在於其推崇的大道至簡的技術風格和徹底開放的模式。
ARM是一種封閉的指令集架構,眾多只用ARM架構的廠商,只能根據自身需求,調整產品頻率和功耗,不得改變原有設計,經過幾十年的發展演變,CPU架構變得極為複雜和冗繁,ARM架構文檔長達數千頁,指令數目複雜,版本眾多,彼此之間既不兼容,也不支持模塊化,並且存在著高昂的專利和架構授權問題。 反觀RISC-V,在設計之初,就定位為是一種完全開源的架構,規避了計算機體系幾十年發展的彎路,架構文檔只有二百多頁,基本指令數目僅40多條,同時一套指令集支持所有架構,模塊化使得用戶可根據需求自由定製,配置不同的指令子集。 RISC-V是一種開放的架構,從歷史的經驗來看,開放的生態一定會比封閉的好。RISC-V技術是後發技術,所以能夠總結前人的經驗教訓,做到相對簡潔和乾淨。 由於RISC-V誕生時間太短,相關的編譯器、開發工具和軟體開發環境(IDE)以及其它生態要素還在發展。目前RISC-V具有全套開源免費的編譯器、開發工具和軟體開發環境,這是RISC-V的巨大優勢,但是開源版本相比ARM的商用編譯器和IDE而言,還頗有差距。 目前ARM佔據了以行動裝置為代表的處理器IP的絕大部分市場,而RISC-V則是後起之秀。ARM與RISC-V的競爭有點像上世紀末的Windows和Linux之爭,ARM和RISC-V的未來競爭格局也可能類似。 首先幾乎可以肯定的是,在ARM的傳統優勢領域,即手機領域,RISC-V基本沒有機會,因為手機經過十年迭代後不太會徹底改變處理器內核了,這也和目前Windows經過二十多年風雨仍然是PC市場作業系統龍頭老大一樣。但是,在新興的領域,RISC-V和ARM都處於同一起跑線上,而RISC-V憑著指令集開源等特性很有可能可以擊敗ARM,或者至少能夠佔據可觀的市場份額。 目前這樣的新興市場主要是物聯網市場,物聯網市場有長尾化的特性,擁有眾多細分市場,同時對於功耗有很高的要求,因此對於可以針對不同應用靈活修改指令集和晶片架構設計的RISC-V有優勢,相比之下使用ARM往往只能做一個標準化設計,很難實現差異化。此外,物聯網市場對於成本較敏感,RISC-V免費授權的特點對於晶片廠商也很重要。 在RISC-V基金會名單中,我們可以看到高通、聯發科這樣重點布局物聯網的企業。而在目前很火的AI晶片市場,ARM和RISC-V則尚看不出明顯的優劣。這是因為高性能AI晶片中無論是使用ARM還是RISC-V的核,主要都是作為控制器來使用,最主要的也是最核心的計算單元往往是電路設計師自行設計而不會使用IP;另一方面AI晶片的利潤空間往往較大,因此RISC-V的免費的特點並沒有帶來特別大的優勢。免責聲明:本文素材來源網絡,版權歸原作者所有。如涉及作品版權問題,請與我聯繫刪除。
-- END --點擊「閱讀原文」查看更多分享,歡迎點分享、收藏、點讚、在看。