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