
RISC‑V已经从伯克利大学的一项研究架构,发展成为一套全球性指令集标准,覆盖嵌入式控制器、应用处理器、硬件加速器以及新兴服务器领域。它的核心技术特征不只是开放,而是受规范约束的模块化设计。四项已正式定稿的基础指令集 ——RV32I、RV64I、RV32E、RV64E,构建起完整的非特权编程模型,差异体现在地址位宽与整数寄存器数量。各类扩展则提供可复用能力,包括乘法、原子操作、浮点运算、压缩指令、向量以及虚拟化。这种拆分设计,让芯片实现方可以对处理器做定制化设计,无需重新定义通用语义,也不用重建软件生态。
这种灵活性受明确的编码规则约束。RISC‑V国际组织划定标准编码空间与保留编码空间,同时永久分配自定义编码空间,用于实现厂商私有功能。因此,厂商自定义指令放在自定义编码空间、并按规范标识即为合规;如果占用标准或保留编码空间,则属于不符合规范。这一划分区分了架构多样性与生态碎片化:前者指不同处理器解决不同业务场景;后者指相同功能却采用互不兼容的实现方式。
该架构定义执行环境内的hart(硬件线程),但不会指定具体微架构。执行环境管控初始状态、内存属性、输入输出、中断、异常以及环境调用,Linux用户ABI就是其中一例。特权模式同样采用分层设计。用户模式、监管者模式、机器模式、虚拟用户模式、虚拟监管模式实现清晰隔离,同时虚拟机管理扩展提供两级地址转换。由于规范不预先假定高特权模式一定存在,特权功能可以被捕获并做软件模拟,不会产生架构层面的虚拟化漏洞。
向量处理充分体现RISC‑V的可伸缩特性。已定稿的RVV向量扩展配备32个向量寄存器,向量硬件位宽VLEN由硬件实现决定,现有已公开实现的位宽区间为32比特至16384比特。向量长度无关软件可动态探测硬件可用向量位宽,因此同一份二进制程序,无需重新编译,既可以利用嵌入式窄数据通路,也能发挥加速器宽数据通路的性能。LMUL对寄存器进行分组,支持混合位宽运算,同时减少指令开销。处于提案阶段的矩阵相关方案,在该模型基础上增加向量点积、矩阵功能单元、矩阵处理引擎,或是矩阵‑向量融合引擎。
配置集(Profiles)将模块化能力转化为可靠的软件目标平台。RVA应用处理器配置集规定基础指令集、强制扩展以及精选可选特性,为操作系统与二进制发行版提供可预期的硬件能力下限。2024年10月定稿的RVA23,将向量扩展、虚拟机管理扩展列为强制要求,高性能向量密码学则定义为本地化可选特性。开发类选项用于预览未来大概率会转为强制的功能;扩展类选项涵盖矩阵引擎这类硬件成本高、可被软件探测的功能;临时类选项未来可能被移除;本地化选项用于适配不同地区的合规要求。小版本迭代仅新增可选特性,不会增加强制要求,保障同一个大版本下的兼容性。
指令集之上的各类标准,补齐完整平台能力。RISC‑V服务器规范以RVA23处理器为核心,搭配高级中断架构、PCIe与IOMMU、UEFI与ACPI、可信平台模块TPM、串口UART,以及成熟的BMC管理协议。规划中的RVM配置集与子系统,对高性能微控制器施加同类标准化约束,包含高速中断、嵌套物理内存保护、安全机制、调试与跟踪功能。现有安全机制包括PMP物理内存保护、监管域、IOMMU协同、密码学、时间无关抗侧信道、控制流完整性、指针掩码,以及RISC‑V Worlds。该机制为总线事务打上标签,实现多个互不信任软件隔离域的相互隔离。
该报告同时澄清若干性能认知误区。可变长度指令用2比特标记指令长度,相比x86可以简化解码逻辑,同时兼顾代码密度与编码表达能力。RISC‑V将比较运算与分支指令合二为一,硬件实现并不天然依赖指令融合,当然指令融合依旧是可选优化。新增的优化指引选项进一步让软件适配硬件微架构:Oilsm提示编译器优先交由硬件处理非对齐标量与向量访问;Ovlt表示向量执行应当基于动态向量长度vl做优化,而非依赖缩小后的LMUL寄存器分组。
这套架构依靠多方协同、而非专有垄断来实现能力扩展。RISC‑V扩展数量约200个,看似繁杂,但配置集避免通用软件面向任意扩展组合做适配,同时可复用扩展减少架构层面的重复开发。在需要差异化的地方保留厂商定制能力;在二进制兼容至关重要的场景,则通过标准化配置集与平台规范进行约束。这种平衡,让RISC‑V并非只是一款开源处理器实现,而是一套开放指令集与平台框架,既能够支撑高度专用的硬件,也可以承载广泛且可持续的软件生态。
本文转自媒体报道或网络平台,系作者个人立场或观点。我方转载仅为分享,不代表我方赞成或认同。若来源标注错误或侵犯了您的合法权益,请及时联系客服,我们作为中立的平台服务者将及时更正、删除或依法处理。
