Skip to content

标准版本基线

1. 目的

本文锁定项目实现时引用的正式标准,防止从不同版本拼接编码、CSR、页表或设备语义。实现中的标准注释和测试必须引用本文版本;升级标准必须先做影响分析并获得用户确认。

2. RISC-V 非特权 ISA

采用 RISC-V International 的 Unprivileged ISA 20260120 官方发布版,并锁定以下已批准模块:

模块 版本 项目用途
RV64I 2.1 64 位基础整数指令
Zicsr 2.0 CSR 指令
Zifencei 2.0 FENCE.I
M 2.0 整数乘除
A 2.1 LR/SC 与 AMO
F 2.2 单精度浮点
D 2.2 双精度浮点
C 2.0 压缩指令
V 1.0 基础向量扩展

不在本表中的可选扩展默认不声明、不译码。若 Linux 或 OpenSBI 的冻结配置需要额外扩展,必须先更新本文和对应任务。

3. RISC-V 特权架构

采用 RISC-V International 的 Privileged ISA 20260120 官方发布版,Machine ISA 与 Supervisor ISA 均以 1.13 的已批准语义为准。

首版实现 M/S/U、Sv39 和 PRD 所需中断/CSR,不实现 Hypervisor 扩展。A/D 位选择硬件更新路径;是否正式声明 Svadu、PMP 范围以及其他监督级扩展,必须在 CPU/MMU 模块开始前单独冻结,不能仅凭部分行为宣称支持。

4. RVV

向量语义采用官方 V Standard Extension 1.0。硬件参数固定为 VLEN=256ELEN=64vlenb=32,包含 32 个向量寄存器。

5. VirtIO

采用 OASIS 的 Virtual I/O Device (VIRTIO) Version 1.2。项目使用 modern MMIO transport、Version 1 合规设备模型和 split virtqueue;不混用 legacy transport。可选 feature 只有在实现与测试完成后才公布。

6. 外部软件版本状态

OpenSBI、Linux LTS、交叉工具链和最小 rootfs 的精确版本仍属于外部产物决策,当前未冻结,也未下载。它们必须在引导模块开始前从官方来源选择、记录许可证与 SHA-256,并由用户确认。因此 SDD-004 当前不能标记完成。

7. 本模块适用条款

物理总线与 RAM/ROM 模块直接遵循:

  • RV64 的 64 位物理访问值表示和小端内存字节序。
  • 只允许 8、16、32、64 位显式访问宽度。
  • 物理范围使用半开区间并对所有加法做溢出检查。
  • 原子 compare-exchange 是总线正式事务,为后续 A 扩展与 PTE A/D 更新提供唯一基础能力。

本文仅冻结标准,不表示任何对应 ISA 或设备模块已经实现。