FLH 的 rs1 是浮点寄存器吗?
不是。rs1 是整数寄存器,用来提供内存基址;rd 是浮点目标寄存器。
从内存加载 16 位半精度浮点位模式到浮点寄存器。
FLH 使用 I-type LOAD-FP 编码,从 x[rs1] 加 12 位有符号字节偏移形成的有效地址加载 16 位半精度浮点位模式,并写入浮点寄存器 f[rd]。传输不会执行浮点舍入、格式转换或 NaN payload 规范化;写入较宽 FLEN 寄存器时按 Zfh 的 NaN-boxing 规则保存半精度值。自然对齐访问的原子性按官方 Zfh 规则保证,非对齐访问由执行环境约束。
展示 Zfh/Zfhmin 扩展浮点加载的 ISA 可见流程:解析 I-type 编码,用整数基址加 12 位偏移形成地址,并传输 16 位浮点位模式。
机器码按 I-type 字段切分;浮点访存不是 OP-FP 算术编码。
FLH 传输 16 位半精度位模式,写入 rd 时按 Zfh 规则 NaN-box;传输本身保留非规范 NaN payload。
该动画只展示 RISC-V Zfh/Zfhmin 扩展浮点加载/存储的 ISA 可见地址计算和位模式传输;不模拟 cache、总线、异常处理器、FPU 流水线或微架构时序。
FLH 是 Zfh/Zfhmin 半精度浮点加载。它用整数寄存器 rs1 加 12 位有符号字节偏移形成地址,从内存取 16 位半精度位模式写入浮点寄存器 rd;这不是浮点算术,也不使用 rm 舍入。
结合 «flh f10, 0(x11) ; load half-precision from [x11]» 等实际代码理解该场景。
结合 «flh f10, 0(x11) ; load half-precision from [x11]» 等实际代码理解该场景。
不是。rs1 是整数寄存器,用来提供内存基址;rd 是浮点目标寄存器。
不会。FLH 是位模式加载,不是 FCVT;它搬移半精度编码,并在较宽 FLEN 中按 NaN-boxing 保存。