Hot Chips 2026会议强调RVA23标准已被正式采纳为RISC V处理器架构的新基线。
在 Hot Chips 2026 大会上,我们提供了关于 RISC-V 标准及采用情况的最新进展。本文系现场撰写,但作为我们更广泛的 RISC-V 报道的一部分,稍后发布。RISC-V 的官方诞生日是 2010 年 5 月 18 日,到本届大会时,该项目已有 16 年的历史。时间线从加州大学伯克利分校的首次研究开始,历经 RISC-V 基金会的成立和早期商业产品推出,直至目前进军服务器处理器领域,推出了首款 RVA23 硅片。感觉我们发表的关于 RISC-V 的文章数量,比实际看到以 RISC-V 为主 CPU 的平台还要多。
SiFive 开场强调,RISC-V 是一个全球性的、由社区开发的标准,不与任何单一公司的命运挂钩。这种开放性产生了比以往任何指令集架构(ISA)都多得多的处理器实现方案,范围涵盖可授权的 IP 核以及仅需 125 个 FPGA LUTs 即可容纳的开源核心。为了便于管理众多 RISC-V 变体,规范被划分为模块化层级。基础 ISA 定义基本要素,扩展功能添加特定特性,配置文件确立给定垂直领域所需的强制组合,而平台标准则超越 ISA 本身,涵盖整个硬件子系统。
今天正式批准了四个基础 ISA:RV32I、RV64I、RV32E 和 RV64E,它们在地址宽度和寄存器数量上有所不同。更多基础设计正在开发中,包括增加硬件能力的 CHERI 变体,以及针对 128 位地址空间的未来 RV128 设计。早期的 RISC-V 扩展使用单字母助记符,例如 M 表示乘法和除法,V 表示向量,G 则作为常见的 MAFD 集合的别名。后来的工作转向了 Z* 命名方案用于非特权扩展,按类别对它们进行分组,因此 Z 后的第一个字母指示该扩展触及的架构领域。
RISC-V 中的编码空间受到严格分类,以便供应商和标准机构明确各自的所有权。类别包括标准、保留、自定义、非标准和不符合标准,这防止了如 Xsfvqdotq 字符串等供应商特定功能与未来的标准扩展发生冲突。SiFive 强调,RISC-V 规范描述的是在执行环境中执行的 hart,而不仅仅是原始硬件。hart 是硬件线程,而执行环境定义了初始状态、内存属性和中断处理等参数;值得注意的是,Linux 用户 ABI 即被视为此类规范之一。
RISC-V 的特权级别结构为用户模式、监督者模式和机器模式。一个 hypervisor 扩展通过虚拟用户和监督者模式以及两级地址翻译扩展了这一模型,而专用的调试模式则服务于硬件调试需求。特权分层保持清晰,因为没有任何规范假设其他位置存在更高特权的模式。扩展功能按其可见性级别分离,这就是命名约定分为 Sm(机器)、Sh(hypervisor)、Ss(监督者)、Sv(虚拟内存)和 Sd(调试)的原因。ISA 字符串由基础名称及其扩展组成,且命名不区分大小写。完全展开后,现代应用字符串包含数十个 Z、S 和 V 扩展,这也是配置文件对于维持软件可移植性至关重要的原因。
向量扩展于 2021 年获得批准,增加了 32 个向量寄存器,尽管确切数量取决于具体实现。由于 ISA 支持向量长度无关的代码,单个二进制文件可以在从 32 位嵌入式组件到 2048 位 AI 加速器的数据路径上正确运行,而无需重新编译。矩阵支持正通过 AME、IME 和 VME 等互补方法开发,具体取决于矩阵元素的驻留位置和执行方式,同时还有基于向量的快速通道选项。这使得硅片供应商能够选择最适合其数据路径的实现方案。SiFive 将 AI 计算置于机器组织的光谱中进行定位,指出标量、向量或矩阵 RISC-V 核心可以在 CPU 风格的主机、外围设备或完全自托管系统中运行——这一模式在演示中被追溯至一篇关于显示处理器的 1968 年论文。SiFive 认为,RISC-V 是唯一能同时在所有 AI 角色中有效运行的 ISA,既作为主机 ISA(如 NVIDIA CUDA 堆栈移植所示),也作为众多加速器中的设备 ISA,以及边缘 AI 和代理式 CPU 的自托管 ISA。
安全性始于 ISA 的最低层级。物理内存保护寄存器允许机器模式控制来自较低特权代码的访问,而 RISC-V Worlds 通过在事务中标记世界 ID 提供总线级隔离,以便目标侧检查强制执行权限。机密计算利用监督者域,其中基于内存的页面保护表使机器模式能够隔离多个监督者或 hypervisor 堆栈,IOMMU 镜像相同的页表格式。除了这些基础之外,ISA 还包括广泛的其他安全功能,如标量和向量加密、数据独立执行时间、控制流完整性和指针掩码。正在进行的工作包括 CHERI、推测屏障、内存标记和内存加密上下文。
二进制软件生态系统在针对最低共同分母和采用新功能之间面临固有的张力。RISC-V 通过 RVA 配置文件解决了这一问题,这是一个强制 ISA 功能的路线图,硬件实施者承诺每一代都要交付这些功能,以便软件可以可靠地依赖它们。RVA 配置文件针对丰富的应用程序处理器生态系统,如 Android 和 Linux 发行版。已批准的代数包括 RVA20(捕捉早期的 RV64GC 基线)、RVA22,以及 2024 年 10 月批准的 RVA23(具有强制向量和 hypervisor 支持)。除了强制扩展外,每个配置文件还定义了四个选项类别:本地化选项涵盖司法管辖区要求,开发选项代表可能的未来强制要求,扩展选项带来显著的实现开销,过渡性选项可能在配置文件中存在也可能不存在。选项列表故意保持小于完整的 ISA 扩展集。本地化和扩展选项是粗粒度的,以最小化软件支持成本,而开发选项可以是细粒度的,因为它们预计将成为强制性的。RVA 发布有两种版本:主要版本引入实质性的新强制功能(如 RVA20 和 RVA23),而未来的次要版本仅添加选项,确保新的标准软件继续在以前主要版本的硬件上运行。
RVB23 是一个单独的、同样获得批准的配置文件,服务于不同的目的。它针对使用 Yocto 和 OpenEmbedded 等自定义软件工具链构建的应用处理器,而不是预编译的二进制发行版,未来的 RVB 配置文件将按照自己的时间表发展。目前的 ISA 字符串描述功能的作用,而非性能速度。这一差距对于不对齐访问等操作尤其相关,软件历史上即使高性能核心能高效处理这些操作,也会悲观地绕过它们。为了弥合这一差距,规范引入了优化指导选项,以对齐硬件能力与软件期望。两个选项启动了这一倡议:Oilsm 指示软件假设不对齐加载和存储得到高效处理,而 Ovlt 假设微架构根据向量长度寄存器中的动态值而非静态循环形状进行优化。
对于服务器市场,平台规范将硬件组件联系在一起。它要求符合 RVA23 的处理器、标准的 RISC-V AIA 中断、PCIe 和 IOMMU 支持、UEFI 和 ACPI 固件、TPM 硬件,以及通过 MCTP、PLDM、Redfish 和 IPMI 进行的 BMC 管理。这些要求确保 RISC-V 供应商彼此兼容,并与既定的行业标准服务器兼容。同样的配置文件逻辑通过更丰富的 RVM 标准延伸至微控制器,该标准强制要求 numerous ISA 扩展,并定义了一个包含标准快速中断、嵌套 sPMP 保护、RISC-V Worlds 安全性以及全面调试和跟踪支持的子系统。
随后,演示进入破除迷思环节。针对 RISC-V 碎片化的常见批评,SiFive 反驳称生态系统实际上是多样化的。当进行具体比较时,x86 跨越两家拥有不同 hypervisor 和 IOMMU 规范的供应商,Arm 已经推出了四种不同的向量架构,而 RISC-V 则在应用核心、AI 加速器和嵌入式组件中重用单一的向量扩展。同样,关于扩展过多的抱怨也被置于背景中:RISC-V 保持了大约 200 个扩展,相比之下 AArch64 约为 400 个,x86_64 约为 800 个,RISC-V International 积极管理这些扩展以最大化重用。最后,SiFive 反对 RISC-V 仅因低成本而具有吸引力的观点。虽然竞争确实降低了价格,但也推动了性能、能效和功能集的改进。RISC-V 独特地将创新自由与标准化软件堆栈相结合,这是传统 ISA 无法提供的。