当前位置:职场发展 > 【计算机组成原理】RV32I指令集

【计算机组成原理】RV32I指令集

  • 发布:2023-10-02 18:21

内容

1。 RISC-V架构概述

2。 RV32I指令集概述

3。 RV32I命令格式

4。 21条操作说明

5。 8条内存访问指令

六、八条转账指令

七、十其他说明

8。 RV32I

的寻址方式

1。 RISC-V架构概述

RISC-V指令集起源:

  • 一种具有典型RISC特征的全新指令集架构,由加州大学伯克利分校于2010年发明。“RISC”指的是精简指令集计算机,“V”指的是从RISC开始的第五代指令集-I
  • org上的ARM、MIPS、SPARC、RISC等各种指令集架构性能优越,可以满足从微控制器到超级计算机的各种复杂程度的处理器的需求。
  • RISC支持从FPGA、ASIC乃至未来器件的多种实现方式,可以高效实现各种微结构,支持定制和加速功能,兼容现有的各种软件和编程语言

CISC 与 RISC 的比较

2。 RV32I指令集概述

  • 指令字长 ILEN:固定 32 位
  • 整数表示 :使用补码
  • 整数寄存器数量 :32
  • 指令编码存储格式:小端模式
  • 指令数:47
  • 寄存器位长度

    RV32I通用寄存器文件

    • 整数寄存器:32×32位,x0~x31
    • 浮点寄存器:32×32位,f0~f31(不关心整数指令集)
    • ABI:指定各个寄存器的使用约定, 注册别名

    3。 RV32I指令格式

    • 指令格式共有 6 种,长度固定为 32 位
    • 操作码字段:操作码,7 位,固定为指令字的最低 7 位,指定指令的格式类型
    • 功能码字段:funct3、funct7,用于定义某类指令的具体指令(区分功能)
    • 寄存器字段:3个,各5位,原始寄存器rs1/rs2,目的寄存器寄存器rd,位置固定
    • 立即数域:imm,12位/20位,需要扩展为32位立即数imm32

    即时数据生成规则

    4。 21条操作说明

    10 R型操作说明:寄存器

    • 功能:对寄存器数据进行算术逻辑运算,并将运算结果写入目的寄存器

    9 I型操作指令:立即

    • 功能:对寄存器和扩展立即数进行算术逻辑运算,并将结果写入目的寄存器

    2条U型数据处理指令:大立即数指令

    • lui:加载上立即数
    • auipc:将上立即数添加到pc

    5。 8条内存访问指令

    5 I型加载指令:从内存加载

    • lb:加载字节
    • lh:加载半字
    • lw:加载字
    • lbu:加载无符号字节
    • lhu:加载无符号半字
    • 功能:从内存读取数据 输入注册

    3个S形存储指令:存储到内存

    • sb:存储字节
    • sh:存储半字
    • sw:存储字
    • 功能:将寄存器数据写入cunchuq

    六、八条转账指令

    2个J型/I型跳转链接指令

    • jal:跳转并链接
    • jalr:跳转并链接-rs1

    6 B类条件分支指令:转移控制

    • beq:如果相等则转移
    • bne:如果不等于则转移
    • blt:如果小于则转移
    • bge:如果大于或等于则转移
    • bltu:如果小于then-无符号则转移
    • bgeu:如果伟大或等于无符号则转移

    七、十其他说明

    2条内存屏障指令

    6个系统命令

    2个断点指令

    8。 RV32I的寻址方式

    RV32I指令集操作数:有立即数、寄存器和存储器三种类型

    寻址方式:立即数寻址、寄存器寻址、基址寻址、相对寻址

    直接寻址:由指令中的立即数字段指定,需要扩展为32位立即数

    寄存器寻址:在整数寄存器中,5位寄存器编号rs1、rs2、rd由指令

    给出

    基地址寻址:用于存储和检索指令

    • 操作数:在主存的某个单元中,EA = (rs1) + offset(偏移量)
    • 指令:给出 rs1 的 5 位数和 12 位偏移量(立即数域)
    • 偏移量:立即数据扩展后需要转换为32位偏移量,即EA = (rs1) + SE32(imm32)

    相对寻址:用于J类、B类无条件转移指令和条件分支指令

    • 分支目标地址:PC与偏移量之和,偏移量在指令中给出

相关文章

最新资讯