RV32F\RV32D指令集

2024-06-15 05:44
文章标签 指令集 rv32f rv32d

本文主要是介绍RV32F\RV32D指令集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RV32F\RV32D指令集

  • F扩展
    • 1、浮点控制状态寄存器
    • 2、指令类型

F扩展

F扩展增加了32个浮点寄存器f0-f31,每个32位宽,以及一个浮点控制和状态寄存器fcsr,其中包含浮点单元的工作模式和异常状态。FLEN=32表示F单精度浮点扩展,大多数浮点指令对浮点寄存器中的值进行操作。浮点加载和存储指令在寄存器和内存之间传输浮点值。还提供了将值传入和传出整数寄存器的说明。

在这里插入图片描述

1、浮点控制状态寄存器

fscr属于一个CSR,它是一个32位读/写寄存器,用于浮点算术操作选择动态的舍入模式,并保存产生的异常标志。
在这里插入图片描述

csr可以用FRCSR/FSCSR指令来实施读写操作,但它们均由底层的CSR访问指令实现。

FRCSR:读取浮点控制和状态寄存器的值并写入目标寄存器

语法:frcsr rd

功能:将浮点控制和状态寄存器的值读出并写入目标寄存器rd中

FCSR是RISC-V浮点单元使用的一个重要的特殊寄存器,它包含了与浮点算术相关的一些控制和状态信息,例如浮点异常标志、舍入模式等等。FRCSR指令可以用来读取FCSR寄存器的当前值,并将其保存到目标寄存器中,以便进一步处理和分析。

FSCSR:将目标寄存器的值写入浮点控制和状态寄存器

语法:fscsr rd

功能:将rd寄存器的

这篇关于RV32F\RV32D指令集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1062582

相关文章

字节全员标配的内部指令集鼠标垫,我的粉丝每人包邮送一块

最近很多粉丝后台说 steam 都开夏促了,看公号这么久有啥福利没……年中了是该给大家发点福利,我仔细琢磨了一下,找大厂的朋友要了一套他们撸了多年的 Java 算法逻辑 + 面试要点的私货,于是叫上合作伙伴,加急定制了一波桌面大鼠标垫! 很大…很爽、很实用 这批鼠标垫市面上必然买不到,从供应商给我的设计图来看, B 格还是不错的(拿来垫桌子也很实用)。不卖关子,从事 Java 工作的见者有份,

嵌入式:Arm v7-M指令集架构中的字节序(大小端)

相关阅读 嵌入式https://blog.csdn.net/weixin_45791458/category_12768532.html?spm=1001.2014.3001.5482         本文来源于博主无意之中的一个发现,虽然之前就知道Cortex-M3默认为小端模式,但是偶然发现了一些出乎意料的情况。         首先来看看Arm v7-M指令集架构中相关的定义。

ARM指令集——状态寄存器访问指令

ARM中有两条指令用于状态寄存器和通用寄存器之间传送数据。程序不能直接修改CPSR中的T控制位直接将程序状态切换到Thumb状态,必须通过BX等指令完成程序状态的切换。通常修改状态寄存器时通过“读取-修改-写回”的操作序列来实现的。状态寄存器访问指令包括以下两条指令: MRS 状态寄存器到通用寄存器的传送指令MSR 通用寄存器到状态寄存器的传送指令 下面一一介绍之: 1、MRS

ARM指令集——乘法指令

ARM有两类乘法指令:一类为32位的乘法指令,即乘法操作的结果为32位;另一类位64位的乘法指令,即乘法操作的结果为64位。两类指令共有以下6条: MUL 32位乘法指令MLA 32位带加数的乘法指令SMULL 64位有符号数乘法指令SMLAL 64位带加数的有符号乘法指令UMULL 64位无符号数乘法指令UMLAL 64位带加数的无符号数乘法指令 下面一一介绍之: 1、M

ARM指令集——数据处理指令篇

输出传送指令包括以下指令: MOV 数据传送指令MVN 数据求反传送指令CMP 比较指令CMV 基于相反数的比较指令TST 位测试指令TEQ 相等测试指令ADD 加法指令SUB 减法指令RSB 逆向减法指令ADC 带位加法指令SBC 带位减法指令RSC 带位逆向减法指令AND 安位与指令BIC 为清零指令EOR 逻辑异或指令ORR 逻辑或指令 下面分别作详细介绍: 1、MO

arm接口技术二--指令集与异常处理

arm汇编工程 注意事项: 魔法棒 - listing的两个选项勾上Linker --- Text Start: 指定指针起始地址0x0品按钮 – Folder选择arm-none-eabi编译器assemble编译报错:KEIL中错误FCARM - Output Name not specified, please check ‘Options for Target - Utilit解决方法

C++系统相关操作4 - 获取CPU(指令集)架构类型

1. 关键词2. sysutil.h3. sysutil.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键词: C++ 系统调用 CPU架构 指令集 跨平台 实现原理: Unix-like 系统: 可以通过 uname -m 命令获取 CPU 架构类型。Windows 系统: 可以通过环境变量 PROCESSOR_ARCHITECTURE 获取 CPU 架构类型。

01_RISC-V 入门及指令集学习

参考文档 risc-v入门:https://blog.csdn.net/bebebug/article/details/128039038RISC-V OS:https://blog.csdn.net/bebebug/article/details/130551378riscv-spec文档:https://riscv.org/wp-content/uploads/2019/12/riscv-s

使用SSE指令集来优化程序

SSE和SSE2的指令系统非常相似,SSE2比SSE多的仅是少量的额外浮点处理功能、64位浮点数运算支持和64位整数运算支持。     SSE为什么会比传统的浮点运算更快呢?因为它使用了128位的存储单元,这对于32位的浮点数来讲,是可以存下4个的,也就是说,SSE中的所有计算都是一次性针对4个浮点数来完成的。     虽然SSE从理论上来讲要比传统的浮点运算会快,但是所受的限制也很

CPU中的寄存器CPU能理解的指令(指令集)

CPU中的寄存器         寄存器有很多种。如指令寄存器,专门存储指令 问:CPU的寄存器存的是什么? 答:CPU寄存器是中央处理器(CPU)内部的一小部分高速存储资源,用于快速访问和存储各种类型的数据和信息。以下是CPU寄存器通常存储的一些内容: 指令:某些CPU寄存器(如指令寄存器,IR)用于存储当前正在执行的指令。 操作数:操作数寄存器用于存储指令的操作数,这些操作数是计算