Page 330 - 《软件学报》2021年第12期
P. 330
3994 Journal of Software 软件学报 Vol.32, No.12, December 2021
RISC-V 在资源依赖性、低功耗性、易用性、可定制性、可扩展性等方面的优势,因而能够高效、迅速而低成
本地完成各自领域中的系统级任务.
RISC-V 作为一种指令集架构,一方面,它规定了硬件设备在设计电路、组装元件时应当实现的功能目标;
根据指令集的内容,决定运算单元、存储单元等元件的种类、数目、位宽及接线方式.另一方面,它是对硬件能
力的一种抽象,提供了机器所能完成的操作种类、地址空间大小、数据格式、访问权限信息;上层软件应用可
以将指令集视为硬件运行环境,而无需特别关注具体的硬件实体.图 1 直观地解释了 RISC-V 在系统中的定位.
Fig.1 The translation and execution process of application code
图 1 系统对应用程序代码的翻译和执行过程
对于 RISC-V 的研究将至少着眼于 4 个层面中的一个:对于底层 RISC-V 硬件的研究、对于 RISC-V 指令
集自身的研究、对于上层 RISC-V 系统(主要是基础软件)的研究,对于顶层应用的研究.而在研究内容上,普遍集
中在系统或应用的功能、性能、安全这 3 个方面.本文围绕 RISC-V 体系结构设计过程和主要关注点,从上述 4
个层面对相关研究进行了总结.这些研究工作均来源于对 DBLP 文献数据库的检索,共涉及 126 篇论文文献(截
至 2021 年 7 月).从论文发表的期刊和会议看,有 65 篇来自 CCF-A 类期刊或会议中,占比超过 50%;有 104 篇发
表在计算机体系结构领域的期刊或会议中,占比超过 82%,其余 22 篇论文分别发表在网络与信息安全、软件工
程、系统软件等领域的期刊或会议中.对这些 RISC-V 研究工作的分布统计见表 1.
本文第 1 节介绍 RISC-V 相关概念及其优势,并对本文结构进行概述.第 2 节回顾近年来对于 RISC-V 指令
集的研究,包括对于各指令集扩展现状的分析.第 3 节总结处理器、加速器等支持 RISC-V 系统的硬件工作环境.
第 4 节讨论各种 RISC-V 系统的设计及其要点.第 5 节介绍一些利用 RISC-V 实现性能、安全提升的应用案例.
第 6 节展望 RISC-V 架构未来可能的发展方向和研究点.最后在第 7 节对本文内容进行总结.
2 RISC-V 指令集
RISC-V 的指令集包括基础指令集和扩展指令集两类.RISC-V 指令集架构被定义为一个基础指令集和若
干可选扩展指令集的组合,并在一种权限模式下进行工作.本节对 RISC-V 各指令集的当前状态进行了总结和
分析,并简要介绍了 RISC-V 的权限规则.