[RISC-V MCU 应用开发] RV32I(整型指令)的特点

[复制链接]
 楼主| forgot 发表于 2024-5-9 08:40 | 显示全部楼层 |阅读模式
1) 指令格式方面
指令解码简单,指令只有6种格式且32位定长、读写寄存器的位置固定不变、尽可能多的位的位置保持不变(比较奇特的立即数排序就缘于此);
操作数搬移少,提供三个寄存器操作数,有独立的目的寄存器;
符号处理便捷,立即数总是符号扩展且符号位总是处于指令的最高位,可在解码之前进行立即数符合扩展。
2) 寄存器方面
资源丰富,提供32个寄存器(包含一个恒0的寄存器),减少了寄存器保存和恢复的次数,加速函数调用和返回;
操作灵活,提供一个恒0的寄存器,可实现60条伪指令,使得代码更易于读写,且不增加硬件开销;
通用性强,全部为通用寄存器(不会为PC提供单独的寄存器)。
3) 整数运算方面
操作规整,所有的操作都以完整的寄存器宽度处理,只在寄存器之间进行,没有字节或半字操作,即没有寄存器到内存的操作;
运算精简,没有乘法和除法(通过扩展指令可实现),也没有循环移位指令和整数算术溢出检测(通过指令组合可实现)。
4) 寻址方面
简化寻址模式,只使用一种寻址方式,即将12位立即数(符号扩展)与寄存器(存放基址)相加的方式。通过将立即数字段设为0,从而达到x86中寄存器间接寻址的效果。通过将寄存器设为堆栈指针,从而实现类似压栈(push)和出栈(pop)的特殊堆栈指令;

小小蚂蚁举千斤 发表于 2024-5-22 17:00 | 显示全部楼层
RV32I是RISC-V MCU 的基本指令嘛?
小夏天的大西瓜 发表于 2024-5-22 22:24 | 显示全部楼层
其实一般使用库文件进行编程
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2064

主题

14488

帖子

59

粉丝
快速回复 在线客服 返回列表 返回顶部

2064

主题

14488

帖子

59

粉丝
快速回复 在线客服 返回列表 返回顶部