在RSIC-V中,所有指令都是32位的,并且在存储器中必须在4字节边界对齐。由于是RSIC架构,指令关于原寄存器和目的寄存器的编码格式固定。 在基本ISA中,分别有R/I/S/B四种指令格式,当然在此基础上有U/J两种变种
rs1,rs2是源寄存器地址,rd是目的寄存器地址,opcode是指令操作码,funct是功能码(操作码的数据宽度) 例如sw rs2, imm(rs1)
指令编码种类 R型:用于register-register的算术运算 I型:opcode一样,差别在func3和func7。一般用于register-immediate的算术运算和load操作 S型:操作的长度不同是由不同的funct3指定。用于store操作 B型:S型指令的变种,用于分支转移操作 U型:用于高20bit立即数操作 J型:U型指令的变种,用于直接跳转指令 R4型:RV32F/D、RV64F/D标准指令扩展使用
|