天天看點

RISC-V與ARM1. ARM2. RISC-V3. ARM與RISC-V的差別4. RISC-V相對于ARM架構的優勢和劣勢5. ARM與RISC-V的競争6. 小插曲:ARM 和 RISC-V 公然開撕7. RISC-V處理器

參考資料:

第五代精簡指令集計算機RISC-V你了解多少?

ARM與RISC-V架構的差別

ARM與RISC-V的恩愛情仇

1. ARM

1991 年ARM 公司成立于英國劍橋,早期ARM也自主設計和生産晶片,但由于業績平平,最後ARM改變了政策,他們不再生産晶片,轉而以授權的方式,将晶片設計方案轉讓給其他公司。

ARM有三種授權方式:處理器、POP以及架構授權。

RISC-V與ARM1. ARM2. RISC-V3. ARM與RISC-V的差別4. RISC-V相對于ARM架構的優勢和劣勢5. ARM與RISC-V的競争6. 小插曲:ARM 和 RISC-V 公然開撕7. RISC-V處理器

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架構就是采用精簡指令集計算機結構、但有自己特色,根據不同用途有不同型号的處理器架構。

2. RISC-V

RISC:Reduced Instruction Set Computer,即精簡指令集計算機。

RISC-V是基于RISC原理建立的免費開放指令集架構(ISA),V是羅馬字母,代表第五代RISC(精簡指令集計算機),可讀作RISC-FIVE。

RISC-V與ARM1. ARM2. RISC-V3. ARM與RISC-V的差別4. RISC-V相對于ARM架構的優勢和劣勢5. ARM與RISC-V的競争6. 小插曲:ARM 和 RISC-V 公然開撕7. RISC-V處理器

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系統,采用子產品化設計,擁有完整工具鍊。

3. ARM與RISC-V的差別

ARM架構和RISC-V架構都源自1980年代的精簡指令計算機RISC,兩者最大的不同就在于其推崇的大道至簡的技術風格和徹底開放的模式。

ARM是一種封閉的指令集架構,衆多隻用ARM架構的廠商,隻能根據自身需求,調整産品頻率和功耗,不得改變原有設計,經過幾十年的發展演變,CPU架構變得極為複雜和冗繁,ARM架構文檔長達數千頁,指令數目複雜,版本衆多,彼此之間既不相容,也不支援子產品化,并且存在着高昂的專利和架構授權問題。

反觀RISC-V,在設計之初,就定位為是一種完全開源的架構,規避了計算機體系幾十年發展的彎路,架構文檔隻有二百多頁,基本指令數目僅40多條,同時一套指令集支援所有架構,子產品化使得使用者可根據需求自由定制,配置不同的指令子集。

4. RISC-V相對于ARM架構的優勢和劣勢

  1. 優勢

    RISC-V是一種開放的架構,從曆史的經驗來看,開放的生态一定會比封閉的好。RISC-V技術是後發技術,是以能夠總結前人的經驗教訓,做到相對簡潔和幹淨。

  2. 劣勢

    由于RISC-V誕生時間太短,相關的編譯器、開發工具和軟體開發環境(IDE)以及其它生态要素還在發展。目前RISC-V具有全套開源免費的編譯器、開發工具和軟體開發環境,這是RISC-V的巨大優勢,但是開源版本相比ARM的商用編譯器和IDE而言,還頗有差距。

5. ARM與RISC-V的競争

目前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的免費的特點并沒有帶來特别大的優勢。

6. 小插曲:ARM 和 RISC-V 公然開撕

之前特斯拉加入 RISC-V 基金會,并考慮在新款晶片中使用免費的 RISC-V 設計。

一些科技巨頭如IBM、華為、西部資料、高通、英偉達、三星、谷歌、NXP等 100 多家公司也加入了 RISC-V 的陣營。

出現此現象是因為 ARM 的授權費用實在太貴了,另一方面是因為 RISC-V 提供指令集開放。

此時,ARM 感受到了壓力,ARM 在2018年6月底建立一個域名為 riscv-basics.com 的網站。

裡面的内容主題為“設計系統晶片之前需要考慮的五件事”,從成本、碎片化風險、生态系統、安全性和設計保證上對 RISC-V 進行“攻擊”。

此舉自然引起了 RISC-V 的強烈不滿,同年7月,RISC-V 也建立一個域名為 arm-basics.com 的網站,對 ARM 進行反擊,并呼籲廠商采用真正自由的架構 RISC-V。

最後,ARM發言人承認了“質疑RISC-V架構的網站”确實是ARM釋出的,“本意是為了增進大家讨論晶片架構,而不是惡意攻擊RISC-V”,并且宣布已經将該網站下線。

7. RISC-V處理器

基于RISC-V架構的處理器目前有很多了,網上其實羅列了很多:

RISC-V與ARM1. ARM2. RISC-V3. ARM與RISC-V的差別4. RISC-V相對于ARM架構的優勢和劣勢5. ARM與RISC-V的競争6. 小插曲:ARM 和 RISC-V 公然開撕7. RISC-V處理器