FSQ 的地址来自浮点寄存器吗?
不是。地址基址来自整数寄存器 rs1;浮点寄存器 rs2 只提供要写入内存的数据位模式。
将浮点寄存器中的 128 位四精度位模式存储到内存。
FSQ 使用 S-type STORE-FP 编码,将浮点寄存器 f[rs2] 中的 128 位四精度浮点位模式存储到 x[rs1] 加 12 位有符号字节偏移形成的有效地址。存储按位写出该格式宽度的数据,不执行浮点舍入、格式转换或 NaN payload 规范化。官方 Q 扩展只在有效地址自然对齐且 XLEN=128 时保证 FSQ 访问原子性;非对齐访问由执行环境约束。
展示 Q 扩展浮点存储的 ISA 可见流程:解析 S-type 编码,用整数基址加 12 位偏移形成地址,并传输 128 位浮点位模式。
机器码按 S-type 字段切分;浮点访存不是 OP-FP 算术编码。
FSQ 传输 128 位四精度位模式;只有有效地址自然对齐且 XLEN=128 时,官方 Q 扩展保证访问原子性。
该动画只展示 RISC-V Q 扩展浮点加载/存储的 ISA 可见地址计算和位模式传输;不模拟 cache、总线、异常处理器、FPU 流水线或微架构时序。
FSQ 是 Q 扩展四精度浮点存储。它用整数基址和 12 位字节偏移计算地址,把 f[rs2] 的 128 位四精度位模式写入内存;它不是浮点运算,因此没有 rm 舍入步骤。
结合 «fsq f0, 0(x10) # store quad to [x10+0]» 等实际代码理解该场景。
结合 «fsq f0, 0(x10) # store quad to [x10+0]» 等实际代码理解该场景。
不是。地址基址来自整数寄存器 rs1;浮点寄存器 rs2 只提供要写入内存的数据位模式。
不会。FSQ 是位模式存储,不执行浮点算术或舍入,按 ISA 可见语义不会设置浮点异常标志。