1.1.RISCV CPU概述
RISC-V(读作“RISC-FIVE”)是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),V表示为第五代RISC(精简指令集计算机),表示此前已经四代RISC处理器原型芯片。由加州大学伯克利分校的David A. Patterson教授带领下完成。与大多数ISA相反,RISC-V ISA可以免费地用于所有希望的设备中,允许任何人设计、制造和销售RISC-V芯片和软件。它是第一个被设计成可以根据具体场景可以选择适合的指令集的指令集架构。基于RISC-V指令集架构可以设计服务器CPU,家用电器cpu,工控cpu和用在比指头小的传感器中的cpu。
1.2 RV32I 基本整数指令集RV32I
被设计成足以构建一个编译器目标机,并支持现代操作系统环境。这个 ISA 也被设计成在最小实现时减少所需的硬件。RV32I 包括了 47 条单独的指令,可以仿真几乎所有其他的 ISA 扩展。
1.3 基本指令格式
在所有格式中,RISC-V ISA将源寄存器rs1和rs2,和目标寄存器rd固定在同样的位置,以简化指令译码。在指令中,立即数imm被打包,朝着最左边可用位的方向,并且是分配好的,以减少硬件复杂度。所有立即数的符号位总是在指令的第31位,以加速符号扩展电路。 Opcode为指令操作码,每条指令都是由一个相应的opcode和对应的funct来定义。