[原創] RISC-V登場,Intel和ARM會怕嗎?

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

在2015年12月的Nature網站上,由U.C. Berkeley等幾個大學的研究人員主導的一個開發團隊發表了一篇文章。

文章中研究人員用標準的CMOS工藝製造了同時集成了RISC-V指令集的CPU和片上光通信器件的微晶片。

這或許標誌著不久的未來微電子晶片的接口速率將會大幅的提高,不再受到原先電接口IO的速率限制。

不過本篇文章要關注的,則是在這顆實驗性的晶片上集成的另外一個主角,"RISC-V"(發音risk-five)。

1

CPU指令集(ISA)

軟體和硬體之間溝通的橋樑

指令集(ISA)通俗地講可以理解為一台機器(計算機中的CPU)可以執行的「指令」集合,通過這些「指令」能夠實現諸如加減乘除這樣的運算,以及接收外部輸入(比如鍵盤)和控制外部輸出(如顯示器)這樣的功能。

指令集也可以理解為軟體和硬體之間溝通的橋樑,不同的廠家可能會用不同的方法來實現相同的指令集,從而讓遵循相同指令集的軟體可以無需修改即可運行。

比如我們熟知的Intel和AMD都實現了x86指令集,這基本上統治了PC的市場。

而出現較晚的ARM指令集則基本占領了移動端處理器的大部分市場。

2

RISC指令集的發展歷史

1980年Berkeley主導了RISC

了解了什麼是指令集接下來還是讓我們來聊聊RISC的發展歷史。

早期的微處理器大部分為複雜指令集(CISC)架構,即設計儘可能複雜的指令來完成任務 ,原因之一是當時的編譯技術並不發達。

而隨著編譯器技術以及其他技術的發展,研究人員漸漸發現多數的複雜指令只在很少的時候被用到,而且複雜的指令限制了處理器速度的進一步提高。

精簡指令集(RISC)技術應運而生,IBM 801可能是第一個用精簡指令集的理念來設計的系統,並發展成為了今天的Power架構。

1980年左右Berkeley的Dave Patterson主導了Berkeley RISC項目並設計了其第一代的處理器RISC I,這就是RISC這個名稱的由來。

Sun Microsystem(現在的Oracle)的SPARC處理器架構也有很多Berkeley RISC影子在裡面。

差不多同時,斯坦福的教授John Hennessy(現在已經是斯坦福校長)和他的團隊也從課程設計出發設計了MIPS處理器的早期雛形,並最終孵化為MIPS Technologies. Inc公司,後來被 Imagination Technologies收購。

我們能在很多家用路由器里見到他的影子。

而ARM,迄今為止發展的最好的RISC指令集,已經無處不在。

時間到了2010年,當Berkeley的Krste Asanovic教授想要為接下來的一系列項目選擇一個微處理器指令集時,他找不到一個合適的。

Intel的X86是CISC指令集,過於複雜和龐大,而且存在專利問題。

而ARM除了專利問題外,若想自行設計基於ARM指令集的處理器,需要非常昂貴的License。

OpenRISC作為一個開源的指令集架構,其許可證為GPL,這意味著所有的指令集改動都必須開源。

而且,OpenRISC發展緩慢,設計過於老舊,64位架構也不成熟。

3

RISC-V指令集的誕生

"V"也表示變化(variation)和向量(vectors)

這一切都與Berkeley追求「開放「的精神格格不入,要知道從Unix/BSD作業系統到現今在大數據領域流行的Spark框架,他們都是用一個非常寬鬆的名為BSD License的許可證的發布的。

這個License簡言之就是我發布的代碼你想怎麼用怎麼用,不用交錢,改了也不用開源,只要最終致謝作者即可。

蘋果的OSX是基於BSD Unix的,而微軟 Windows中也包含修改過的BSD Unix代碼。

所以Krste教授決定帶領團隊重新開發一個完全開放的、標準的、能夠支持各種應用的新指令集,他也得到了RISC的發明者之一,Dave Patterson教授的大力支持。

從2010年夏天開始,大約花了四年的時間,這個團隊設計和開發了一套完整的新的指令集,同時也包含了移植好的編譯器、工具鏈、仿真器,並經過數次流片驗證。

為了能夠加快開發的效率,以便能夠快速的評估和修改設計以及提高可復用性,Chisel作為一種新的硬體構建語言也被開發了出來。

簡言之,你可以用scala這種函數式程式語言去設計硬體,並最終能夠生成傳統的Verilog HDL用於ASIC/FPGA,或者生成C++用於仿真。

這個新的指令集叫做RISC-V,"V"包含兩層意思,一是這是Berkeley從RISC I開始設計的第五代指令集架構,二是它代表了變化(variation)和向量(vectors)。

4

RISC-V指令集的發展

獲Google、HP、Oracle、WD支持

RISC-V包含一個非常小的基礎指令集和一系列可選的擴展指令集。

最基礎的指令集只包含40條指令,通過擴展還支持64位和128位的運算以及變長指令,其他以完成的擴展包括了乘除運算、原子操作、浮點運算等,正在開發中的指令集還包括壓縮指令、位運算、事務存儲、矢量計算等。

指令集的開發也遵循開源軟體的開發方式,即由核心開發人員和開源社區共同完成。

通過這一系列的指令集擴展,你幾乎可以構建適用於任何一個領域的微處理器,比如雲計算、存儲、並行計算、虛擬化/容器、MCU、應用處理器、DSP處理器等等。

從2015年開始,每半年一次Workshop上已經能夠看到很多有意義的項目。

Berkeley自己開發了多款開源的處理器,可以覆蓋從高性能計算到嵌入式等應用領域,並孵化出了初創公司SiFive並獲得了風投。

lowRISC是一個非營利性組織,主導者是風靡世界的開源硬體樹莓派(Raspberry Pi)的創始人之一,lowRISC正在基於RISC-V開發一款真正的開源處理器晶片,希望以其來代替目前樹莓派上的由博通開發的非開源處理器。

Gary Research在FPGA中放入了400個定製的RISC-V處理器並用片上網絡(NOC)連接在一起用來實現並行計算,未來有可能會被用到微軟的雲計算平台中,例如給Bing這樣的搜尋引擎加速。

2016年初的Workshop上,RISC-V基金會成立,成員中包括了Google、惠普、Oracle、西部數據等矽谷巨頭,未來這些大公司非常有可能會將RISC-V運用到他們自己的雲計算設施或者智慧型手機晶片 中,以擺脫對X86的依賴或是減少昂貴的ARM指令集授權費用。

5

RISC-V指令集的優勢

開放原始碼是不可以逆轉的趨勢

可以說,RISC-V指令集是一個「活」的、現代的、沒有專利問題和沒有歷史包袱的全新指令集,並且以BSD許可證發布。

任何公司都可以在自己的產品中免費使用,而修改也無需再開源。

和成就了ARM的授權模式相比,RISC-V不僅能讓公司收益,也能夠讓大學和研究機構更好地研究新的處理器技術和架構。

要知道,一個ARM指令集架構的許可證可能要上千萬美元。

RISC-V能夠發展至今筆者認為並非偶然。

首先,指令集的開發需要非常專業的團隊和數年的時間,這對於商業公司來說是很困難的,而一流大學的一流團隊恰恰能滿足這樣的條件。

其次,編譯器和FPGA等相關的技術在近十年來的蓬勃發展顯著地降低了新指令集開發和驗證的難度。

再次,指令集通過幾十年的發展,不論是工業界還是學術界都已經研究的非常透徹,很多設計上的技術選擇已經有了現成的答案。

最後,OpenRISC作為一個較為成功的開源指令集項目也有很多可以學習的經驗,使得專業團隊+技術社區這樣的開發模式能夠運作的更好。

從過去的十幾年我們能夠看到的改變是,開放原始碼作為一個不可以逆轉的趨勢,創造了新的商業模式,提高了效率也降低了成本。

我們能夠看到,很多個成功的商業產品都能夠找到與之相匹敵的開源替代,而幾乎所有的技術變革中我們都能夠看到開放原始碼的影子。

從雲計算、大數據到近幾年很火的容器技術,開源已經無處不在。

再看看硬體領域,像樹莓派和Arduino這樣在「板級層面」的開源硬體已經顯著降低了開發者的門檻並讓越來越多的人參與其中。

而在集成電路行業,摩爾定律的終結和人們需求的更加多元化也會使FPGA和ASIC在很多領域 在成本曲線上出現交叉點,而這也將極大的推動開源硬體在晶片領域的蓬勃發展。

6

RISC-V指令集的未來

物聯網、移動計算、人工智慧

當面對一個新的指令集時,一個最常見的顧慮是現有的優質軟體在新指令集的平台上的移植問題。

Wintel聯盟在過去十多年來正是靠著「向後兼容」而成功。

每一代的Intel X86處理器都兼容過去所有的指令,而每一代的新Windows作業系統都基本上兼容過去版本的軟體。

但現在,用戶並不需要過於擔心可移植問題。

首先,開源軟體在這十幾年的飛速發展,已經能夠讓我們在很多領域無需過多擔心軟體移植的問題。

比如在伺服器領域,大部分軟體完全開源,而應用多用腳本語言寫成,可移植性非常好。

其次,很多人或許並不知道,ARM也並不是一個完全向後兼容的指令集,為了能讓ARM CPU運行在不同行業的應用中 ,向後兼容帶來的包袱遠大於其優勢,這對RISC-V來說也是一樣。

最後,總的發展的趨勢是,不論是物聯網、移動計算、網絡服務還是人工智慧,我們都需要成本更低、靈活性更高和可定製性更強的處理器。

而「向後兼容」的重要性會越來越小,並將最終成為過去。

最近全球半導體聯盟(GSA)在一篇報告中大膽的提出這樣的問題:「RISC-V會是開源領域的下一個Linux嗎?」,「半導體行業是開放原始碼最後一塊沒有攻克的陣地嗎?」。

相比十幾年前開源軟體發展的初期階段,如今開源硬體的發展和當時是如此相像。

筆者相信,隨著RISC-V的成熟和更多的大公司加入,它非常有希望去挑戰Intel x86和ARM對市場的統治,從雲計算到物聯網,成為當今這個網際網路世界的最基本的和不可或缺的「輪子」之一。

關於作者:

郭雄飛,目前在景略半導體任嵌入式系統設計經理。

開源軟體和開源硬體愛好者。

景略半導體:

景略半導體由多位矽谷資深海歸於2008年創立,是一家提供從半導體晶片到完整行業應用解決方案的通信公司,致力於提供高速有線/無線通信產品和解決方案並為客戶創造最大價值。

景略在摩爾精英招牛人:

PS:歡迎投稿,一經採用,紅包重謝!投稿郵箱:[email protected];微信:jyzzzz2012

摩爾芯聞(MooreNews):全球半導體行業資訊


請為這篇文章評分?


相關文章 

開放計算伺服器給日常IT帶來創新

模仿是最真誠的讚美方式。如今,複製大型雲服務提供商基礎架構建設的理念正值流行。這些大型雲服務提供商依賴於下一代硬體平台以提供更好的性能表現,同時價格非常具有競爭力。隨著時間的推移,這些雲服務提供...

我們為什麼需要定製化晶片

來源:本文由半導體行業觀察翻譯自praxthoughts,謝謝。如果沒有看過Simon Sinek在TED上的關於激勵措施的演講,我推薦你去看一下這短短二十分鐘的演講視頻。這段視頻涵蓋了大多數公...

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

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

RISC-V打入主流市場的諸多問題

會議推薦來源:semiengineeringRISC-V正進一步打入主流市場,在眾多設計中脫穎而出,並獲得了長期且仍在增長的晶片製造商,工具供應商,大學和代工廠的支持。在大多數情況下,它被用作一...

RISC-V想革ARM的命,先跨過這幾關

來源:本文翻譯自semiengineering ,謝謝。更簡單、更快、更低功耗的硬體,且具有免費、開放、簡單的指令集架構。這聽起來是再好不過的,更高興的是目前RISC-V正在推進這一工作。RIS...

SiFive全新商業模式相助 RISC-V有望加速商業化

談到開源,很容易聯想到開源作業系統,與作業系統隨算法創新及新的應用需求而不斷更新換代相比,指令集體系架構具有更長的生命周期,因而開源指令集似乎更為必要,在開源的大趨勢下,RISC-V近年來已經受...