SB.AQRL 可以写 offset(rs1) 吗?
不可以。官方语法是 sb.aqrl rs2, (rs1),没有 offset 立即数字段;地址直接来自 rs1。
Zalasr 原子存储 1 字节,带 acquire+release-RCsc 排序标注。
SB.AQRL 是 Zalasr 独立原子 load-acquire/store-release 家族中的 1 字节有序原子存储。它把 x[rs2] 的低 8 位原子写入 x[rs1] 指向的地址;语法没有 offset 字段,编码中的 rd 固定为 x0。1 字节访问在每个字节地址都自然对齐。
展示 Zalasr 独立 store-release 的 AMO 编码、无 offset 地址语法、8-bit 数据传输和 aq/rl 排序标注。
1 字节访问在每个字节地址都自然对齐。
假定 Zalasr 已实现,且除所示对齐异常外,取指和数据访问均获准并成功。地址样例为非负安全整数(最大 2^53−1),RV32 还需适合 32 位;这是演示范围。x0 源值为 0;rs2=rs1 时两者使用同一寄存器值。
SB.AQRL 只把 rs2 的低 8 位写入内存;rs2 高位不参与本次存储值。
该动画展示 Zalasr 的 ISA 可见原子 load/store 与 aq/rl 排序标注;不模拟 LR/SC 预留、AMO read-modify-write 旧值返回、cache、总线或流水线时序。
SB.AQRL 直接使用 rs1 作为地址,原子写入 rs2 的低 8 位;aq/rl 位提供排序标注,不会改变写入数据。
结合 «sb.aqrl x5, (x6)» 等实际代码理解该场景。
结合 «sb.aqrl x5, (x6)» 等实际代码理解该场景。
不可以。官方语法是 sb.aqrl rs2, (rs1),没有 offset 立即数字段;地址直接来自 rs1。
不是。Zalasr 这些指令是单条有序原子 load/store;动画不展示预留状态或旧值返回。
不会。aq/rl 是排序标注;存储值仍是 rs2 的低 8 位。