17|RISC-V指令精讲(二):算术指令实现与调试
LMOS
你好,我是 LMOS。
上节课,我们学习了算术指令中的加减指令和比较指令。不过一个 CPU 只能实现这两类指令还不够。如果你学过 C 语言,应该对“<<、>>、&、|、!”这些运算符并不陌生,这些运算符都需要 CPU 提供逻辑和移位指令才可以实现。
逻辑指令
从 CPU 芯片电路角度来看,其实 CPU 更擅长执行逻辑操作,如与、或、异或。至于为什么,你可以看看 CPU 的基础门电路。
RISC-V 指令集中包含了三种逻辑指令,这些指令又分为立即数版本和寄存器版本,分别是 andi、and、ori、or、xori、xor 这六条指令。我们学习这些指令的方法和上节课类似,也涉及到写代码验证调试的部分。
按位与操作:andi、and 指令
首先我们来学习一下 andi、and 指令,它们的形式如下所示:
上述代码中 rd、rs1、rs2 可以是任何通用寄存器,imm 是立即数。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了RISC-V指令集中的逻辑指令和移位指令。逻辑指令包括按位与和按位或操作,通过andi、and、ori和or指令实现。通过伪代码描述和实际代码验证,读者可以快速了解这些指令的具体操作和使用方法。文章还通过调试过程展示了指令执行后寄存器中的值,直观展示了指令的正确性。移位指令包括逻辑左移指令的实现原理和调试方法,为读者提供了更全面的指令集学习内容。通过具体的代码示例和调试过程,生动展现了逻辑指令的实际应用和调试方法,使读者能够更直观地理解指令的操作和验证过程。整体而言,本文内容丰富,实用性强,适合对RISC-V指令集感兴趣的读者阅读学习。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《计算机基础实战课》,新⼈⾸单¥68
《计算机基础实战课》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- 苏流郁宓逻辑运算有时效率高于加减乘除法,就好比十进制运算,有九九乘法表等加持,20个3直接等于60它的效率优于累计加20个3算出,但cpu的算力是软硬件共同的努力,软件方面通过优化算法结构能够直接提升效率,甚至在浮点运算中,好的算法结构能起事半功倍的效果!
作者回复: 是的 你理解 相当透彻
2022-09-02归属地:湖北1 - 苏流郁宓答案简单,RISCV寄存器一共32个的啊
作者回复: 对
2022-09-02归属地:湖北1 - 贾献华寄存器共 32 位。 2^5 = 32。
作者回复: 对
2022-09-02归属地:湖北21 - 徐大雷CPU更擅长计算逻辑操作 - 老师能大致讲解一下为啥么?谢谢2023-12-22归属地:湖北
收起评论