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