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