RISC-V技术论坛
直播中

王兰

14年用户 943经验值
擅长:基础元器件
私信 关注
[经验]

浮点指令(六:寄存器)

Risc-V规定,如果支持单精度浮点指令或者双精度浮点指令,四精度浮点指令,则需要增加一组独立的通用浮点寄存器组,包括32个通用浮点寄存器,标号位f0到f31。如果仅支持F扩展指令子集,则每个通用寄存器是32位的,如果支持D扩展指令子集,则每个通用寄存器是64位的,如果支持Q扩展指令集,则每个浮点通用寄存器是128位的。
   如果处理器同时支持 RV32F 和 RV32D 扩展,则单精度数据仅使用 f 寄存器中的低 32位。与 RV32I 中的 x0 不同,寄存器 f0 不是硬连线到常量 0, 而是和所有其他 31 个 f 寄存器一样,是一个可变寄存器。下面是32位和64位浮点寄存器的名字,别名和注释。
[tr]63-3231-0(名字和别名)注释[/tr]
f0/ft0FP Temporary
f1/ft1FP Temporary
f2/ft2FP Temporary
f3/ft3FP Temporary
f4/ft4FP Temporary
f5/ft5FP Temporary
f6/ft6FP Temporary
f7/ft7FP Temporary
f8 / fs0FP Saved register
f9 / fs1FP Saved register
f10 / fa0FP Function argument, return value
f11 / fa1FP Function argument, return value
f12 / fa2FP Function argument
f13 / fa3FP Function argument
f14 / fa4FP Function argument
f15 / fa5FP Function argument
f16 / fa6FP Function argument
f17 / fa7FP Function argument
f18 / fs2FP Saved register
f19 / fs3FP Saved register
f20 / fs4FP Saved register
f21 / fs5FP Saved register
f22 / fs6FP Saved register
f23 / fs7FP Saved register
f24 / fs8FP Saved register
f25 / fs9FP Saved register
f26 / fs10FP Saved register
f27 / fs11FP Saved register
f28 / ft8FP Temporary
f29 / ft9FP Temporary
f30 / ft10FP Temporary
f31 / ft11FP Temporary
   Risc-V架构规定,如果支持浮点指令,需要增加一个浮点控制状态寄存器fcsr,该寄存器是一个可读可写的csr寄存器。

更多回帖

发帖
×
20
完善资料,
赚取积分