Krysztal的书桌

Krysztal的书桌

马上订阅 Krysztal的书桌 RSS 更新: https://blog.krysztal.dev/atom.xml

RVA23 包含了什么

2025年7月12日 06:57

Ubuntu计划在 25.10 的 RISC-V 架构中只支持 RVA23 配置文件,于是打算大概看下RVA23 有什么是比较重大的指令集成为了必选

For Ubuntu 25.10 release we plan to raise the required RISC-V ISAprofile family to RVA23.

The ubuntu-release-upgrader should stop upgrades beyond Ubuntu 24.04on hardware that does not support the RVA23U64 profile. RVA23U64 [1] isthe profile relevant for user space.

As there is no upgrade path from Ubuntu 25.04 Plucky for RVA20systems, we should also stop upgrading these RISC-V systems from Nobleto Plucky. Probably a warning is adequate here.

RVA23 配置文件旨在规范 RISC-V 64位应用处理器的实现,使二进制软件生态系统能够依赖大量有保障的扩展功能和少量可发现的粗粒度选项。RVA23明确不以支持最小功能集和大量细粒度扩展来实现更大的硬件实现灵活性为目标。

指令集

该系列仅规定了用户模式(RVA23U64)和管理模式(RVA23S64)两种配置方案。

用户模式强制性基础

拓展解释备注
RV64IThe mandatory base ISA for RVA23U64 and islittle-endian.As per the unprivileged architecturespecification, the ECALL instruction causes a requested trap to theexecution environment.

用户模式强制性拓展

具有可缓存性和一致性的主存区域必须支持指令获取,且对自然对齐的2 的幂大小(最大 min(ILEN,XLEN),RVA23 为 32位)的指令获取必须是原子的必须支持对具有可缓存性和一致性的主存区域进行非对齐加载/存储操作
拓展解释备注
A原子指令
B位操作指令
C压缩指令
D双精度浮点指令
F单精度浮点指令
M整数乘除法指令
Zkt数据无关执行延迟控制
ZicsrCSR 控制状态寄存器指令(F扩展隐含此功能)
Zihpm硬件性能计数器
Za64rs保留集必须为 64 字节连续自然对齐空间
Zfhmin半精度浮点运算
Zic64b缓存块必须为 64字节大小且在地址空间中自然对齐
Zicbom缓存块管理指令
Zicbop缓存块预取指令
Zicboz缓存块清零指令
Ziccif
Zicclsm
Ziccrse具有可缓存性和一致性的主存区域必须支持RsrvEventual 特性
Zicntr基础计数器和定时器
Ziccamoa具有可缓存性和一致性的主存区域必须支持 A扩展中的所有原子操作
Zihintpause暂停提示指令

RVA23U64 新增了以下强制性扩展:

拓展解释备注
V向量扩展注:V 在 RVA22U64 中是可选扩展
Zcb额外压缩指令集
Zfa额外浮点指令集
Supm指针掩码功能,执行环境至少需支持 PMLEN=0和 PMLEN=7 的设置
Zawrs等待保留集指令
Zcmop压缩型可能操作指令
Zimop可能操作指令
Zvbb向量基础位操作指令
Zvkt向量数据无关执行延迟控制
Zicond整数条件操作指令
Zvfhmin向量最小半精度浮点运算...

剩余内容已隐藏

查看完整文章以阅读更多