RISC-V ISA 学习笔记(3) 单精度浮点标准扩展 “F” v2.0

1. 浮点寄存器状态

  "F"扩展加入了32个32位宽度的浮点寄存器f0~f31和一个浮点控制/状态寄存器fcsr,它用来记录浮点操作模式和异常状态。 浮点寄存器的宽度用FLEN来描述,对于单精度单元来讲FLEN=32。浮点指令一般都是浮点寄存器中的我呢见进行操作,load和store 则在储存器和浮点寄存器之间传输数据。同时也有从整数寄存器中读写数据的指令。
单精度F标准扩展
  虽然整数、浮点可以采用统一的寄存器文件,甚至这样还可以简化软件上寄存器的分配和调用约定,但是分开以后可以简化浮点单元内部结构,容易于增加寄存器总数,为超标量计算提供强力支持。

2. 浮点控制/状态寄存器

  浮点控制/状态寄存器fcsr属于一个RISC-V控制/状态寄存器(CSR)。它是一个32位读/写寄存器,用于浮点算术操作选择动态的舍入模式,并保存产生异常标志,如下。
在这里插入图片描述
  控制/状态寄存器fcsr可以用FRCSR/FSCSR指令来实施读写操作,但它们均由底层的CSR访问指令实现。
  FRCSR通过将fcsr的值复制到整数寄存器rd中来实现读取操作。
  FSCSR通过将fcsr原来的值复制到rd,然后将整数寄存器rs1中的值写入fcsr来实现写操作。
  fcsr中的字段也可以通过不同的CSR寻址方式来单独访问,并为这些访问在汇编上定义了伪指令。
  FRRM指令读取舍入模式字段frm,并将其复制到整数寄存器rs1最低3位中,其他位置0。
  FSRM通过将frm的旧值复制到整数寄存器rd中,然后将整数寄存器rs1中的低3位中的值作为新值写入frm中,来实现交换frm。
  FRFLA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值