【SoC基础】 32位整数指令集-RV32I总结

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处


在这里插入图片描述

什么是处理器架构?

处理器架构是CPU厂商给属于同一系列的CPU产品定的一个规范,主要目的是为了区分不同类型CPU的重要标示。

目前市面上的CPU分类主要分有两大阵营:
1、一个是Intel、AMD为首的复杂指令集CPU;
2、另一个是以IBM、ARM为首的精简指令集CPU;
两个不同品牌的CPU,其产品的架构也不相同,例如,Intel、AMD的CPU是X86架构的,而IBM公司的CPU是PowerPC架构,ARM公司是ARM架构 。

32位整数指令集-RV32I
六种指令类型
R型:寄存器类型指令,add/sub/xor/or/and/sll/srl/sra/slt/sltu
S型:存储store,sb/sh/sw
B型:分支Branch,beq/bne/blt/bge/bltu/bgeu
U型:无条件跳转,lui/auipc
J型:跳转Jump,jal/jalr
I型:立即数,addi/xori/ori/andi/slli/srli/srai/slti/sltiu

指令格式:将有下划线的字母从左到右连接起来,即可组成完整的 RV32I指令集。
opcode:指令操作码
rs:源寄存器
rd:目的寄存器
imm:立即数
funct:功能

特征:架构师们吸取了以往架构(X86和ARM)的经验教训,设计了RV32I,具备了如下的特征:
32 位字节可寻址的地址空间
所有指令均为 32 位长
31 个寄存器,全部 32 位宽,寄存器 0 硬连线为零
所有操作都在寄存器之间(没有寄存器到内存的操作)
加载/存储字加上有符号和无符号加载/存储字节和半字
所有算术,逻辑和移位指令都有立即数版本的指令
立即数总是符号扩展
仅提供一种数据寻址模式(寄存器+立即数)和 PC 相对分支
无乘法或除法指令
一个指令,用于将大立即数加载到寄存器的高位,这样加载 32 位常量到寄存器只
需要两条指令

运算操作
算术运算
逻辑运算
移位运算
内存访问与写入
比较指令

参考

https://zhuanlan.zhihu.com/p/148807034

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌小超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值