2018年2月美國新創(chuàng)業(yè)者SiFive(圖1)發(fā)表Freedom U500芯片的技術(shù)細(xì)節(jié),,同月份法國新創(chuàng)芯片商GreenWave也發(fā)表GAP8芯片,,加上后續(xù)相關(guān)消息,,如臺灣晶心科技(Andes)推出AndeSatr V5矽智財(cái)(Intellectual Property, IP)及英特爾(Intel)投資SiFive等,,使RISC-V指令集架構(gòu)(Instruction Set Architecture, ISA)逐漸受業(yè)界關(guān)注,。
圖1 SiFive共同創(chuàng)辦人兼技術(shù)長的Yunsup Lee在2013年于柏克萊分校的Par實(shí)驗(yàn)室手持RISC-V原型品芯片,。圖片來源:維基百科
在上述消息之前,,已有多家科技大廠表明力挺RISC-V,包含三星(Samsung),、NVIDIA,、威騰(Western Digital, WD)等,對此業(yè)界已有零星關(guān)注,,但隨著芯片更貼近商業(yè)化運(yùn)用,,關(guān)注度開始提高。RISC-V指令集架構(gòu)為何,?為何逐漸獲科技大廠與新創(chuàng)業(yè)者的支持,?本文以下將對此剖析討論,。
英特爾/Arm為專屬指令集架構(gòu)
RISC-V是一種開放原始程式碼的指令集架構(gòu),其實(shí)過去業(yè)界很長一段時(shí)間僅稱為指令集(Instruction Set),,但或許為了湊成可縮寫的三個字母而加補(bǔ)上架構(gòu)(Architecture, A)一字,。
指令集指的是一堆組合語言(芯片上最基本原始的語言)指令的集合,一套指令集是由少則數(shù)十個,,多則上百個指令所集合成,,若一顆微控制器、微處理芯片可執(zhí)行該套指令集,,而另一顆也可支援執(zhí)行相同一套指令集,,如此原則上軟體(軟體即是由指令搭組建構(gòu)成)即不需任何改寫,可自由在兩顆芯片間替換運(yùn)用,。
同理,,芯片商推出新一代效能更佳的芯片,通常會采行與前一代相同的指令集,,或完全相容但再加入新的指令,,好確保諸多已開發(fā)的軟體不需要改寫而能相容執(zhí)行保障客戶過往的軟體開發(fā)投資、購買投資,,且執(zhí)行的更快,。
目前市售的芯片中,多數(shù)采英特爾或Arm(Arm)的指令集架構(gòu),,英特爾的指令集架構(gòu)一般稱為x86(過去為8086,、80286、80386,、80486等以86編號為結(jié)尾的系列芯片所用),、IA(Intel Architecture)、IA-32(1982年至2003年間為32位元),、EM64T(Extended Memory 64 Technology)或AMD64/x86-64/x64(64位元版以超微AMD率先主導(dǎo))等,。Arm則直接稱為Arm指令集架構(gòu)。
Intel與Arm的指令集架構(gòu)均屬業(yè)者自有專屬設(shè)計(jì)的專利架構(gòu),,須付費(fèi)才能使用,,Intel的ISA多要購買該公司銷售的CPU芯片才能取得;Arm的ISA則采間接銷售,,芯片商欲采行其ISA須先支付一筆一次性的技術(shù)授權(quán)費(fèi),,而后每生產(chǎn)一顆芯片均會被Arm收取權(quán)利金。
Intel的x86 ISA芯片在PC,、工作站,、伺服器、超級電腦等領(lǐng)域有壓倒性的主占,因此價(jià)格長期居高,,系統(tǒng)商,、終端消費(fèi)者必須負(fù)擔(dān)其成本,雖有少數(shù)芯片商也能生產(chǎn)銷售x86 ISA芯片,,但價(jià)格效能比或供貨上多不若Intel,,且有諸多限制,如AMD雖可使用x86 ISA,,但若之后該公司被購并,,則x86 ISA專利使用權(quán)必須重談,或其他芯片商雖也產(chǎn)制x86相容芯片,,但卻必須支付年專利使用費(fèi)給IBM,以避開Intel可能的訴訟,。
而Arm方面,,Arm的ISA在行動裝置芯片領(lǐng)域有壓倒性市占,并持續(xù)擴(kuò)展到各類嵌入式應(yīng)用領(lǐng)域,。Arm在授權(quán)上提供軟核與硬核形式的授權(quán),,軟核可取得指令集架構(gòu),硬核則只能取得已用某一半導(dǎo)體制程技術(shù)實(shí)現(xiàn)成的晶圓電路,。
Arm方面傾向提供硬核授權(quán),,好避免核心技術(shù)外泄,但部份重量級業(yè)者有獲得軟核授權(quán),,如高通(Qualcomm),,另外一般推測蘋果(Apple)、Samsung等也在其列,。而根據(jù)GreenWave受訪表示,,想取得軟核授權(quán)至少要1,500萬美元,且僅為時(shí)間性使用,,到期必須重談授權(quán),。
由于一旦有諸多芯片或諸多軟體采行某一ISA,該ISA的技術(shù)生態(tài)日趨完整強(qiáng)健,,則ISA架構(gòu)的擁有者日后被視為可輕松坐享利潤,,芯片商(無ISA自主性的芯片商) 、系統(tǒng)商,、終端用戶均將受害,。為此2010年學(xué)術(shù)與產(chǎn)業(yè)界共同發(fā)起成立RISC-V基金會,持續(xù)推行開放技術(shù)細(xì)節(jié)且免費(fèi)技術(shù)授權(quán)的ISA,。
開放且免費(fèi)授權(quán),,從資訊技術(shù)產(chǎn)業(yè)另一關(guān)鍵組件作業(yè)系統(tǒng)來看早已朝此模式發(fā)展,早期的作業(yè)系統(tǒng)是電腦系統(tǒng)商隨自家硬體而搭配開發(fā)成,并隨硬體銷售一同出貨,,如IBM大型主機(jī),。之后IBM急于切入PC市場,采行微軟(Microsoft)的作業(yè)系統(tǒng),,之后開啟作業(yè)系統(tǒng)跨不同系統(tǒng)商的純軟體商業(yè)授權(quán)模式,,但作業(yè)系統(tǒng)的程式碼仍由Microsoft專屬擁有,更之后Linux興起,,程式碼開放且免費(fèi)授權(quán)使用,。
將此發(fā)展歷程對應(yīng)到ISA,Intel的ISA是隨自家芯片一同出貨,,Arm則是跨芯片商授權(quán)其ISA,,但均為專屬封閉且收費(fèi),而RISC-V試圖仿效Linux,,采開放且免費(fèi)的方式發(fā)展,。
RISC-V采BSD授權(quán)
RISC-V雖采開放免費(fèi)路線,但某些地方不同于其他開放原始程式碼的矽智財(cái)專案,,例如它有自己的硬體描述語言(HDL),,即Chisel(Constructing Hardware In a Scala Embedded Language) ,從全寫可以了解它是以Scala語言為基礎(chǔ)所發(fā)展成,,Chisel也采開放原碼政策,。相對于此一般普遍使用的硬體描述語言多采Verilog,不過有工具可以將Chisel開發(fā)出的電路轉(zhuǎn)換成Verilog格式,,而后再修改其設(shè)計(jì),,或與其他電路整合。
RISC-V在授權(quán)上采BSD授權(quán),,而不是開放原碼軟體常見的GPL授權(quán),,若采GPL授權(quán),則延伸開發(fā)的成果也必須采行GPL授權(quán),,必須開放其原始程式碼(大陸稱原碼,、源代碼),但許多業(yè)者希望保有競爭優(yōu)勢,,將自有開發(fā)的程式視為商業(yè)機(jī)密而不愿開放,,事實(shí)上Android也是因此對Linux核心進(jìn)行改寫,使采行Android作業(yè)系統(tǒng)的硬體商不需要開放其驅(qū)動程式,,保有其機(jī)密,,方獲得眾多手機(jī)業(yè)者支持Android。
但BSD不同,,BSD允許使用其開放成果,,但延伸發(fā)展成的軟體不需要開放,,明顯較GPL授權(quán)大方。至于在編譯器,、相關(guān)軟體支援上,,則已有g(shù)cc/glibc/GDB、LLVM/Clang,、Linux,、Yocto、Verification Suite等軟體,。
RISC-V立意雖佳,,但若實(shí)際開發(fā)出的芯片表現(xiàn)不佳,則依然難與商業(yè)性ISA抗衡,,對此RISC-V的主導(dǎo)學(xué)術(shù)單位加州大學(xué)柏克萊分校(UC Berkeley)開發(fā)了一顆名為火箭(Rocket)的RISC-V芯片,,并刻意選擇與相同制程(臺積電28nm)技術(shù)實(shí)現(xiàn)的Arm核心(Cortex-A5)進(jìn)行比較(圖2)。
圖2 Rocket核心與Cortex-A5技術(shù)特性比較,。資料來源:SiFive官網(wǎng)
首先比較時(shí)鐘頻率,,兩者均可達(dá)1GHz以上,視為平手,;在效能上RISC-V Rocket可達(dá)1.72DMIPS/MHz,約較Arm Cortex-A5高出一成,;在排除快取記憶體外,,執(zhí)行核心所占的晶圓面積上,RISC-V Rocket只要0.14平方公厘,,只有Cortex-A5的一半,,即便兩者均含了16KB容量的快取記憶體,依然只有A5的七成,;而以每平方公厘,、每赫茲所能產(chǎn)生的效能Rocket也達(dá)A5的1.5倍;在功耗表現(xiàn)上Rocket則是A5的四成左右,。
不過此一比較仍稍有立足點(diǎn)的不同,,Rocket采行64位元架構(gòu),但RISC-V亦有32位元架構(gòu)版,,若兩者均采行32位元版或均采行64位元版,,或許可以更公允比較。除Rocket外,,后續(xù)也有ORCA,、PULPino等8、9個實(shí)作核心,,前述的GAP8即是根基于PULPino所發(fā)展成,。
RISC-V除了有MCU/CPU核心技術(shù)外,也積極發(fā)展核心所需的連接介面電路技術(shù),即TileLink,,理由是Arm在核心技術(shù)外也布局核心間或核心與周邊間所需的介面技術(shù)與協(xié)定,,因而有AMBA協(xié)定、ASB匯流排,、APB匯流排等,,后續(xù)也擴(kuò)展延伸發(fā)展出AHB、ATB,、AXI,、ACE、CHI等介面,。
RISC-V非第一例開放專案
RISC-V雖是近期漸受關(guān)注的開放硬體專案,,但卻不是唯一或最早的專案,此前已有OpenRISC,、OpenSPARC等,,不過這類專案在發(fā)起后遭遇一些發(fā)展限制,OpenRISC架構(gòu)老舊,、發(fā)展緩慢,、64位元版的架構(gòu)不夠成熟,OpenSPARC則來自逐漸喪失價(jià)格效能比優(yōu)勢的UltraSAPRC,,開放后的社群并不活躍(圖3),。
圖3 SPARC V8、OpenRISC,、RISC-V三者特性比較,,SPARC v9的64位元定址為專屬技術(shù),沒有開放,。
另外有些專案則過于學(xué)術(shù),,理論功效上可運(yùn)作,但在落實(shí)成實(shí)際電路時(shí),,則不易提升效能,、減少功耗、減少晶圓面積等,,或有的專案不易導(dǎo)入現(xiàn)行其他ISA已具備的軟體資產(chǎn)(驅(qū)動程式,、范例程式、應(yīng)用程式等),,重新編譯與改寫具困難性,。
上述這些,RISC-V成立之初已斟酌考慮,,從零開始的新架構(gòu)規(guī)劃定義,,必須能貼近商業(yè)化落實(shí),,也方便導(dǎo)引現(xiàn)行其他ISA的軟體資產(chǎn),所以成立之初已有多家半導(dǎo)體業(yè)界大廠共同參與,,并確保社群發(fā)展能量,。
值得一提的是,專屬架構(gòu)的芯片商近年來態(tài)度轉(zhuǎn)變,,不再只銷售完整芯片,,也開始仿效Arm的商業(yè)模式,允許授權(quán)芯片核心技術(shù)供人再開發(fā)運(yùn)用,,如Intel于2008年與臺積電合作開放x86核心授權(quán),,允許其他業(yè)者以x86架構(gòu)發(fā)展自有芯片,或NVIDIA于2013年開放其GPU核心授權(quán)等,,不過這類的授權(quán),,其ISA專利與后續(xù)發(fā)展走向仍是由芯片商主導(dǎo),而非共同參與制訂,,此一衍生業(yè)務(wù)至今未大幅開展,。
IoT/AI均適用RISC-V
一套ISA技術(shù)生態(tài)系統(tǒng)可以成功,必須在技術(shù)特性,、規(guī)模用量方面取得優(yōu)勢,,如x86 ISA由于價(jià)格效能比最佳,且自PC獲得大規(guī)模采用,,而Arm則以低功耗,、每瓦效能比佳,因而在手機(jī)等行動裝置,、嵌入式裝置上獲得大規(guī)模采用。因此RISC-V也盡可能讓ISA的適用性最大化,,因此同時(shí)制訂32位元,、64位元架構(gòu),定址方式也廣泛支援16/32/64/128位元定址,。
而在實(shí)際發(fā)展上,,確實(shí)各類型應(yīng)用均在發(fā)展中,前述的GreenWave發(fā)展的GAP8芯片即是鎖定物聯(lián)網(wǎng)應(yīng)用,,使用臺積電55LP(Low-Power)制程,,目標(biāo)市場與Arm Cortex-M0~M7近同。而WD投資的Esperanto Tech公司,,則是使用RISC-V發(fā)展人工智慧(AI)用芯片,,以64位元架構(gòu)為主,發(fā)展16個核心的ET-Maxion與4,096個核心的ET-Minion,,預(yù)計(jì)使用臺積電7納米制程,。
此外FPGA芯片商MicroSemi也提出RV32IM的RISC-V軟核技術(shù),,使芯片開發(fā)者初期用FPGA芯片評估與模擬設(shè)計(jì)后,日后若想投片成商業(yè)化量產(chǎn)芯片,,可避免核心授權(quán)的成本問題,,過去若采Arm核心發(fā)展,則有授權(quán)費(fèi),、權(quán)利金等顧慮,。
另外也有業(yè)者試圖以RISC-V架構(gòu)但采行與Arm相同的矽智財(cái)授權(quán)模式,如前述的SiFive與Andes,,SiFive推出32位元(RV32)的E31核心與64位元(RV64)的E51核心,,均采28納米制程。前者鎖定Cortex-M3,、M4類同的應(yīng)用市場,,后者與Cortex-A53近似定位。不過E31,、E51不支援Linux,,然Linux在嵌入式領(lǐng)域受廣泛運(yùn)用,為此SiFive也提出U54/U54-MC(RV64GC)核心,,可支援Linux(圖4),。
圖4 SiFive推出支援Linux的RISC-V核心U54-MC。資料來源:fossbytes.com
而Andes方面則提出AndeStar v5架構(gòu)(即根基于RISC-V),,包含32位元的N25核心與64位元的NX25核心,,同樣均采28納米HPC制程,并強(qiáng)調(diào)只需要極少的邏輯閘就可實(shí)現(xiàn),,N25只需3萬個邏輯閘,,NX25則為5萬個。邏輯閘用量愈少,,所需要晶圓面積也愈少,,意味著可用更低廉的成本實(shí)現(xiàn)與生產(chǎn)芯片,CEVA亦有僅使用2萬個不到的邏輯閘便實(shí)現(xiàn)的32位元RISC-V( RV32IMC),,并設(shè)定用于藍(lán)牙,、Wi-Fi收發(fā)器芯片內(nèi)。
此外,,雖是基于RISC-V,,但Andes仍對其進(jìn)行各種強(qiáng)化,例如運(yùn)用自定指令使程式碼的占量減少10%,,如此可降低程式記憶體需求,;或加速中斷發(fā)生時(shí)的即時(shí)處理速度,更適合即時(shí)性應(yīng)用,;或?qū)Χ询B進(jìn)行保護(hù),,可防止運(yùn)作失?;驕p少資安問題。
RISC-V會員陣容堅(jiān)強(qiáng)
有關(guān)大廠采行RISC-V已有諸多報(bào)導(dǎo),,在此僅快速帶過,,如NVIDIA的GeForce繪圖處理器(GPU)內(nèi)有鷹(FAst Logic CONtroller, Falcon)控制器,新款的Falcon將采行RISC -V架構(gòu),,Samsung也將在自家行動芯片內(nèi)使用,,WD也將在多款芯片內(nèi)使用。上述業(yè)者之所以大力擁抱RISC-V原因無它,,這些業(yè)者均大量采行或銷售芯片,,過往采Arm核心需支付龐大的技術(shù)使用費(fèi),若改行RISC-V將可省下大筆花費(fèi),。
政府方面則有美國DARPA資助商業(yè)公司發(fā)展基于RISC-V架構(gòu)用的航太設(shè)備芯片,,印度政府也大力擁抱RISC-V;學(xué)術(shù)單位則有35所大學(xué)加入,,其中不乏名校,,如麻省理工學(xué)院、普林斯頓大學(xué)等(圖5),。
圖5 RISC-V基金會成員,,會員分成兩個層次:Platinum或Gold, Silver & Auditor Members 資料來源:SemiWiki.com
商業(yè)模式轉(zhuǎn)變成最大隱憂
RISC-V目前為止看似順利發(fā)展,但其實(shí)已有若干隱憂顯現(xiàn),,一是RISC-V允許采行者自行延伸擴(kuò)充定義指令,,若各行其是將使軟體相容性產(chǎn)生分裂,而使已居落后位置的軟體生態(tài)系統(tǒng)更難凝聚力量發(fā)展,。
另一是新創(chuàng)業(yè)者的商業(yè)模式轉(zhuǎn)變,,以前述的SiFive為例,原期望的商業(yè)模式為,,基于免費(fèi)的RISC-V架構(gòu),,接受客戶的客制委托設(shè)計(jì),并收取設(shè)計(jì)費(fèi)用,,但之后轉(zhuǎn)變成對已開發(fā)實(shí)現(xiàn)的核心收取費(fèi)用,如E31收取30萬美元,,E51收取60萬美元(Andes的64位元版則宣稱不到100萬美元),。
SiFive的授權(quán)仍是比Arm大方,30萬,、60萬美元為一次性費(fèi)用,,Arm則是除一次性費(fèi)用外也對每顆芯片收取權(quán)利金,且RISC-V仍有修改,、換用的自由彈性,,然SiFive轉(zhuǎn)向與Arm雷同的路線,,也讓人擔(dān)心是否已有違RISC-V的推行初衷。
此外,,過往開放原碼軟體的發(fā)展,,除了遭遇社群不活躍的困阻外,后續(xù)發(fā)展路線的爭議,,或分道揚(yáng)鑣發(fā)展,,或仍專注發(fā)展但路線逐漸偏離初衷或商業(yè)價(jià)值等均時(shí)有所聞,這些也都可能發(fā)生在RISC-V專案上,。
最后,,臺廠對于RISC-V亦抱持高度興趣,視此為新發(fā)展機(jī)會,,如TSMC可獲得更多新創(chuàng)芯片業(yè)者的投單外,;Andes也不固守自有專屬核心架構(gòu)而擁抱RISC-V ,即便架構(gòu)不相容亦不放棄新機(jī),;聯(lián)發(fā)科技(MediaTek, MTK)同樣加入RSIC-V基金會,;芯片設(shè)計(jì)服務(wù)商智原科技(Faraday)也對新發(fā)展抱持期待。