浅谈RISC-V指令集(四)- 条件分支
在以前的文章中,我分享了RISC-V用户可以在基本指令集的基础上面,进行定制化的设计,但是无论怎样,都要能够支撑整数基本指令集,可以看出基本指令集的重要性。我们已经详细介绍了RISC-V中非常重要的整数计算指令。想了解的同学可以看以前的文章“浅谈RISC-V指令集(二)- 整数计算指令”。我们已经分享了RISC-V中控制转移指令的无条件转移,今天我们继续另外一个条件分支。
条件分支指令格式
条件分支指令使用的是SB类指令格式,立即数在这里表示编码了一个2N的有符号数偏移量。在使用时,将偏移量加到pc,就构成了跳转的目标地址,需要说明的是跳转的范围相比无条件转移要差一些,只能到[-4KB,4KB](无条件转移可以到[-1MB,1MB])的范围。
在RISC-V中,条件分支指令的基本指令格式如下图所示:
其中src1/src2为两个5bit的寄存器,funct3中为src1和src2中数据比较结果的表示指令,可以表示相等、不相等、小于、大于等于的比较结果。
首先需要说明的是,整个比较过程有符号数和无符号数都分开进行比较。整个比较过程,可以描述如下。
推荐阅读
- 传奇世界|浅谈传奇世界的业:战、法、道三职业相生相克,到底谁克谁呢?
- 手机游戏|梦幻西游手游:封系统治擂台?浅谈经脉学问,方寸也能实现双封!
- 游戏主播|比起技能酷炫,网游玩家更爱数值怪物?浅谈如何成功设计一个职业
- 梦幻西游手游|梦幻西游手游:你是中国好队长吗?战斗指令大全,学会就告别翻车
- 暗黑破坏神2|《暗黑破坏神2》MF值多少才是最佳—浅谈
- edg战队|浅谈,EDG2号种子出线后,带给LPL队伍的连锁反应
- 手柄|大话西游2之无差别浅谈无属性敏人
- 原神|原神:心海池即将结束,为何没人愿意抽?浅谈三大问题
- 原神|原神:浅谈个人游戏大后期大世界队伍各角色舒适度
- 陆逊|三国志战略版:从吴国法核陆逊,浅谈陆逊肉弓盛行之道!