**这是本文档旧的修订版!**
RISC-V相关资源
扫描二维码,关注微信公众号“电子森林”,可以在手机上查看本网站的所有文章
RISC-V(发音为“risk-five”)是基于已建立的精简指令集计算机(RISC)原理的开源硬件指令集架构(ISA)。该项目于2010年在加州大学伯克利分校开始,但许多贡献者都是不隶属于该大学的志愿者。2019年3月,用户端的版本2.2的ISA固定下来,大多数软件开发者可以继续进行开发。 特许模式的ISA的草案版本1.10可以使用。 调试规范可用作草案版本0.13.1。
RISC-V对行业的意义 可用的新指令集架构(ISA)通常非常昂贵,计算机设计师通常无法免费工作。此外,开发CPU需要几个专业的设计专业知识:电子数字逻辑、编译器和操作系统。在专业工程组织之外找到这样一个团队是不容易的。团队通常是从他们的设计收取的钱中支付的。因此,计算机设计的商业供应商,如ARM Holdings和MIPS Technologies,就其设计,专利和版权的使用收取使用费。
在发布描述其设计详细优势和指令集的文档之前,他们还经常要求保密协议。在许多情况下,他们从未描述他们的设计选择的原因。
这种费用和保密性使得新硬件和软件的开发变得更加困难。它还会阻止安全审核。另一个结果是除了在学术环境中之外,尚未解释或提供现代的,高质量的通用计算机指令集。
RISC-V开始解决这些问题。我们的目标是制作一个开源的实用ISA,可以在任何硬件或软件设计中使用而无需使用版税。此外,至少在广义上解释了项目每个部分的基本原理。 RISC-V的作者是学术性的,但在计算机设计方面拥有丰富的经验。 RISC-V ISA是一系列学术计算机设计项目的直接开发。它的部分原因是为了帮助这些项目。
为了解决设计成本问题,该项目由DARPA资助的学术研究开始。为了构建一个庞大,持续的用户社区,从而积累设计和软件,RISC-V ISA设计人员计划支持各种实际用途:小型,快速和低功耗的实际实现,没有针对特定的微体系结构进行过度架构。对大量贡献者的需求是RISC-V被设计为适合如此多用途的部分原因。
因此,许多RISC-V贡献者将该项目视为一项统一的社区工作。
关于RISC-V
先驱者
RISC一词的历史可以追溯到1980年左右。在此之前,有一些知识认为更简单的计算机可能是有效的,但设计原则没有被广泛描述。简单有效的计算机一直是学术上的兴趣所在。
Academics于1990年为第一版计算机体系结构:定量方法创建了RISC指令集DLX.David Patterson是作者,后来协助RISC-V。 DLX用于教育用途。学者和业余爱好者使用现场可编程门阵列实现它。这不是商业上的成功。
ARM CPU(版本2及更早版本)具有公共域指令集,GNU编译器集合(GCC)仍然支持它,这是一种流行的自由软件编译器。这个ISA存在三个开源核心,但它们尚未制造出来。 OpenRISC是一个基于DLX的开源ISA,具有相关的RISC设计。它完全支持GCC和Linux实现。但是,它几乎没有商业实施。
学术用途
加州大学伯克利分校的KrsteAsanović发现了许多用于开源计算机系统的用途。 2010年,他决定在“夏季短期,三个月的项目”中开发和发布一个。该计划旨在帮助学术和工业用户。伯克利的大卫帕特森也帮助了这项努力。他最初确定了Berkeley RISC的属性,而RISC-V是他长期合作的RISC研究项目之一。在这个阶段,学生们可以廉价地提供初始软件,模拟和CPU设计。
RISC-V作者及其机构最初提供了ISA文档和BSD许可下的几种CPU设计,允许衍生作品(如RISC-V芯片设计)开放和免费,或封闭和专有。
早期的资金来自DARPA
基金会
商业问题要求ISA在可以使用可能持续多年的产品之前保持稳定。为了解决这个问题,RISC-V基金会的成立是为了拥有,维护和发布与RISC-V定义相关的知识产权。原作者和所有者已经放弃了他们对基金会的权利。
自2019年起,该基金会自由发布定义RISC-V的文档,并允许在软件和硬件设计中不受限制地使用ISA。但是,只有RISC-V基金会的付费会员才能投票批准更改或使用商标兼容性徽标。
真实世界的使用
支持RISC-V基金会的部分组织包括:Advanced Micro Devices(AMD),Andes Technology,Antmicro,BAE Systems,Berkeley Architecture Research,Bluespec,Inc.,Cortus,Google ,GreenWaves Technologies,Hewlett Packard Enterprise,华为,IBM,Imperas Software,计算技术研究院(ICT)中国科学院,IIT Madras,Lattice Semiconductor,Mellanox Technologies,Microsemi,Micron Technologies,Nvidia,NXP,Oracle,Qualcomm,Rambus密码学研究,Western Digital和SiFive。
奖项
2017年:Linley集团最佳技术分析师选择奖(针对指令集)
激励要求
设计人员说,指令集是计算机中的主要接口,因为它位于硬件和软件之间。如果一个好的指令集是开放的,可供所有人使用,它应该通过允许更多的重用来大大降低软件的成本。它还应该增加硬件提供商之间的竞争,硬件提供商可以使用更多的资源进行设计而不是软件支持。
设计人员断言,新原则在指令集设计中变得越来越少,因为过去四十年中最成功的设计变得越来越相似。在那些失败的人中,大多数都是这样做的,因为他们的赞助公司在商业上失败了,不是因为技术上的指令集很差。因此,使用完善的原则设计的精心设计的开放式指令集应该吸引许多供应商的长期支持。
大多数先前的开放式ISA使用GNU通用公共许可证(GPL),鼓励用户打开他们的实现以复制和使用他人。
与仅为简化说明而优化的其他学术设计不同,设计人员声称RISC-V指令集适用于实际计算机。据说它具有提高计算机速度,降低成本和功耗的功能。这些包括加载 - 存储架构,简化CPU中多路复用器的位模式,简化的基于标准的浮点,架构中立的设计,以及将最高有效位放置在固定位置以加速符号扩展。据说符号扩展通常位于关键时序路径上。
该指令集适用于广泛的用途。它支持三个字宽,32,64和128位,以及各种子集。对于三个字宽,每个子集的定义略有不同。这些子集支持小型嵌入式系统,个人计算机,带矢量处理器的超级计算机以及仓库级机架式并行计算机。
指令集是可变宽度和可扩展的,因此总是可以添加更多的编码位。 ISA的128位拉伸版本的空间被保留,因为60年的行业经验表明,指令集设计中最不可恢复的错误是缺少内存地址空间。截至2016年,128位ISA仍然是故意未定义的,因为这种大型内存系统的实际经验却很少。
但是,RISC-V也支持设计师的学术用途。整数子集的简单性允许基本的学生练习。整数子集是一个简单的ISA,使软件能够控制研究机器。可变长度ISA可以扩展学生练习和研究。分离的特权指令集允许研究操作系统支持,而无需重新设计编译器。RISC-V的开放知识产权允许其设计被发布,重用和修改。
软件
新指令集的正常问题是缺乏CPU设计和软件。这两个问题都限制了它的可用性并减少了采用率。RISC-V网站有一个用户模式指令规范,以及支持操作系统的通用特权指令集的初步规范。
有几种开源的RISC-V CPU设计,包括64位伯克利故障排除机(BOOM),64位火箭(Rocket),来自伯克利的五种32位Sodor CPU设计,来自Clifford Wolf的picorv32,来自Syntacore的scr1,来自ETHZürich/博洛尼亚大学的PULPino(Riscy和Zero-Riscy),等。三级Sodor CPU似乎适用于小型嵌入式CPU。火箭可能适合紧凑,低功率的中间计算机,如个人设备。 BOOM使用为Rocket创建的大部分基础架构,可用于个人,超级计算机和仓库级计算机。 picorv和scr1都是Verilog中的32位微控制器单元(MCU)级RV32IMC实现。 PULPino中的内核实现了一个简单的RV32IMC ISA,用于微控制器(Zero-Riscy)或更强大的RV32IMFC ISA,具有用于嵌入式信号处理的定制DSP扩展。
设计软件包括一个设计编译器Chisel,它可以将设计简化为Verilog用于设备。该网站包含用于测试核心实施的验证数据。
可用的RISC-V软件工具包括GNU编译器集合(GCC)工具链(带有GDB,调试器),LLVM工具链,OVPsim仿真器(以及RISC-V快速处理器模型库),Spike仿真器和模拟器QEMU。
Linux内核,FreeBSD和NetBSD都存在操作系统支持,但是管理员模式指令自2019年3月14日起未标准化,因此这种支持是临时的。 RISC-V架构的初步FreeBSD端口于2016年2月上市,并在FreeBSD 11.0中发布。Debian和Fedora的港口正在稳定下来。 Das U-Boot的端口存在。UEFI Spec v2.7已经定义了RISC-V绑定,而且一个TianoCore端口已经由HPE工程师完成并且预计将被升级。有一个seL4微内核的初步端口。存在一个模拟器,用于使用JavaScript在Web浏览器上运行RISC-V Linux系统。Hex Five发布了第一个支持FreeRTOS的RISC-V安全IoT协议栈。
采用者
商业
- SiFive是一家专门开发RISC-V硬件的公司,其处理器型号于2017年发布。其中包括RISC-V SoCa四核,64位片上系统。Syntacore是RISC-V基金会的创始成员之一,也是最早的商业RISC-V IP供应商之一,自2015年以来开发并授权RISC-V IP系列。截至2018年,产品线包括8个32和64位核心,包括开源SCR1 MCU核心。2016年首次展示了基于Syntacore IP的商用SoC。
- 2016年加入该联盟的RISC-V基金会的创始成员Andes Technology Corporation于2017年发布了其首批两个RISC-V内核.N25和NX25内核具有完整的设计生态系统和RISC-V合作伙伴的数量。安第斯山脉正在积极推动RISC-V生态系统的发展,并期望在2018年推出几款新的RISC-V产品。
- Codasip和UltraSoC为RISC-V嵌入式SOC开发了完全支持的知识产权,将Codasip的RISC-V内核和其他IP与UltraSoC的调试,优化和分析相结合。
- Imperas为RV32GC和RV64GC ISA变体的不同子集开发了一系列快速处理器模型,这些变体是OVPsim指令的一部分,用于嵌入式软件开发的精确模拟器分发。
- GreenWaves Technologies于2018年2月宣布推出GAP8,一个32位1控制器,8个计算核心,32位SoC和开发板。他们的GAPuino GAP8开发板于2018年5月开始出货。
- Hex Five宣布推出一般可用性MultiZone Security - 第一个使用标准RISC-V ISA和特权模式扩展的RISC-V可信执行环境(TEE)。
- CloudBEAR是一家处理器IP公司,为各种应用开发自己的RISC-V内核。
在开发中
- 印度理工学院马德拉斯正在开发六种RISC-V开源CPU设计,用于六种不同的用途,从用于物联网(IoT)的小型32位CPU到专为仓库级计算机设计的大型64位CPU。作为基于RapidIO和Hybrid Memory Cube技术的服务器场。
- Nvidia计划使用RISC-V替换他们的GeForce显卡上的Falcon处理器。
- ASTC为嵌入式IC开发了RISC-V CPU。
- Adapteva计划使用RISC-V,作为其多核加速器产品的后续产品
- lowRISC是一个非盈利项目,旨在实现基于64位RISC-V ISA的完全开源硬件片上系统(SoC)。
- 剑桥大学计算机实验室与FreeBSD项目合作,将该操作系统移植到64位RISC-V,用作硬件 - 软件研究平台。
- 苏黎世联邦理工学院和博洛尼亚大学合作开发了开源RISC-V PULPino处理器,作为节能超低功耗(PULP)项目的一部分,用于节能物联网计算。
- Western Digital宣布了将RISC-V处理器嵌入其未来产品的计划。
- Esperanto Technologies宣布他们正在开发三种基于RISC-V的处理器:ET-Maxion高性能核心,ET-Minion节能核心和ET-Graphics图形处理器。
RISC V相关资源链接
- Waterman, Andrew; Lee, Yunsup; Patterson, David A.; Asanović, Krste (5 November 2015). "The RISC-V Compressed Instruction Set Manual Version 1.9 (draft)"