ARM 授權費用太貴 科技巨頭欲轉向開源架構 RISC-V
不久前,特斯拉加入 RISC-V 基金會,並考慮在新款晶元中使用免費的 RISC-V 設計。至此,已有 IBM、NXP、西部數據、英偉達、高通、三星、谷歌、華為等 100 多家科技公司加入 RISC-V 陣營。出現這種現象的原因一方面是因為 ARM 的授權費用實在太貴了,另一方面也是因為 RISC-V 提供指令集徹底開放,非常有希望成為 CPU 領域的 Linux。
正是因為看好 RISC-V 的未來,不少科技巨頭在 RISC-V 還是潛力股的時候趁早下注。
RISC-V 的誕生
在 2010 年,加州大學伯克利分校的一個研究團隊正在準備啟動一個新項目,而要設計 CPU,必然要選擇一種指令集,然而,X86 指令集被英特爾控制的死死的,ARM 的指令集授權費又非常貴,MIPS、SPARC、PowerPC 也存在知識產權問題。
在這種情況下,伯克利的研究團隊決定從零開始設計一套全新的指令集。且這款新指令集要能滿足從微控制器到超級計算機等各種尺寸的處理器。 正如行業內常說的,設計一套指令集並非黑科技,用這套指令集去實現 CPU 才是真正具有含金量的工作。伯克利的研究團隊直用了 3 個月就完成了 RISC-V 的指令集,並公開發布了第一版指令集。
該指令集的第一個版本只包含了不到50條指令,可以用於實現一個具備定點運算和特權模式等基本功能的處理器。如果用戶需要的話,也可以根據自己的需求自定義新指令。
這樣一來,這套指令集兼具精簡和靈活兩大特點。隨後,伯克利的研究團隊將這個新指令集命名為 RISC-V,RISC 指的是精簡指令集的意思,V 是羅馬字母,代表第五代的意思。因為伯克利分校的 David Patterson 教授在此之前已經研製了四代處理器晶元。
更關鍵的是,伯克利研究團隊將 RISC-V 指令集徹底開放,使用 BSD License 開源協議,這就使 RISC-V 不像 ARM、PowerPC 等指令集那樣需要付費授權才能使用。而且 BSD 開源協議給予使用者很大自由,允許使用者修改和重新發布開源代碼,也允許基於開源代碼開發商業軟體發布和銷售。怎麼說呢,像Linux 的 GPL 協議,就限制了商業公司的行為。而 BSD 開源協議則不同,蘋果的 iOS 就基於 BSD 內核,但使用開源軟體之後,因為 BSD 開源協議給了蘋果很大的自由度,蘋果依舊可以將 iOS 閉源並在商業市場賺錢。
對於大學和科研院所等學術機構來說,RISC-V 也是非常有價值的。中科院計算所包雲崗研究員團隊在做一個項目時,最初選擇了 SUN 的 Open Sparc T1,然而這款處理器的社區活躍度和軟體支持都不行,而且獨立性比較差。然後又選擇了 Micro Blaze,然而這款處理器卻不開源。最後把目光轉向了 RISC-V,並完成了科研項目。相關技術成果被華為用在海思的 ARM CPU 上。
正是因為 RISC-V 選擇了對商業公司非常友好的 BSD 開源協議,以及 RISC-V 兼具精簡和靈活等優點,眾多商業公司紛紛關注 RISC-V。
RV12 RISC-V 處理器
RISC-V 有望複製 Linux 的成功
目前,在 CPU 上,X86 和 ARM 是兩大霸主。然而這兩位霸主都非常霸道,英特爾根本不允許除 AMD和 VIA 之外的任何一家公司使用 X86 指令集,而且一旦 AMD 被收購,X86 指令集授權都要重新談判。即便是全美達想通過翻譯打插邊球,結果也被英特爾用專利訴訟拖死了。
類似的,ARM 雖然比英特爾好一些,但也僅僅是好一些而已。在指令集授權上也非常吝嗇,獲得 ARM32 授權的公司一隻手都能數的過來,ARM64 授權雖然多一些,但授權費卻異常昂貴,法國晶元創業公司Greenwave 表示,他們如果使用 ARM 架構,要花掉 1500 萬美元的授權費。而且授權到期後,是否繼續授權和授權費用都要重新談判。
正是因為 X86 和 ARM 在授權上異常苛刻,很多大公司都對英特爾和 ARM 非常不滿,而這恰恰給了 RISC-V 這樣的後起之秀機會。包括谷歌、華為、IBM、鎂光、英偉達、高通、三星、西部數據等商業公司,以及加州大學伯克利分校、麻省理工學院、普林斯頓大學、ETH Zurich、印度理工學院、洛倫茲國家實驗室、新加坡南洋理工大學以及中科院計算所等學術機構紛紛加盟 RISC-V。在 2017 年 11 月召開的第 7 屆 RISC-V Workshop 上,全球共有 138 個公司、35 所大學與研究機構參會。
除了商業公司和學術機構之外,印度政府更是對 RISC-V 情有獨鍾。在 2011 年,印度開始實施處理器戰略計劃,在全國範圍資助 2-3 個研製處理器的項目。印度理工學院馬德拉斯分校的 G. S. Madhusudan 與 V. Kamakoti 教授在該計劃支持下啟動了 SHAKTI 處理器項目。SHAKTI 項目就選擇了 RISC-V,並獲得印度政府超過 9000 萬美元的經費支持。
在 2016 年,印度先進計算髮展中心獲得印度電子信息技術部 4500 萬美元的資助,目標研製一款基於 RISC-V 指令集的 2GHz 四核處理器。
在過去數年中,印度政府資助的處理器相關項目都開始向 RISC-V 靠攏,RISC-V 成為了印度的事實國家指令集。
目前,伯克利研究團隊已經完成了基於 RISC-V 指令集的順序執行的 64 位處理器核心(代號為 Rocket),並前後基於 45nm 與 28nm 工藝進行了 12 次流片。Rocket 晶元主頻大於 1GHz,與 ARM Cortex-A5 相比,實測性能較之高 10%,面積效率高 49%,單位頻率動態功耗僅為 Cortex-A5 的 43%。在嵌入式領域,Rocket 已經可以和 ARM 爭市場了。
正是因此,西部數據聲明,每年將使用 10 億個 RISC-V 核;英偉達也宣布,將把 RISC-V 用於 GPU 內部的控制器。美國 DARPA 也資助一些公司基於 RISC-V 設計航天器的宇航晶元;還有眾多商業公司計劃基於 RISC-V 開發面向 IoT 的智能晶元,面向安全的晶元,以及伺服器上的主板管理控制器等。在軟體生態方面,也逐步在完善,比如調試工具鏈、中斷控制器、JVM、LLVM、Python 等開發者常用的軟體工具都在完善之中。
正是依靠開源和免費,全世界的商業公司、學術機構都可以開發兼容 RISC-V 指令集的處理器,而且不需要支付一分錢的費用。這使 RISC-V 有望被全球的開發者廣泛應用,並複製 Linux 的奇蹟。何況 RISC-V 的 BSD 開源協議,比 GPL 協議對商業公司更加友好,使商業公司有很強的動力去推動這件事。
結語
誠然,依靠開源和免費,RISC-V 非常受大學和科研院所青睞,並有望在教學領域大展拳腳,而這又會給 RISC-V 培養源源不斷的後備軍。對於商業公司來說,由於 ARM 的授權費實在是太貴了,也有較強的動力去做 RISC-V,給自己留一個備份,避免被綁死在 ARM 上。
不過,RISC-V 也存在一個隱憂,那就是缺乏強有力的主導者,進而導致破碎化的問題。當年的MIPS其實也非常學院派,MIPS 陣營的商業公司可以自由添加指令,比如龍芯就以 MIPS 為基礎添加了 1000 多條新指令,進而形成了自己的指令集 LoongISA。這又使開發軟體的時候,即便同樣屬於 MIPS,也必須分為龍芯版和 MIPS 版……
由於 RISC-V 也允許用戶自己加新指令,這就有可能使 RISC-V 破碎化,也許未來華為、高通、谷歌開發出的 RISC-V 處理器雖然都屬於 RISC-V,但卻不能跑同樣一套軟體。
畢竟完全開放與有力的領導是一對矛盾,如果無法解決這個問題,恐怕 RISC-V 很難成長到能與 X86 和ARM 爭雄的水平。
※Windows Server 2016 與 Linux 的一些網路性能測試
※育碧開發了一個 AI 工具,能快速找出代碼中的 Bug
TAG:OSC開源社區 |