在上述消息之前, 已有多家科技大厂表明力挺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).
首先比较时脉频率, 两者均可达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).
另外有些专案则过于学术, 理论功效上可运作, 但在落实成实际电路时, 则不易提升效能, 减少功耗, 减少晶圆面积等, 或有的专案不易导入现行其他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).
而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).
商业模式转变成最大隐忧
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)也对新发展抱持期待.