Reserved
保留为其他标准扩展保留。若未实现这些扩展,写入必须忽略、读取为零;标准软件应保留这些位。
这个字段控制什么
- - 为其他标准扩展保留。若未实现这些扩展,写入必须忽略、读取为零;标准软件应保留这些位。
常见取值
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
浮点控制与状态寄存器,组合了frm(舍入模式)和fflags(异常标志)。
为其他标准扩展保留。若未实现这些扩展,写入必须忽略、读取为零;标准软件应保留这些位。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
动态舍入模式。101、110 和 111 是 frm/fcsr 中的保留编码;111(DYN)仅在指令 rm 字段中选择 frm。
Round to Nearest, ties to Even.
Round towards Zero.
Round Down (towards negative infinity).
Round Up (towards positive infinity).
Round to Nearest, ties to Max Magnitude.
Reserved for future use.
Reserved for future use.
Reserved in frm/fcsr; DYN applies only to an instruction rm field.
fflags 的别名:NV、DZ、OF、UF、NX 的累积异常标志。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
无效操作异常标志。
NV 标志未置位。
NV 标志自软件上次复位以来已累积置位;基础 RISC-V ISA 不会因置位而产生陷阱。
除零异常标志。
DZ 标志未置位。
DZ 标志自软件上次复位以来已累积置位;基础 RISC-V ISA 不会因置位而产生陷阱。
上溢异常标志。
OF 标志未置位。
OF 标志自软件上次复位以来已累积置位;基础 RISC-V ISA 不会因置位而产生陷阱。
下溢异常标志。
UF 标志未置位。
UF 标志自软件上次复位以来已累积置位;基础 RISC-V ISA 不会因置位而产生陷阱。
不精确异常标志。
NX 标志未置位。
NX 标志自软件上次复位以来已累积置位;基础 RISC-V ISA 不会因置位而产生陷阱。
fcsr 是 用户级浮点状态 CSR 中的 读写 CSR,地址为 0x003。先确认当前特权级和扩展实现情况,再根据位字段判断该 CSR 影响的架构状态。
FRCSR 将完整 fcsr 复制到 rd;FSCSR 交换 fcsr,并将原值写入 rd。
若其他标准扩展未实现,位 31:8 的写入会被忽略、读取为零;标准软件应保留这些位。
不能只看 CSR 名称判断。官方 CSR 地址编码和表格给出最低访问特权级;fcsr 当前记录为 U模式,权限不足或未实现时访问会触发非法指令异常。
不要把整个 CSR 当普通整数覆盖。应只修改目标字段,保留未修改位,并按规范处理 WARL、WLRL、WPRI 或保留字段。