打印
[RISC-V MCU 应用开发]

RV32I(整型指令)的特点

[复制链接]
2077|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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 | 只看该作者
其实一般使用库文件进行编程

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1721

主题

12979

帖子

54

粉丝