RISC-V架構主要由美國加州大學伯克利分校(簡稱伯克利)的Krste Asanovic教授、Andrew Waterman和Yunsup Lee等開發人員于2010年發明,并且得到了計算機體系結構領域的泰斗David Patterson的大力支持。伯克利的開發人員之所以發明一套新的指令集架構,而不是使用成熟的x86或者ARM架構,是因為這些架構經過多年的發展變得極為復雜和冗繁,并且存在著高昂的專利和架構授權問題。并且修改ARM處理器的RTL代碼是不被支持的,而x86處理器的源代碼根本不可能獲得到。其他的開源架構(譬如SPARC、OpenRISC)均有著或多或少的問題(第2章將詳細論述)。有感于計算機體系結構和指令集架構已經過數十年的發展非常成熟,但是像伯克利這樣的研究機構竟然“無米下鍋”(選擇不出合適的指令集架構供其使用)。伯克利的教授與研發人員決定發明一種全新的、簡單且開放免費的指令集架構,于是RISC-V架構誕生了。
有關RISC-V的誕生,有興趣的讀者可以自行到網絡中查閱文章《伯克利希望將RISC-V開源架構推向主流》。
RISC-V(英文讀作“risk-five”),是一種全新的指令集架構。“V”包含兩層意思,一是這是Berkeley從RISC I開始設計的第五代指令集架構;二是它代表了變化(Variation)和向量(Vectors)。
經過幾年的開發,伯克利為RISC-V架構開發除了完整的軟件工具鏈以及若干開源的處理器實例,得到越來越多的人的關注。2016年,RISC-V基金會(Foundation)正式成立開始運作。RISC-V基金會是一個非營利性的組織,負責維護標準的RISC-V指令集手冊與架構文檔,并推動RISC-V架構的發展。
RISC-V架構的目標如下。
成為一種完全開放的指令集,可以被任何學術機構或商業組織所自由使用。
成為一種真正適合硬件實現且穩定的標準指令集。
RISC-V基金會負責維護標準的RISC-V架構文檔和編譯器等CPU所需的軟件工具鏈,任何組織和個人可以隨時在RISC-V基金會網站上免費下載(無須注冊)。
RISC-V的推出以及基金會的成立,受到了學術界與工業界的巨大歡迎。著名的科技行業分析公司Linley Group 將RISC-V評為“2016年最佳技術”,如圖1-12所示。
開放而免費的RISC-V架構誕生,不僅對于高校與研究機構是個好消息;為前期資金缺乏的創業公司、成本極其敏感的產品、對現有軟件生態依賴不大的領域,都提供了另外一種選擇,而且得到了業界主要科技公司的擁戴,包括谷歌、惠普、Oracle和西部數據等硅谷巨頭都是RISC-V基金會的創始會員,如圖1-13所示。眾多的芯片公司已經開始使用(譬如,三星、英偉達等)或者計劃使用RISC-V開發其自有的處理器用于其產品。
RISC-V基金會組織每年舉行兩次公開的專題討論會(Workshop),以促進RISC-V陣營的交流與發展,任何組織和個人均可以從RISC-V基金會的網站上下載到每次Workshop上演示的PPT與文檔。RISC-V第六次Workshop于2017年5月在中國的上海交通大學舉辦,如圖1-14所示,吸引了大批的中國公司和愛好者參與。
由于許多現在主流的計算機體系結構英文教材(譬如,計算機體系結構量化研究方法、計算機組成與設計等)的作者本身也是RISC-V架構的發起者,因此這些英文教材都相繼推出了以RISC-V架構為基礎的新版本教材,如圖1-15所示。這意味著美國的大多數高校都將開始采用RISC-V作為教學范例,也意味著若干年后的高校畢業生都將對RISC-V架構非常熟知。
但是,一款指令集架構(ISA)最終能否取得成功,很大程度上取決于軟件生態環境。羅馬不是一天建成的,x86與ARM架構經過多年的經營,構建了城寬池闊的軟件生態環境,可以說是兵精糧足,非常強大。因此,作者認為RISC-V架構在短時間內還無法對x86和ARM架構形成撼動。但是隨著越來越多的公司和項目開始采用RISC-V架構的處理器,相信RISC-V的軟件生態也會逐步壯大起來。
本節雖然陳述了若干RISC-V蓬勃發展的具體案例,但是由于RISC-V陣營正在快速地向前發展,可能在本書成書之時,RISC-V陣營又誕生了更加令人欣喜的案例,請讀者自行查閱互聯網更新見聞。
1.6 原來你是這樣的“薯片”——ARM的免費計劃
在第1.5節中我們提到,RISC-V架構的特點是開放而且免費,并且成立了專門的基金會組織推動其發展,這是以前任何一種處理器架構都不曾有過的。這種新的模式是否會對現有的商業處理器架構形成沖擊呢?ARM與Intel這樣的行業巨頭商業公司是否會感到壓力呢?不得不客觀地說,RISC-V基金會誕生的時間還很短暫,RISC-V架構的生態目前還不夠強大,遠遠沒有到達威脅到ARM與Intel的程度,因此ARM與Intel并未在任何公開的場合對RISC-V發表過評價。
在第1.4.1節中我們已經提到過ARM的商業模式,芯片公司每設計一款芯片,如果購買了ARM公司提供的“ARM處理器”,芯片公司需要支付一筆前期授權費。之后,如果該芯片被大規模生產銷售,每賣出一片芯片均需要按其售價向ARM公司支付一定比例的版稅。但是在2017年6月,ARM宣布了Cortex-M3和Cortex-M0兩款處理器的免前期授權費計劃。這意味著自此之后ARM Cortex-M系列的兩款處理器M0和M3均被免除了早期授權費,用戶僅需在量產芯片后向ARM逐片支付版稅即可。這對于廣大使用Cortex-M處理器的芯片公司而言無疑是個好消息。
有評論表示,ARM之所以這樣做可能也是對目前如火如荼的開放RISC-V架構的一種阻擊。當然,作者認為這只是某些看客們毫無根據的個人觀點,真實性不具備任何可考性。不過無論如何,作者認為,有競爭、有活力的市場,總比一家獨大的寡頭壟斷要有趣得多。