一直以来,龙蜥社区在 RISC-V 生态建设中持续投入,并积极贡献上游社区。RISC-V International Data Center SIG 第八次会议内容见下:
Atomic I/O Enqueue(AIOE )扩展提案 v4 提案评审
RISC-V International Data Center SIG 近期召开线上双周例会,本次会议在完成例行的社区协作、反垄断与出口管制等合规提示后,进入技术讨论环节:与会者集中评审 Atomic I/O Enqueue(AIOE / Atomic IONQ)扩展提案 v4。来自 Inria、Qualcomm、阿里巴巴等机构的代表参会并确认讨论细节。
从异构加速到共享列队:AIOE 要解决“64 字节原子入队”这一关键缺口
本次继续围绕 AIOE v4 展开讨论,郭任介绍随着异构编程与加速器在数据中心场景的普及,业界逐步形成一种趋势:通过 64 字节(512-bit)的原子 I/O 入队操作,将命令/描述符以单次原子写入的方式发送至设备侧的 Device Shared Work Queue(共享工作队列),也即常见的 enqueue 操作。
这类 enqueue 操作通常基于互连上的 deferable/deliverable write 事务语义,并结合 PASID(Process Address Space ID) 区分不同地址空间。郭任指出,主流互连协议(PCIe、以及其他主流互连规范)与主流架构(x86 的 ENQCMD、Arm 的相关指令)已经在该方向给出支持;RISC-V 若要在数据中心场景对齐这一趋势,需要在 ISA 层补齐相应原语。
据介绍,本提案拟为 RISC-V ISA 引入一套 AIOE 扩展能力,整体包括:1 个 PMA 定义、2 条指令以及 4 个 CSR,用于支撑跨互连的 64B 原子入队与虚拟化控制。
v4 提案更新:删除 32B 指令与部分 CSR/控制位,聚焦更清晰的最小集合
在版本演进方面,郭任表示 v4 相比前一版本进行了“瘦身”:移除了 32-byte 指令路径以及部分字段/CSR 编码与控制位设计,使指令语义与控制面更聚焦,便于后续标准化推进与实现落地。
指令设计:UINQ 与 SENQ 两条 64B 原子入队指令
本次评审的核心之一,是两条 64B 原子入队指令的语义与使用边界:
- UINQ(User enqueue):面向用户态的 512-bit 原子 I/O enqueue 指令,从 8 个连续通用寄存器中取数拼成 64B 数据并发出;执行后在 RD 返回互连侧的状态码(0 表示成功,其他值表示失败/不支持/自定义错误等)。
- 提案要求寄存器起始编号为偶数索引(便于潜在微架构优化)。
- 对齐要求为 64B;对非 AIOE PMA 允许的地址访问将触发相应 fault。
- SENQ(Supervisor enqueue):特权态版本的 512-bit 原子 enqueue 指令,语义与 UINQ 类似,但执行权限受限于 S/HS/M 等模式;并通过虚拟化控制位决定是否允许在 VS/VU 等虚拟化场景执行(不允许时触发 virtual instruction exception)。
会议中还展示了 C/内联汇编层面的用法示例:先将 64B 数据装载到 8 个连续寄存器,再执行 enqueue 指令发出命令,并读取返回状态。
AIOE PMA:用“物理内存属性”限定可发出 deferable write 的地址区域
为避免任意内存地址都能触发这类互连事务,提案定义了新的 AIOE PMA(Atomic I/O Enqueue Physical Memory Attribute):只有标注该 PMA 的地址区域,UINQ/SENQ 才能发出 deliverable/deferable write;否则触发 store access fault。郭任特别提到 PCIe BAR 的场景:由于 BAR 既可能呈现为 memory/IO 等不同语义,提案建议通过 PMA 方式对 BAR 区域进行标注,并由 endpoint 设备能力保证其支持所需的事务类型与对齐约束,从而降低“高特权信息泄露”等风险。
虚拟化控制:HAIOE、SPID 与 VMID/PID 附加,以及 vPASID→PASID 映射辅助
围绕虚拟化场景,提案引入/强化了若干 CSR 控制机制:
- HAIOE(Hypervisor CSR):用于控制 SENQ 在 VS 等虚拟化模式下的可执行性,以及是否允许 VS 访问 SPID 等关键 CSR。
- 新增的 VMID/PID 附加能力:v4(会议中口述为更新版本)加入一个控制位,可使 SENQ 发出的 64B 数据中低位字段携带 VMID 与 PID(通过 HEGATP 的 VMID 与 SPID 的 PID 组合),以适配更复杂的虚拟化/路由场景(郭任提到与 IOMMU 的某些“虚拟命令队列”设想相关,后续可单独开会讨论)。
- HPID/HPID mask:新增用于 vPASID→PASID(或虚拟 PID→真实 PID)映射的辅助 CSR 机制,支持为虚拟机划分 PID 区间、降低软件陷入路径成本(属于实现可选但对效率友好的设计方向)。
会议小结及后续
后续 Data Center SIG 将继续在邮件列表与例会中推进 AIOE 提案的文本完善与共识凝聚,并与此前正在筹备的 “Device Shared Work Queue” 场景化推进路径保持衔接,进一步面向数据中心异构加速与虚拟化需求补齐 RISC-V 的 ISA 与系统能力。
相关阅读推荐:
玄铁 C950 发布!龙蜥社区加速 RISC-V 云计算落地
RISC-V 基金会 Data Center SIG 第七次会议圆满结束,研讨硬件加速机制
Anolis OS 23.4 发布:全面支持 RVA23 RISC-V 架构,强化安全与云原生生态
—— 完 ——