MIT 6.004 Lecture 2

课件

Worksheet

Lab 1

参考

RV32I基础整数指令集 - 迈克老狼2012 - 博客园

RISC-V指令集介绍 - 整数基本指令集

终于有人把RISC-V讲明白了

[来自] (http://m.elecfans.com/article/653167.html)

RISC-V RV32I中零寄存器有什么用?

来自

32位常量

之前用ARM的处理器,ARM都是将立即数表示不下的常量存到常量池,然后用PC相关的LDR指令加载到寄存器的。RISC-V的常量完全是用指令拼接的,不需要Load指令,要知道使用Load指令是需要额外的访问周期的。RISC-V单条指令可以表示12位的有符号常量,超过12位需要两条指令来合成。其中一条指令是lui,lui指令加载常量的高20位,低12位可以用addi指令加上去,当然了这个过程又要麻烦编译器仔细算一算立即数到底是什么了,因为addi指令执行的是有符号加法,其中的12位立即数是会先被符号扩展成32位的有符号数再参与计算的。ARM的常量加载需要8个字节,一条指令+一个常量;RISC-V的常量加载也是需要8个字节,两条指令。占用的程序空间是一样的。

只有小于和大于

来自


文章作者: 智贤
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 智贤 !
评论
评论
  目录