大廠/學術/政府力挺 | RISC-V開放架構顯神威

2018年2月美國新創業者SiFive發表Freedom U500晶片的技術細節, 同月份法國新創晶片商GreenWave也發表GAP8晶片, 加上後續相關消息, 如台灣晶心科技(Andes)推出AndeSatr V5矽智財(Intellectual Property, IP)及英特爾(Intel)投資SiFive等, 使RISC-V指令集架構(Instruction Set Architecture, ISA)逐漸受業界關注.

圖1 SiFive共同創辦人兼技術長的Yunsup Lee在2013年於柏克萊分校的Par實驗室手持RISC-V原型品晶片.

在上述消息之前, 已有多家科技大廠表明力挺RISC-V, 包含三星(Samsung), NVIDIA, 威騰(Western Digital, WD)等, 對此業界已有零星關注, 但隨著晶片更貼近商業化運用, 關注度開始提高. RISC-V指令集架構為何? 為何逐漸獲科技大廠與新創業者的支援? 本文以下將對此剖析討論.

英特爾/安謀為專屬指令集架構

RISC-V是一種開放原始程式碼的指令集架構, 其實過去業界很長一段時間僅稱為指令集(Instruction Set), 但或許為了湊成可縮寫的三個字母而加補上架構(Architecture, A)一字.

指令集指的是一堆組合語言(晶片上最基本原始的語言)指令的集合, 一套指令集是由少則數十個, 多則上百個指令所集合成, 若一顆微控制器, 微處理晶片可執行該套指令集, 而另一顆也可支援執行相同一套指令集, 如此原則上軟體(軟體即是由指令搭組建構成)即不需任何改寫, 可自由在兩顆晶片間替換運用.

同理, 晶片商推出新一代效能更佳的晶片, 通常會採行與前一代相同的指令集, 或完全相容但再加入新的指令, 好確保諸多已開發的軟體不需要改寫而能相容執行保障客戶過往的軟體開發投資, 購買投資, 且執行的更快.

目前市售的晶片中, 多數采英特爾或安謀(Arm)的指令集架構, 英特爾的指令集架構一般稱為x86(過去為8086, 80286, 80386, 80486等以86編號為結尾的系列晶片所用), IA(Intel Architecture), IA-32(1982年至2003年間為32位元), EM64T(Extended Memory 64 Technology)或AMD64/x86-64/x64(64位元版以超微AMD率先主導)等. 安謀則直接稱為Arm指令集架構.

Intel與Arm的指令集架構均屬業者自有專屬設計的專利架構, 須付費才能使用, Intel的ISA多要購買該公司銷售的CPU晶片才能取得; Arm的ISA則采間接銷售, 晶片商欲採行其ISA須先支付一筆一次性的技術授權費, 而後每生產一顆晶片均會被Arm收取權利金.

Intel的x86 ISA晶片在PC, 工作站, 伺服器, 超級電腦等領域有壓倒性的主占, 因此價格長期居高, 系統商, 終端消費者必須負擔其成本, 雖有少數晶片商也能生產銷售x86 ISA晶片, 但價格效能比或供貨上多不若Intel, 且有諸多限制, 如AMD雖可使用x86 ISA, 但若之後該公司被購併, 則x86 ISA專利使用權必須重談, 或其他晶片商雖也產制x86相容晶片, 但卻必須支付年專利使用費給IBM, 以避開Intel可能的訴訟.

而Arm方面, Arm的ISA在行動裝置晶片領域有壓倒性市佔, 並持續擴展到各類嵌入式應用領域. Arm在授權上提供軟核與硬核形式的授權, 軟核可取得指令集架構, 硬核則只能取得已用某一半導體製程技術實現成的晶圓電路.

Arm方面傾向提供硬核授權, 好避免核心技術外泄, 但部份重量級業者有獲得軟核授權, 如高通(Qualcomm), 另外一般推測蘋果(Apple), Samsung等也在其列. 而根據GreenWave受訪表示, 想取得軟核授權至少要1,500萬美元, 且僅為時間性使用, 到期必須重談授權.

由於一旦有諸多晶片或諸多軟體採行某一ISA, 該ISA的技術生態日趨完整強健, 則ISA架構的擁有者日後被視為可輕鬆坐享利潤, 晶片商(無ISA自主性的晶片商), 系統商, 終端用戶均將受害. 為此2010年學術與產業界共同發起成立RISC-V基金會, 持續推行開放技術細節且免費技術授權的ISA.

開放且免費授權, 從資訊技術產業另一關鍵組件作業系統來看早已朝此模式發展, 早期的作業系統是電腦系統商隨自家硬體而搭配開發成, 並隨硬體銷售一同出貨, 如IBM大型主機. 之後IBM急於切入PC市場, 採行微軟(Microsoft)的作業系統, 之後開啟作業系統跨不同系統商的純軟體商業授權模式, 但作業系統的程式碼仍由Microsoft專屬擁有, 更之後Linux興起, 程式碼開放且免費授權使用.

將此發展曆程對應到ISA, Intel的ISA是隨自家晶片一同出貨, Arm則是跨晶片商授權其ISA, 但均為專屬封閉且收費, 而RISC-V試圖仿效Linux, 采開放且免費的方式發展.

RISC-V采BSD授權

RISC-V雖采開放免費路線, 但某些地方不同於其他開放原始程式碼的矽智財專案, 例如它有自己的硬體描述語言(HDL), 即Chisel(Constructing Hardware In a Scala Embedded Language), 從全寫可以了解它是以Scala語言為基礎所發展成, Chisel也采開放原碼政策. 相對於此一般普遍使用的硬體描述語言多采Verilog, 不過有工具可以將Chisel開發出的電路轉換成Verilog格式, 而後再修改其設計, 或與其他電路整合.

RISC-V在授權上采BSD授權, 而不是開放原碼軟體常見的GPL授權, 若采GPL授權, 則延伸開發的成果也必須採行GPL授權, 必須開放其原始程式碼(大陸稱原碼, 原始碼), 但許多業者希望保有競爭優勢, 將自有開發的程式視為商業機密而不願開放, 事實上Android也是因此對Linux核心進行改寫, 使採行Android作業系統的硬體商不需要開放其驅動程式, 保有其機密, 方獲得眾多手機業者支援Android.

但BSD不同, BSD允許使用其開放成果, 但延伸發展成的軟體不需要開放, 明顯較GPL授權大方. 至於在編譯器, 相關軟體支援上, 則已有gcc/glibc/GDB, LLVM/Clang, Linux, Yocto, Verification Suite等軟體.

RISC-V立意雖佳, 但若實際開發出的晶片表現不佳, 則依然難與商業性ISA抗衡, 對此RISC-V的主導學術單位加州大學柏克萊分校(UC Berkeley)開發了一顆名為火箭(Rocket)的RISC-V晶片, 並刻意選擇與相同製程(台積電28nm)技術實現的Arm核心(Cortex-A5)進行比較(圖2).

圖2 Rocket核心與Cortex-A5技術特性比較.

首先比較時脈頻率, 兩者均可達1GHz以上, 視為平手; 在效能上RISC-V Rocket可達1.72DMIPS/MHz, 約較Arm Cortex-A5高出一成; 在排除快取記憶體外, 執行核心所佔的晶圓面積上, RISC-V Rocket只要0.14平方公釐, 只有Cortex-A5的一半, 即便兩者均含了16KB容量的快取記憶體, 依然只有A5的七成; 而以每平方公釐, 每赫茲所能產生的效能Rocket也達A5的1.5倍; 在功耗表現上Rocket則是A5的四成左右.

不過此一比較仍稍有立足點的不同, Rocket採行64位元架構, 但RISC-V亦有32位元架構版, 若兩者均採行32位元版或均採行64位元版, 或許可以更公允比較. 除Rocket外, 後續也有ORCA, PULPino等8, 9個實作核心, 前述的GAP8即是根基於PULPino所發展成.

RISC-V除了有MCU/CPU核心技術外, 也積極發展核心所需的連接介面電路技術, 即TileLink, 理由是Arm在核心技術外也布局核心間或核心與周邊間所需的介面技術與協定, 因而有AMBA協定, ASB匯流排, APB匯流排等, 後續也擴展延伸發展出AHB, ATB, AXI, ACE, CHI等介面.

RISC-V非第一例開放專案

RISC-V雖是近期漸受關注的開放硬體專案, 但卻不是唯一或最早的專案, 此前已有OpenRISC, OpenSPARC等, 不過這類專案在發起後遭遇一些發展限制, OpenRISC架構老舊, 發展緩慢, 64位元版的架構不夠成熟, OpenSPARC則來自逐漸喪失價格效能比優勢的UltraSAPRC, 開放後的社群並不活躍(圖3).

圖3 SPARC V8, OpenRISC, RISC-V三者特性比較, SPARC v9的64位元定址為專屬技術, 沒有開放.

另外有些專案則過於學術, 理論功效上可運作, 但在落實成實際電路時, 則不易提升效能, 減少功耗, 減少晶圓面積等, 或有的專案不易導入現行其他ISA已具備的軟體資產(驅動程式, 範常式式, 應用程式等), 重新編譯與改寫具困難性.

上述這些, RISC-V成立之初已斟酌考慮, 從零開始的新架構規劃定義, 必須能貼近商業化落實, 也方便導引現行其他ISA的軟體資產, 所以成立之初已有多家半導體業界大廠共同參與, 並確保社群發展能量.

值得一提的是, 專屬架構的晶片商近年來態度轉變, 不再只銷售完整晶片, 也開始仿效Arm的商業模式, 允許授權晶片核心技術供人再開發運用, 如Intel於2008年與台積電合作開放x86核心授權, 允許其他業者以x86架構發展自有晶片, 或NVIDIA於2013年開放其GPU核心授權等, 不過這類的授權, 其ISA專利與後續發展走向仍是由晶片商主導, 而非共同參與制訂, 此一衍生業務至今未大幅開展.

IoT/AI均適用RISC-V

一套ISA技術生態系統可以成功, 必須在技術特性, 規模用量方面取得優勢, 如x86 ISA由於價格效能比最佳, 且自PC獲得大規模採用, 而Arm則以低功耗, 每瓦效能比佳, 因而在手機等行動裝置, 嵌入式裝置上獲得大規模採用. 因此RISC-V也儘可能讓ISA的適用性最大化, 因此同時制訂32位元, 64位元架構, 定址方式也廣泛支援16/32/64/128位元定址.

而在實際發展上, 確實各類型應用均在發展中, 前述的GreenWave發展的GAP8晶片即是鎖定物聯網應用, 使用台積電55LP(Low-Power)製程, 目標市場與Arm Cortex-M0~M7近同. 而WD投資的Esperanto Tech公司, 則是使用RISC-V發展人工智慧(AI)用晶片, 以64位元架構為主, 發展16個核心的ET-Maxion與4,096個核心的ET-Minion, 預計使用台積電7納米製程.

此外FPGA晶片商MicroSemi也提出RV32IM的RISC-V軟核技術, 使晶片開發者初期用FPGA晶片評估與類比設計後, 日後若想投片成商業化量產晶片, 可避免核心授權的成本問題, 過去若采Arm核心發展, 則有授權費, 權利金等顧慮.

另外也有業者試圖以RISC-V架構但採行與Arm相同的矽智財授權模式, 如前述的SiFive與Andes, SiFive推出32位元(RV32)的E31核心與64位元(RV64)的E51核心, 均采28納米製程. 前者鎖定Cortex-M3, M4類同的應用市場, 後者與Cortex-A53近似定位. 不過E31, E51不支援Linux, 然Linux在嵌入式領域受廣泛運用, 為此SiFive也提出U54/U54-MC(RV64GC)核心, 可支援Linux(圖4).

圖4 SiFive推出支援Linux的RISC-V核心U54-MC.

而Andes方面則提出AndeStar v5架構(即根基於RISC-V), 包含32位元的N25核心與64位元的NX25核心, 同樣均采28納米HPC製程, 並強調只需要極少的邏輯閘就可實現, N25隻需3萬個邏輯閘, NX25則為5萬個. 邏輯閘用量愈少, 所需要晶圓面積也愈少, 意味著可用更低廉的成本實現與生產晶片, CEVA亦有僅使用2萬個不到的邏輯閘便實現的32位元RISC-V(RV32IMC), 並設定用於藍芽, Wi-Fi收發器晶片內.

此外, 雖是基於RISC-V, 但Andes仍對其進行各種強化, 例如運用自定指令使程式碼的占量減少10%, 如此可降低程式記憶體需求; 或加速中斷髮生時的即時處理速度, 更適合即時性應用; 或對堆疊進行保護, 可防止運作失常或減少資安問題.

RISC-V會員陣容堅強

有關大廠採行RISC-V已有諸多報導, 在此僅快速帶過, 如NVIDIA的GeForce繪圖處理器(GPU)內有鷹(Fast Logic CONtroller, Falcon)控制器, 新款的Falcon將採行RISC-V架構, Samsung也將在自家行動晶片內使用, WD也將在多款晶片內使用. 上述業者之所以大力擁抱RISC-V原因無它, 這些業者均大量採行或銷售晶片, 過往采Arm核心需支付龐大的技術使用費, 若改行RISC-V將可省下大筆花費.

政府方面則有美國DARPA資助商業公司發展基於RISC-V架構用的航太設備晶片, 印度政府也大力擁抱RISC-V; 學術單位則有35所大學加入, 其中不乏名校, 如麻省理工學院, 普林斯頓大學等(圖5).

圖5 RISC-V基金會成員, 會員分成兩個層次: Platinum或Gold, Silver & Auditor Members

商業模式轉變成最大隱憂

RISC-V目前為止看似順利發展, 但其實已有若干隱憂顯現, 一是RISC-V允許採行者自行延伸擴充定義指令, 若各行其是將使軟體相容性產生分裂, 而使已居落後位置的軟體生態系統更難凝聚力量發展.

另一是新創業者的商業模式轉變, 以前述的SiFive為例, 原期望的商業模式為, 基於免費的RISC-V架構, 接受客戶的客制委託設計, 並收取設計費用, 但之後轉變成對已開發實現的核心收取費用, 如E31收取30萬美元, E51收取60萬美元(Andes的64位元版則宣稱不到100萬美元).

SiFive的授權仍是比Arm大方, 30萬, 60萬美元為一次性費用, Arm則是除一次性費用外也對每顆晶片收取權利金, 且RISC-V仍有修改, 換用的自由彈性, 然SiFive轉向與Arm雷同的路線, 也讓人擔心是否已有違RISC-V的推行初衷.

此外, 過往開放原碼軟體的發展, 除了遭遇社群不活躍的困阻外, 後續發展路線的爭議, 或分道揚鑣發展, 或仍專註發展但路線逐漸偏離初衷或商業價值等均時有所聞, 這些也都可能發生在RISC-V專案上.

最後, 台廠對於RISC-V亦抱持高度興趣, 視此為新發展機會, 如TSMC可獲得更多新創晶片業者的投單外; Andes也不固守自有專屬核心架構而擁抱RISC-V, 即便架構不相容亦不放棄新機; 聯發科技(MediaTek, MTK)同樣加入RSIC-V基金會; 晶片設計服務商智原科技(Faraday)也對新發展抱持期待.

2016 GoodChinaBrand | ICP: 12011751 | China Exports