一起围读《RISC-V体系结构编程与实践 》 指令对比看一看
[复制链接]
指令集学习
主要这个是学习了本书第三章的一些心得
指令集是处理器体系结构设计的重点部分之一。
RISC-V的每条指令宽度为32位,包括RV32指令集以及RV64指令集。指令格式大概分为6类R I S B U J类型
R:寄存器与寄存器算术指令
I:寄存器与立即数算术指令或加载指令
S:储存指令
B:条件跳转指令
U:长立即数操作指令
J:无条件跳转指令
下面我来做一下简单比较与ARM的指令的表格吧
|
RISC
|
ARM
|
加载
|
Lb
Lbu
Lh
Lhu
Lw
Lwu
Ld(64位)
lui(64位)
|
LDRB
LDRBS
LDRH
LDRHSH
LDR
LDM
LDRD(64位)
|
存储
|
Sb
Sh
Sw
Sd
|
STRB
STRH
STR
STRD
|
移位操作
|
Sll
Slli
Slliw
Sllw
Sra
Srai
Sraiw
Sraw
Srl
Srli
Srliw
srlw
|
LSL
ASR
ROR
|
位操作指令
|
And
Adni
Or
Ori
Xor
Xori
not
|
AND
ORR
EOR
BIC
ORN
|
算术指令
|
Add
Addi
Addw
Addiw
Sub
Subw
(RV64I指令集只提供基础的算术指令,即加法和减法指令)
|
ADD
ADC
SUB
SBC
SUBW
RSB
MUL
UDIV
SDIV
|
比较指令
|
Slt
Sltu
Slti
sltiu
|
CMP
CMN
|
无条件跳转指令
|
Jal
jalr
|
B BX
BL BLX
|
条件跳转
|
Beq
Bne
Blt
Bltu
Bgt
Bgtu
Bge
Bgeu
|
B<cond><label>
B<cond>.W<label>
|
RISC-V基本指令就这么多了吗?
ARM的还有很多没列出来呢,例如位域处理指令、数据转换运算指令、休眠模式相关指令等等。
而且RISC-V没有大家最常见到的MOV指令了,后面准备搭载板子测试一下
|