计算机组成和设计 - 指令:计算机的语言

318 阅读2分钟

指令系统

其中 opcode 表示 7 位指令操作码,其作用是区分不同的指令; 0-6位

funct3 表示 3 位 的功能码,funct7 表示 7 位的功能码,它们可以辅助区分不同种类的指令;

rs1 和 rs2表示两个 5 位的源寄存器;

rd 是 5 位的目的寄存器,指令运算的结果就存储 rd 中;

imm 代表不同长度的立即数,可直接作为操作数使用。

操作码

操作码表示指令的属性功能和执行的指令类型。

地址码

地址码的功能是不同于操作码的,地址码的主要功能是用来表明指令操作的对象,获得被操作对象的地址、操作数的存储地址以及寄存设备地址等。地址码的结构比操作码要更复杂的多,主要包括存储源操作数的地址、存储结果的目的操作数地址、以及将要跳转链接的下一条指令的地址

  • 指令中的地址码:用来描述该指令的操作对象

  • 或者直接给出操作数

  • 或者指出操作数的存储器地址或寄存器地址(即寄存器名)

  • 根据指令中操作码的性质,操作数又分为源操作数和目的操作数;

  • 例如:在一般的加法指令中又3个操作数,其中加法和被加数为源操作数,计算结果为目的操作数;

RISCV操作数:

32个寄存器 x0-x31 快速定位数据。在RISCV中,只对寄存器中的数据执行算术运算。

1word = 2字节。

2^61存储字 只能被数据传输指令访问。RISCV使用字节寻址,顺序双字访问

相差8,存储器保存数据结构,数组和换出的寄存器的内容。

算术运算: 加、减、立即数加

三寄存器操作数:加 三寄存器操作数:减 立即数加: 用于加常数