0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RISC-V指令集架构为何?为何逐渐获科技大厂与新创业者的支持?

xPRC_icunion 来源:未知 作者:李倩 2018-08-03 16:48 次阅读

2018年2月美国新创业者SiFive(图1)发表Freedom U500芯片的技术细节,同月份法国新创芯片商GreenWave也发表GAP8芯片,加上后续相关消息,如***晶心科技(Andes)推出AndeSatr V5硅智财(Intellectual Property, IP)及英特尔(Intel)投资SiFive等,使RISC-V指令集架构(Instruction Set Architecture, ISA)逐渐受业界关注。

图1SiFive共同创办人兼技术长的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)。

图2Rocket核心与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)。

图4SiFive推出支持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)。

图5RISC-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)也对新发展抱持期待。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50406

    浏览量

    421821
  • 指令集
    +关注

    关注

    0

    文章

    222

    浏览量

    23367
  • RISC-V
    +关注

    关注

    44

    文章

    2229

    浏览量

    46028

原文标题:大厂/学术/政府力挺RISC-V!arm危机!

文章出处:【微信号:icunion,微信公众号:半导体行业联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    正式的RISC-V基础指令集架构与特权架构规范来了,RISC-V基金会已正式批准

    根据RISC-V基金会官网发布的公告,RISC-V 基金会宣布了批准RISC-V 基础指令集架构与特权
    的头像 发表于 07-11 10:46 9830次阅读

    浅谈RISC-V指令集架构的来龙去脉

    最近和几个行业内的朋友聊天,聊到了近两年比较火的AI人工智能,并向我推荐了一款目前在小范围内比较火的国产处理器,我查了一下该处理器是采用的开源RISC-V指令集架构。曾有人将RISC-V
    的头像 发表于 01-24 17:42 6273次阅读

    RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集RV32I

    。 图1:RV32I指令集 在讲RISC-V各个阶段,横向比较ARM架构,体现出RISC-V的优越性。 ●RV32I寄存器 RISC-V
    发表于 01-28 11:41

    RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集

    第2章 RV32I:RISC-V基础整数指令集 本章重点讲解构成RISC-V基础整数指令集的基本指令
    发表于 01-31 21:10

    RISC-V开放架构设计之道|阅读体验】汇编语言和扩展指令集

    的目标文件。 扩展指令集 RISC-V除了基本指令集外,还支持多种扩展指令集,例如RV32M(乘法和除法
    发表于 02-03 13:29

    RISC-V指令集的特点总结

    开源 定义:RISC-V 是完全开源的指令集架构(ISA),意味着任何人都可以查看、使用、修改以及分发其设计,而无需支付版权费用。 优势:这种开源特性促进了全球性的创新和合作。 社区化 定义
    发表于 08-30 22:05

    RISC-V和arm指令集的对比分析

    RISC-V和ARM指令集是两种不同的计算机指令集架构,它们在多个方面存在显著的差异。以下是对这两种指令集的详细对比分析: 一、设计理念
    发表于 09-28 11:05

    RISC-V指令集位宽的几点学习心得

    ,实际上,RISC-V指令集的位宽具有更大的灵活性。 RISC-V指令集的位宽多样性 RISC-V是一种基于精简
    发表于 10-31 22:05

    RISC-V架构简介

    【摘要】 本文首先对RISC-V架构做了简要的介绍,在此基础上实现了LiteOS在RISC-V架构上的适配过程的具体步骤,希望对你有所帮助。1 R
    发表于 07-28 07:46

    RISC-V指令集架构微控制器相关知识

    本系列痞子衡给大家介绍的是RISC-V指令集架构微控制器相关知识。  RISC-V指令集最早要追溯到2010年,是加州大学伯克利分校的一个研
    发表于 12-16 06:24

    RISC-V架构

      RISC-V架构  RISC-V(发音为“risk-five”)是一个基于精简指令集RISC)原则的开源
    发表于 04-03 15:29

    RISC-V指令集的起源与发展历史

    的大学陆续采纳为教材替代以前的MIPS和X86架构,政府和企业采纳RISC-V为标准指令集,开源的CPU核和SoC芯片不断涌现,生态环境逐渐丰富,开发者社区愈来愈活跃。
    发表于 05-02 09:07 7776次阅读
    <b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b>的起源与发展历史

    risc-v中国峰会直播:如何优化RISC-V指令集架构的代码密度?

    第一届中国峰会在上海举办,以下是小编整理的部分risc-v峰会的内容。主要介绍了影响代码密度的因素以及如何优化RISC-V指令集架构的代码密度?感兴趣的小伙伴可以详细了解一下。
    的头像 发表于 06-23 12:12 3082次阅读
    <b class='flag-5'>risc-v</b>中国峰会直播:如何优化<b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b><b class='flag-5'>架构</b>的代码密度?

    简单讲讲RISC-V指令集CPU的参数

    本次CPU采用32位RISC-V指令集架构(一代是自己瞎编指令集)。指令集就是程序指令的集合,指
    的头像 发表于 08-07 14:55 3589次阅读
    简单讲讲<b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b>CPU的参数

    一个基于精简指令集原则的开源指令集架构RISC-V

    我们可以基于x86/ARM/ RISC-V指令集,进行处理器微架构设计和实现形成源代码,并通过流片最终形成芯片产品。
    发表于 01-30 16:28 2821次阅读