资源描述
开放指令集与开源芯片 发展报告 中国开放指令生态( RISC-V)联盟 2019 年 2 月 版本 修改历史 发布时间 版本号 内容 修改 2019.1.11 v1p0 该版本 为 基础版本 , 主要 内容 如下 : 1) 介绍 了 开源芯片 的 兴起 , 以及 RISC-V和 MIPS 等 开放 生态现状 ; 2) 分析 了 芯片设计流程 、 敏捷芯片开发 等 开源芯片的 发展现状 ; 3) 总结 了国内外 学术界 、工业界 的 开源芯 片 的发展动态 ; 4) 展望 了 开源芯片 面临的 机遇 和 挑战 。 2019.2.22 v1p1 1) 增加 5.8小节 , Designless 设计模式 ; 2) 增加 部分 引用 ; 3) 修正 部 分 文字错误 。 目 录 联盟介绍 . 1 1 前言 . 3 1.1 背景 . 3 1.2 内容概述 . 4 2 开放指令集与开源芯片的兴起 . 5 2.1 芯片设计高门槛现状 . 5 2.2 传统芯片设计模式 . 6 2.3 开源软件的启示 . 6 2.4 开放指令集与开源芯片趋势 . 8 2.5 开源芯片的意义与可行性 . 8 3 RISC-V 开放指令集生态现状 . 11 3.1 RISC-V 起源 . 11 3.2 RISC-V 指令集特点 . 12 3.3 RISC-V 基金会 . 14 3.4 RISC-V 研讨会 /峰会 . 16 3.5 RISC-V 软硬件生态 . 18 3.6 RISC-V 在中国的发展 . 20 3.6.1 中国企业 . 20 3.6.2 中国的研究 . 22 3.6.3 中国的教育 . 23 3.6.4 中国联盟与组织 . 23 3.7 RISC-V 相关资源信息 . 24 3.7.1 教材资料 . 24 3.7.2 社区动态 . 25 3.7.3 国际项目 . 25 4 MIPS 开放生态现状 . 27 4.1 MIPS 开放计划介绍 . 27 4.2 MIPS 指令集发展历史及 MIPS 公司主要产品 . 27 4.2.1 MIPS 指令集发展历史 . 27 4.2.2 MIPS 公司主要产品 . 29 4.3 MIPS 开放计划特点 . 30 4.4 MIPS 开放计划与 RISC-V 开源 计划对比 . 31 4.5 芯片商业模式对比 . 31 5 开源芯片发展现状 . 33 5.1 芯片设计流程 . 33 5.1.1 芯片前端设计流程 . 33 5.1.2 芯片后端设计流程 . 35 5.2 以往开源芯片现状与分析 . 35 5.3 开源 IP . 36 5.4 开源工具链 . 40 5.5 开源芯片 “ 死结 ” 与突破口 . 41 5.6 芯片敏捷开发 . 42 5.7 敏捷开发案例 . 46 5.7.1 Chisel 与 Verilog 编码效率对比 . 46 5.7.2 Chisel 与 Verilog 编码质量对比 . 48 5.8 Designless 设计模式 . 51 6 业界动态 . 53 6.1 RISC-V 代表性企业与产品 . 53 6.2 MIPS 代表性企业与产品 . 53 6.2.1 MIPS 处理器的应用领域 . 53 6.2.2 MIPS 指令集在中国的发展现状 . 54 7 各国战略计划与项目部署 . 55 7.1 美国 . 55 7.2 欧洲 . 55 7.3 印度 . 55 7.4 以色列 . 55 8 挑战、机遇与未来发展方向 . 57 8.1 面临挑战 . 57 8.2 机遇 . 57 8.3 未来发展方向 . 58 9 总结 . 59 致谢 . 61 1 联盟 介绍 中国开放指令生态( RISC-V)联盟 于 2018年 11月 8日乌镇 世界 互联网大 会正式成立 ,旨在 以 开放 指令集 RISC-V为抓手,联合 各界 推动开源 芯片 生态的 建立与 发展。 联盟现状(截至 2019年 1月 ,详情 请 访问 crva.io): 一、 指导单位 中央网信办信息化发展局 工信部 信息化和软件服务业司 中科院 科技促进发展局 二、 咨询委员会专家(按拼音序 ,下同 ) 方之熙( RISC-V基金会中国顾问委员会 主席) 卢 山(中国电子信息产业发展研究院院长) 孙凝晖(中国科学院计算技术研究所所长) 涂 强( 长虹北美研发中心总经理 ) 严晓浪(浙江大学教授) 叶甜春(中国科学院微电子所所长) 三、依托单位 理事长(单 位): 倪光南院士( 中国科学院计算技术研究所 ) 常务副理事长单位: 中国电子信息产业发展研究院 四、副理事长单位 北京百度网讯科技有限公司 北京大学 北京紫光展锐科技有限公司 杭州中天微系统有限公司 华为技术有限公司 清华大学 四川长虹电器股份有限公司 腾讯科技股份有限公司 中国科学院微电子研究所 2 五、常务理事单位 鹏城实验室 睿思芯科(深圳)技术有限公司 上海交通大学 西安中科创星科技孵化器有限公司 中科创达软件股份有限公司 中国科学院上海微系统与信息技术研究所 致象尔微电子科技 (上海 )有限公司 六、单 位会员 华米(北京)信息科技有限公司 江苏金羿智芯科技有限公司 浪潮电子信息产业股份有限公司 宁波中国科学院信息技术应用研究院 澎峰(北京)科技有限公司 青岛本原微电子有限公司 苏州国芯科技有限公司 天博电子信息科技有限公司 芯来科技(武汉)有限公司 中国科学技术大学 七、个人会员 陈铁军 ,宫晓利 ,郝沁汾 ,李诚 ,宋威 ,孙浩 ,魏继增 ,许冠斌 ,周平强 八、秘书处 设于中国科学院计算技术研究所 秘书长:包云岗 成 员:张科、唐丹、常轶松、王卅、解壁伟、赵然 九、联系方式 地址:北京市海淀区中关村科学院南 路 6号 ,邮编: 100190 中国科学院计算技术研究所 电话: 010-62601013/62601015 邮箱: infocrva.io 3 1 前言 1.1 背景 芯片是信息技术的引擎,推动着人类社会的数字化、信息化与智能化。随 着摩尔定律濒临终结,维持芯片技术创新面临挑战。开源芯片设计将是应对挑 战的新思路。 如今芯片设计动辄需要上亿研发费用、投入上百人年,只有少数企业才能 承担。反观互联网领域通过开源软件降低开发门槛,创造了繁荣的互联网产 业。如果开源芯片设计能将芯片设计门槛降低几个数量级 3-5 人的小团队 在 3-4个月 内,只需几万元便能研制出一款有市场竞争力的芯片,必将吸引大 量人员投入芯片产业,重塑繁荣。 加州大学伯克利分校 开发 的开放指令集 RISC-V朝着这个目标迈出了第一 步,它 希望 像开源软件生态中的 Linux那样,成为计算机芯片与系统创新的基 石。但是只有 RISC-V又远远不够,还需要开发基于 RISC-V的开源工具链、开 源 IP、开源 SoC等才能形成 完整 的 开源芯片生态,这需要更多支持开源芯片的 力量参与和贡献。 历经九个月的研讨与筹备,在网信办、 工信部、 中科院等多个国家部委支 持和指导下,中国开放指令生态( RISC-V)联盟于 2018年 11月 8 日浙江乌镇 举行的第五届互联网大会上正式宣布成立。 中国开放指令生态( RISC-V)联盟 1 旨在 以 RISC-V指令集为抓手,联合学术及产业界推动开源开放指令芯片及生态 的 发展 ,积极推动建立为全世界共享的开源芯片生态。 尽管 开放指令集与开源芯片 还处于初期发展阶段,但 已经得到各界的越来 越多的关注并付诸行动。除了 RISC-V生态的快速成长,其他指令集也加入到开 放开源队伍中,例如 Wave Computing于 2018 年 12月 17日宣布开放其 MIPS指 令集架构 。 为了更好地厘清当前 开放指令集与开源芯片 的发展 态势, 梳理开源芯片生 态与芯片敏捷开发现状与未来面临的挑战与机遇, 中国开放指令生态( RISC- 1 简称“ RISC-V 中国联盟 ” , 英文简称 CRVA,官方网址: crva.io 4 V)联盟 成立调研工作组,结合联盟成员的 最新实践, 编制了 开放指令集与开 源芯片发展报告 。 1.2 内容概述 本报告 主要包括九方面内容 : 第 1章 介绍开放指令集与开源芯片的背景 以及 报告 基本内容概述 ; 第 2章综 述传统芯片设计的现状与开源芯片总体趋势 ; 第 3章 集中介绍 RISC-V开放指令集生态现状 ; 第 4章介绍 MIPS开放生态现状,并与 RISC-V进行了对比 ; 第 5章 分析开源芯片发展现状以及芯片敏捷开发案例; 第 6章 介绍业界动态,包 括代表性企业与产品; 第 7章列举几个主要国际在开源芯片领域的战略计划与部署; 第 8章介绍建立开源芯片生态的挑战、机遇以及发展方向; 第 9章为报告总结。 希望通过本报告能为社会各界更了解开放指令集与开源芯片有所帮助。在 此,更希望 呼吁更多的中国企业、工程师与学者投身开源芯片设计行动,携手 推动开放指令芯片发展,共创开源芯片生态黄金时代! 5 2 开放指令集与开源芯片的兴起 2.1 芯片设计高门槛现状 芯片领域的创新门槛之高、投入之大业内公认。设计与制造一款芯片涉及 多个环节, 包括 EDA 开发环境搭建、外围 IP模块选型、芯片 前 端逻辑设计、后 端物理设计、流片与封装测试等,每个环节都需要 巨额 的资金与 大量的 人力投 入。 以 28nm工艺研制一款 SoC芯片为例,比较完整的 EDA工具版权费便超过 500万元,购买内存控制器、 PCIe控制器等外围 IP费用往往 高达 500 1000万 元,流片费用 由 芯片面积大小而定,但往往 也 会达到 1000万,封装相对便宜, 大约需要 50万左右。简单估算,研制这款芯片所需要的资金投入便已经超过 2000万元。另一方面,芯片的研发往往需要数十位工程师,花上一年的时间来 设计与验证,仅工资开销就需要上千万元。但是,芯片设计与验证时 哪怕出现 一个很小的错误,都有可能导致芯片最终无法工作。不光前期的投入打水漂, 还不得不再花上千万元重新流片 2。 芯片领域的高门槛客观上严重阻碍了创新。在互联网领域,得益于开源软 件,拥有创新想法的互联网初创公司,往往只需几百万元甚至几十万元,便可 以在几个月时间 内 推出原型产品进行迭代优化。相比而言,芯片领域的初创公 司却需要数千万的资金,而且迭代优化的时间周期 很长 ,所以很难想象风险投 资人愿意把 资金投入到 这类初创公司。 事实上,半导体、大规模集成电路发展的黄金期是上世纪六七十年代,当 时芯片规模都很小、成本较低,却又具 有很高的收益,吸引了美国、日本、中 国台湾等大量优秀的人才投入到半导体领域创办公司,也吸引了大量资本投入 到这个领域,但中国大陆错过了 这个 黄金时代。经过半个世纪的发展,少数发 达国家和地区通过市场机制自然地形成了技术积累与产业优势,同时构建了极 高的创新门槛,不仅让后来者追赶无望,也让芯片成为他们“卡别人脖子”的 利器。 2 引自美国 DARPA 的 ERI (Electronics Resurgence Initiative,电子复兴计划 ) 白皮书 6 如今中国的半导体产业要想改变现状,已经很难完全 依靠 初创企业与风险 资本来追赶了,必须通过必要的产业政策来引导。 2.2 传统芯片设计模式 传统的芯片设计模式是芯片开发者提出芯片设计目标, 将需求分解为各个 功能模 块。通用性比较强的功能模块,比如 处理器核、 内存控制器、 PCIe控制 器、网络控制器、存储控制器、视频编解码器等,采取购买商用 IP 的形式获 得。 对 于 领域专用功能模块,可能没有商用 IP可以采购 或者出于技术保密考 虑, 采用自己研发的形式 完成。 在主要功能模块就绪之后 ,将 所有功能模块采 用总线形式进行互联。随后进入正常的芯片设计流程,即进行芯片的验证及后 端设计开发。 传统芯片设计模式中包含大量的第三方 商用 IP并 采用 商用 EDA 工具 开发 , 形成极高的开发门槛, 极大限制了普通开发者的参与 , 不利于芯片开发的普及 和创新。 2.3 开源软件的启示 中国的互联网公司在国际上是具有竞争力的。事实上,全世界十大互联网 公司中国占了 4家,而中国的互联网共享经济、移动支付甚至处于引领世界的 地位。 2016年美国移动支付金额为 1120亿美元,而中国则达到了 5.5 万亿美 元,是美国的 50倍。 2017年 11月 11日,阿里巴巴 “ 双十一 ” 成交额达到惊 人的 1682亿(约为 260亿美元)。相比之下,美国黑色星期五( 2017 年 11月 24日)的网络销售成交额仅为 50.3亿美元。根据阿里提供的数据, “ 双十 一 ” 零时 5分 22秒,支付宝的支付峰值达到每秒 25.6万笔,其数据库处理峰 值更 是达到每秒 4200 万次操作,均刷新了全球纪录。相比之下,全球最大的清 算组织 VISA的交易峰值仅为 1.4万笔秒,支付宝是 VISA的 20倍。 中国互联网公司的成功离不开背后强大的技术支持。值得一提的是,中国 的互联网公司普遍使用开源软件来构建其业务系统。开源软件,就是一种源代 7 码可以自由获取并在遵循开源协议的规定下,进行自行修改而无需付费的计算 机软件。 对于互联网企业而言,开源软件为它们节省大量的时间与成本。据统计, 常用的开源软件已经构成了一个价值超过 150亿美元的开源软件生态,一些开 源软件如 LAMP( Linux + Apache + MySQL + PHP)组合或 MEAN( MongoDB + Express + AngularJS + Node.js)组合,已经成为互联网公司(尤其是初创公 司)构建其业务的标配,为企业节省大量的时间与成本,让其可以专注于业务 创新上。 阿里 云 前总裁章文嵩博士曾在一次演讲中提到,阿里 集团 因为使用开源软 件而节省了大量成本。有了开源软件,当人们想创办摩拜这样的新公司,不再 需要从零开始造“轮子”,而是可以在庞大的开源软件库中寻找到合适的模块 并根据需要进行合适的修改。比如利用 LAMP 组合, 3 5位开发人员就在几个 月时间里快速搭建出一个业务原型。因此,开源软件很重要的意义在于大大降 低了互联网创新的门槛。 图 1. 价值上百亿美元的开源软件栈 3 另一方面,开源软件也可以让中国的互联网产业,在软件技术方面不再面 临“卡脖子”问题,从而让中国的互联网企业能与硅谷几乎在同一起跑线上竞 3 图片来源: Andreas Olofsson, Intelligent Design of Electronic Assets (IDEA),2017. 8 争,甚至在共享经济、移动支付等领域更具竞争力。当银行等传统企业还严重 依赖于 IOE( IBM的小型机、 Oracle的数据库、 EMC的存储)时,中国的互联网 企业却已经用行动证明了 “ 去 IOE” 的可行性,这一切都得益于中国互联网企 业积极 拥抱开源软件的实践。 2.4 开放指令集 与开源芯片 趋势 和开源软件对于中国互联网产业的作用类似,开源芯片生态 如果 能形成气 候,则会大幅降低芯片 领域 创新门槛, 形成芯片领域的“大众创新”格局 。这 将会对中国乃至全世界半导体产业产生深远 和 积极的影响。 构建开源芯片生态是伟大的理想, 加州大学伯克利分校开发的开放指令集 RISC-V朝这个目标迈出了第一步 。 基于 RISC-V开放 指令集的 处理器有可能像 Linux那样成为开源芯片生态的基石。但是,只有 RISC-V远远不够,还需要开 源的 EDA工具链、 IP模块、工艺库等协同合作,才能真正 实现 开源芯片生态。 这正如今天的开源软件生态除了 Linux 以外,还包括大量构建于 Linux之 上的其他开源工具与开源软件,例如 GCC、 LLVM、 MySQL、 Apache等。 RISC-V 还只是星星之火,但却已展露出燎原之潜力。从当前发展势头来看, RISC-V很 有可能像 Linux那样成为主宰世界的开放指令集标准。 2.5 开源芯片的意义与可行性 经过多年的发展,开源芯片已经具备良好的基础,已经有了比较丰富的开 源芯片设计资源。例如,研制一款 180nm工艺的芯片,可以使用开源的 Magic (包含 Xcircuit、 IRSIM、 NetGen、 Qrouter 和 Qflow) EDA工具链,可以使用 兼容 WISHBONE总线协议的开源 IP模块,并有多种 180nm开源工艺库供选择, 流片费用也并不高。综合起来,研制一款 180nm工艺的芯片可能只需要几千美 元便可实现,门槛已经大为降低。 然而,对于中高端的芯片,还缺乏 完整的 开源芯片设计 EDA工具链与 工艺 库 资源。畅想一下,如果全世界也拥有了价值上百亿美元的芯片设计所需的 开 源 EDA工具链、 IP 模块、工艺库等, 使得 中高端芯片研制成本降低两个数量 9 级,从数千万元降至 数 十万元级别,那么芯片领域的创新将 像今天的互联 网那 样层出不穷, 这可能为解决中国半导体产业 的 卡脖子问题提供了 一条新思路。 历史上降低芯片设计门槛的思路曾取得巨大的成功。 1980年代初,美国的 半导体产业一度落后于日本 。更为尴尬的是 全美上千所大学中只有不到 100 位 教授和学生从事半导体相关的研究 ,人才储备严重不足 。 为了应对这场半导体之争, 美国各界都积极采取行动。 1981年 美国国防部 高级研究计划局 ( DARPA)启动 MOSIS项目 ,资助成立 一个服务大学和科研机构 的专业流片服务机构,隶属南加州大学信息学院 。 MOSIS提出 多项目晶圆 MPW (Multi Project Wafer)模式,实现 将多个使用相同工艺的集成电路设计放在同 一晶圆片上流片, 大幅降低了芯片设计与制造成本。近 40年来 MOSIS 为大学和 研究机构流了 60000 多款芯片,培养了数万名学生 , 缓解了人才匮乏问题。更 为重要的是, MOSIS 通过降低芯片开发门槛,直接催生了新的 商业模式 无 晶圆厂模式( Fabless) 企业,如英伟达( NVIDIA)、高通( Qualcomm)、博通 ( Broadcom)和赛灵思( Xilinx)等, 它们 只需专注于芯片设计 (如图 24) ; 也启发张忠谋于 1987 年创办了台积电( TSMC),专注 于芯片制造。 如今通过开源芯片降低芯片设计门槛,也有可能催生出芯片产业领域的新 商业模式。 因此, 开源芯片 虽然面临众多困难,但仍 是一条值得探索的道路。 4 图片来源: Andreas Olofsson, Intelligent Design of Electronic Assets (IDEA),2017. 图 2. 1980年代 初 DARPA资助 MOSIS项目 ,降低芯片设计 门槛,催生无晶圆厂模式( Fabless)企业的诞生 10 11 3 RISC-V 开放指令集生态现状 3.1 RISC-V 起源 2010年,加州大学伯克利分校的 David Patterson教授与 Krste Asanovic 教授 研究团队正在准备启动一个新项目,需要选择一种处理器指令集。他们分 析了 ARM、 MIPS、 SPARC、 X86等多个指令集,发现它们不仅设计越来越复杂, 而且还存在知识产权问题。于是伯克利的研究团队临时组建一个四 人小组,开 展一个 3个月的暑期小项目 从零开始设计一套全新的指令集!这个小项目 的目标是新指令集能满足从微控制器到超级计算机等各种尺寸的处理器,能支 持从 FPGA到 ASIC 到未来器件等各种实现,能高效地实现各种微结构,能支持 大量的定制与加速功能,能和现有软件栈与编程语言 很好的适配。还有最重要 的一点就是要稳定 不会改变,不会消失。 2011年 5月,第一版指令集正式发布。该指令集设计非常简单,采用了基 础指令集与扩展指令集的方式。基础指令集只包含了不到 50条指令,但已经可 以用于实现一个具备定点运算和特权模式等基本功 能的处理器。扩展指令集提 供了一些常用的原子操作指令、浮点运算指令等,用户也可以需要自身需求进 行自定义。这样,这套指令集既保留了 “ 简单 ” 这个大优点,又赋予了用户足 够的灵活性。伯克利的研究团队在发布时还做了两个重大的决定: 一是将新的指令集命名为 RISC-V(读作 RISC-Five),表示为第五代 RISC(精简指令集计算机) 。 图 2展示了此前的四代 RISC处理器原型芯片。每 一代 RISC处理器都 由 David Patterson教授 领导与参与 。也正是他与学生 RISC-I 1981 RISC-II 1983 RISC-III (SOAR) 1984 RISC-IV (SPUR) 1988 RISC-V 2013 图 2. 五代 RISC 处理器 12 David Ditzel在 1980 年发表的那篇经典论文 “T he case for the reduced instruction set computer” 中创造了 RISC 一词。 二是将 RISC-V 指令集彻底开放,使用 BSD License开源协议 设计了开源处 理器核 Rocket Core。伯克利研究团队认为,指令集 ISA作为软硬件接口的一 种说明和描述规范,不应该像 ARM、 PowerPC、 X86等指令集那样需要付费授权 才能使用,而应该开放( Open)和免费( Free)。 他们 选择的 BSD 开源协议给 予使用者很大自由,允许使用者修改和重新发布开源代码,也允许基于开源代 码开 发商业软件发布和销售。因此 BSD开源协议对商业集成很友好,很多的企 业在选用开源产品时都会首选 BSD开源协议。 于是,一套全新的开放指令集 RISC-V 诞生了 全世界任何公司、大学、 研究机构与个人都可以开发兼容 RISC-V指令集的处理器,都可以融入到基于 RISC-V构建的软硬件生态系统,而不需要为指令集付一分钱。伯克利研究团队 对 RISC-V寄予厚望,希望它能被应用到各种场合,从微控制器到超级计算机; 也希望它能像 Linux 通过开源成为全世界操作系统的事实标准之一,最终成为 全世界处理器指令集的事实标准,为下一个 50年计算机系统设计与创新做出奠 基性贡献。 3.2 RISC-V 指令集特点 RISC-V开源的特点保证了它的稳定性 , 因为它只属于一个开放的、非盈利 性质的基金会 。 而 商用指令集的盛衰往往与该商业公司的发展息息相关 ,历史 上由于商业公司倒闭或者被收购而导致其 商用 指令集消失的例子比比皆是 。 指令集设计者对以往指令集取其精华、去其糟粕后才得到了 RISC-V。 例 如 , 对于分支跳转指令, RISC-V没有 采用 MIPS和 SPARC等指令集中被广为诟 病的分支延迟槽 。 零寄存器的存在,使得 RISC-V可以省略很多在没有零寄存器 的 ARM和 x86中 所必需的指令,简化了指令集设计。 RISC-V最为重要的一个特点是模块化。传统的增量指令集架构设计要求保 持向后的二进制兼容,因此新处理器必须 负重 前行,在实现所有历史设计的基 础上实现新的设计,这 使得指令集架构的 复杂度 随时间 持续 增长 。 RISC-V的做 法是将 指令集 划分为几个标准的子集,称为扩展,并保持一些基础的扩展(例 13 如 RV32I)永远不变。这一约定给编译器 和 操作系统相关的开发人员提供了稳 定的目标。 并且 这些扩展是可选的,处理器的设计者可以根据需求选择实现不 同的扩展,这对于嵌入式应用至关重要。 RISC-V主要的指 令扩展如下: I扩展 :整数 扩展 ( RV32I) 为 RISC-V的 基础 整数 指令集,所有实现都 必须支持。 RV32I极度精简,仅有 38条指令,但是功能齐全,执行通 用计算所必须的整数计算 、 访存 、 分支 以及 系统调用等指令一应俱 全。处理器仅需支持 RV32I,便可以运行完整 RISC-V软件栈 。 M扩展 : 乘法扩展 ( RV32M) 为 RISC-V整数乘除法扩展指令集 , M扩展 支持整数的有符号以及无符号乘除法运算。 F扩展 /D扩展 : 单精度浮点 扩展 ( RV32F)和 双精度浮点 扩展 ( RV32D) 为 RISC-V的 浮点 指令集 。共用一组独立于整数寄存 器的浮 点寄存器 , 拥有常规的访存和运算指令,也有一些包括乘加指令在内 的融合运算指令,使得运算过程更精简而准确。另外为了有助于数学 库的编写,还包括了有助于符号操作的符号注入指令和测试操作数属 性的分类指令。 F和 D扩展没有包括浮点分支指令,取而代之的是浮点 比较指令,可以根据浮点数的比较结果设置寄存器的值,并用于条件 分支。 A扩展: 原子 扩展 ( RV32A) 为 RISC-V的 原子 操作 指令 集 ,为同步操作 提供了必要的支持。 RV32A扩展为不同的使用场景提供了两种对应的原 子操作。其中加载保留( lr)指令和条件存储( sc)指令保证 了原子 的比较 -交换( compare-and-swap)的实现; AMO指令在多处理器系统 中的可扩展性比 lr和 sc更好,可以 实现 I/O通信中的总线原子读 写,从而简化设备驱动,提高 I/O 性能。 G扩展 : 通用扩展 ( RV32G)为 RISC-V基础整数指令集 RV32I 加上 标 准扩展( M、 F、 D、 A) , 统称 RV32G。 C扩展 : 压缩扩展 ( RV32C) 为 RISC-V的 压缩指令 集 。包括了与标准 32位 RISC-V一一对应的短指令,它们只对汇编器 和链接器可见,因此 编译器编写者和汇编语言程序员可以忽略它们。以往的 ISA 设计在重 14 新 设 计短指令集时,会为处理器和编译器的设计增加负担,而 RISC-V 通过上述设计避免了这一缺陷。 V扩展 : 向量扩展 ( RV32V)为 RISC-V向量指令集, 与 其它 指令集中的 单指令多数据 流 ( SIMD)指令不同的是, RV32V将内部向量寄存器的宽 度与指令集解耦,解决了 SIMD指令集每一代升级宽度时,带来的上层 软件适配问题。向量指令集支持向量计算 、 向量 load/store、 向量条 件运算等操作。 RISC-V的 特权模式架构的特点: 与 其它指令集一样, RISC-V为操作系统和其它场景提供了更高的权限模 式。除了通常的用户模式( U模式)以外, RISC-V架构还包括最底层的机器模 式( M模式)和为操作系统提供的监管者模式( S模式)。 M模式是所有标准的 RISC-V处理器必须实现的,拥有对硬件的完全控制权。简单的嵌入式系统只需 要支持 M模式 即可 ,在此模式下可以处理异常和中断。 M模式和 U 模式的组合 可以实现简单的基于地址寄存器比较的内存隔离,而更复杂的基于分页的虚拟 内存方案需要依靠 S模式来实现。默认情况下,所有异常都会交由 M模式处 理,但对于那些实现了 S模式的系统, RISC-V提供了一套异常委托机制,可以 选择性地将中断和同步异常交给 S模式处理,完 全绕过 M模式,从而避免了异 常处理效率的降低。这两种权限模式各有一组控制状态寄存器( CSR),而嵌套 中断需要配合软件用栈实现。 3.3 RISC-V 基金会 RISC-V 基金会 ( RISC-V Foundation) 5是一个非盈利性组织,负责 RISC-V 指令集架构及其软硬件生态的标准化、保护和推广。 RISC-V 基金会的会员可以 参与 RISC-V指令集规范以及相关软硬件生态的开发,并决定 RISC-V未来的推广 方向。 RISC-V基金会每年举办全球性大会,以整合其广阔的生态系统 , 探讨 RISC- V 的最新项目与实现 , 并推动 RISC-V 指令集架构的未来发展。大会邀请顶尖科 5 riscv/ 15 技公司和学术机构,讨论 RISC-V 的架构、开源 实现 和 商业实现、软件 、 芯片、 向量和安全、应用和加速器、模拟器基础设施等等。 RISC-V基金会成立于 2015年 8月,会员条约于 2016年 12月形成。 RISC-V 基金会遵循的原则包括: 1) RISC-V指令集及相关标准必须对所有人开放且无须授权; 2) RISC-V指令集规范必须能够在线下载; 3) RISC-V的兼容性测试套件必须提供源码下载。 为了保护 RISC-V 标准,只有基金会会员可以使用 “RISC -V” 及相关商标, 并且只能用于已经通过 RISC-V兼容性测试套件测试的产品。 基金会的董事会由来自 Bluespec、谷歌、 Microsemi、英伟达、恩智浦半导 体、加州大学伯克利分校和西部数据的七名代表组成。董事会成员的变更须由董 事会投票决定。董事会可修改会员条约,须经过三分之二赞成票通过。董事会可 决定建立委员会来处理关于 RISC-V 的具体事务,并任命下属委员会的主席。目 前已经建立的委员会包括技术委员会和营销委员会。 图 3.RISC-V基金会部分成员 16 RISC-V 基金会目前有超过 210 名成员,包括机构、学术和个人会员,覆 盖 25 个国家,这些国家占据世界人口的 55%。基金会自 2015 年成立以来,会员数 的年增长率超过 100%。当前的成员包括:中科院计算所、阿里巴巴、华为、谷歌、 镁光、英伟达、高通、三星、西部数据、日立、 IBM、联发科、希捷、海力士等。 图 3展示了 RISC-V 基金会的部分成员。 3.4 RISC-V 研讨会 /峰会 RISC-V研讨会 ( Workshop) 一共举办了 9届,举办了 1届 峰会 ( Summit) , 有来自 全球 20多个国家 的共 1100多名参会人员。 往届 研讨会 的 相关信息 在表 1中列出。 表 1.历届 RISC-V研讨会的信息 届数 时 间 地点 1 2015年 1月 美国 加州 蒙特里 万豪酒店 2 2015年 6月 美国加州伯克利 国际之家酒店 3 2016年 1月 美国 加州红木海岸 Oracle会议中心 4 2016年 7月 美国 马萨诸塞州 麻省理工 学院 5 2016年 11月 美国 加州 Google山景园区 6 2017年 5月 中国 上海交通大学 7 2017年 11月 美国明尼苏达州西部数据公司 8 2018年 5月 西班牙 巴塞罗那 9 2018年 7月 印度 金奈 RISC-V研讨会的目的是向全社区通报全球各种 RISC-V项目的最新活动, 并就 RISC-V项目的未来步骤达成共识,同时 举办 训练营提供从 RISC-V开发团 队了解 RISC-V基础架构的机会。 研讨会和训练营 中, 展示 了 多个 RISC-V流 片 、 FPGA板设计和相关软件工具的演示。 研讨会的特色是讲座和海报展示,介 绍 RISC-V社区 当时 在公开提交期间收集的活动。 其中, 第二届研讨会就 RISC-V项目的未来步骤(包括 RISC-V 基金会)达 成共识 。第三届和第四届研讨会与 RISC-V ISA 和 RISC-V基金会的启动 就 未来 17 的步骤达成共识 。第五届,第六届和第七届研讨会就指令集的未来达成共识。 第六届研讨会是 在 北美以外举办的第一次 RISC-V基金会研讨会,有超过 270名 注册参加者。 研讨会 为 RISC-V新手 和尚未 接触 RISC-V ISA的人员举行了为期 一天的会议。会议包括 RISC-V基金会的演示文稿, RISC-V ISA的一些原始创 建者以及 RISC-V社区内供应商的产品演示。 第八届研讨会的 主题演讲包括 NXP软件工程研发副总裁 Robert Oshana, Western Digital执行副总裁兼首席技术官 Martin Fink以及巴塞罗那超级计 算中心主任 Mateo Valero。会议 第一天 涵盖的主题包括基础 ISA批 准 、 BitManip、 合规性 、 调试 、 正式规范 、 内存模型 、 操作码空间管理 、 权限规 范 、 安全性 、 软件工具链和向量扩展 。第二天和第三天举行了 两天的 RISC-V架 构 、 商业和开源实现 、 软件和芯片 、 载体 、 安全 、 应用 、 加速器 和 仿真基础设 施等的演讲。 第九届研讨会 活动包括 RISC-V架构的深入技术演示,演讲方包括领先技术 公司和研究 RISC-V 生态系统中的机构。 RISC-V 的 首届 峰会于 2018年 12月 3 日至 6日在美国硅谷 圣克拉拉 举行。 对于 RISC-V基金会 来说是历史 性的 一次 会议 , 吸引了 来自全球 20 个国家的 1100多 人 参会 。 超过全球 25个国家的 150 家成员公司参加 。 峰会的展览厅共 有 29家参展商,两天内共有 53场演出 。 展会上, 存储产品供应商西部数据 公 司 CTO Martin Fink 在 RISC-V峰会的主题演讲中宣布,将 WD自己开发的 RISC-V内核 SweRV 开源。 SweRV是一款采用 RV32IMC指令集的 32位、 9级 流水 线 RISC-V内核,它采用 双 路超标量设计,可以同时加载和执行多条指令以缩短 程序运行时间,时钟频率为 1.8Ghz,将采用 28mm CMOS工艺制造。其测试性能 可以达到 4.9 CoreMarks/Mhz,将用于 WD 内 部的各种嵌入式应用,比如闪存控 制器和 SSD等。 SiFive 首席架构师 Krste Asanovic 在其主题演讲中揭示了针 对高性能计算的 RISC-V AI平台,包括带向量扩展的 RISC-V内核、 HBM2高带 宽存储接口,以及 56Gb/s SerDes接口。 另外 , Microchip公司旗下的 Microsemi在峰会上演示了一种基于 RISC-V的 PolarFire SoC FPGA 架构,结 合其低功耗 PolarFire FPGA 系列与 SiFive 的 1.5GHz U54-MC RISC-V内核(性 能与 ARM Cortex-A35 相当),将实时、确定性的非对称多处理 (AMP)能力带到 18 Linux平台。这一平台具有灵活的 2 MB L2 存储器子系统、单 -双错误校正 (SEC-DED)等可靠性和安全性功能,以及 SmartDebug 逻辑分析仪等调试功能。 3.5 RISC-V 软硬件生态 芯片技术是信息技术产业链中的重要基石,也是我国大幅落后于国际水平的 技术领域之一。发展自主可控的芯片技术,并打破 Intel、 高通 、 ARM 等芯片巨 头的技术垄断,已成为当下亟待解决的问题。 处理器指令集是软硬件的接口,是构建芯片生态和发展芯片技术的核心部分, 其重要 性不言而喻。 2011 年,加州大学伯克利分校发布了开放指令集 RISC-V, 并 很 快建立起一个开源软硬件生态系统。由于 RISC-V 的指令标准清晰,并且开 源免授权等特性,在芯片领域受到广泛关注。截止 2019年 1月 ,已有包括 Google、 NVidia等在内的 200 多 个公司和高校在资助和参与 RISC-V项目。其中,部分企 业已经开始将 RISC-V 集成到产品中 。 例如全球第一大硬盘厂商西部数据 ( Western Digital)最近宣布将把每年各类存储产品中嵌入的 10 亿个处理器核 换成 RISC-V; Google 利用 RISC-V 来 实现主板控制模块; NVidia 也将在 GPU 上 引入 RISC-V 等 。此外,国内阿里巴巴、华为、联想等公司都在逐步研究各自的 RISC-V实现;上海市将 RISC-V列为重点扶持项目;印度政府也正在大力资助基 于 RISC-V的处理器项目,使 RISC-V成为了印度的事实国家指令集。这表明 RISC- V已经逐渐成为芯片设计领域的主流指令集之一,且广受各大厂商青睐。 下面 从 RISC-V指令集、生态系统和已有 RISC-V实现等几 方面 介绍 RISC-V的发展现状
展开阅读全文