FLD 的 offset 是 8 字节倍数吗?
不是。offset 是 12 位有符号字节偏移;自然对齐是访问地址属性,不是编码单位。
从内存加载64位双精度浮点数到浮点寄存器。
FLD 使用 I-type LOAD-FP 编码,从 x[rs1] 加 12 位有符号字节偏移形成的有效地址加载 64 位双精度浮点位模式,并写入浮点寄存器 f[rd]。传输不会修改位模式或规范化 NaN payload。仅当有效地址自然对齐且 XLEN 不小于 64 时,FLD 的访问原子性由官方 D 扩展规则保证;非对齐访问由执行环境约束。
展示 D 扩展浮点加载的 ISA 可见流程:解析 I-type 编码,用整数基址加 12 位偏移形成地址,并传输 64 位浮点位模式。
机器码按 I-type 字段切分;浮点访存不是 OP-FP 算术编码。
FLD 传输 64 位双精度位模式;自然对齐访问的原子性与非对齐处理按官方规范和执行环境约束。
该动画只展示 RISC-V D 扩展浮点加载/存储的 ISA 可见地址计算和位模式传输;不模拟 cache、总线、异常处理器、FPU 流水线或微架构时序。
FLD 是 D 扩展双精度浮点加载。它用整数寄存器 rs1 加 12 位有符号字节偏移形成地址,从内存取 64 位双精度位模式写入浮点寄存器 rd;传输不做浮点舍入。
结合 «fld f0, 0(x10)» 等实际代码理解该场景。
不是。offset 是 12 位有符号字节偏移;自然对齐是访问地址属性,不是编码单位。
不会。官方 D 扩展说明加载/存储传输不修改位模式,非规范 NaN payload 会被保留。