计算机组成原理知识总结-指令系统

计算机组成原理

指令系统

4.1 机器指令

指令其实就是一组有特殊意义的二进制数,指示计算机执行某种操作的命令,也叫机器字或指令字,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。指令系统是计算机的主要属性,位于硬件和软件的交界面上。

指令字长度:一个指令包含的二进制数的位数

机器字长:计算机能直接处理的二进制数的位数,通常与主存单元的位数一致

  • 指令字长度 = 机器字长度 称为单字长指令

  • 指令字长度 = 0.5 × 机器字长 称为半字长指令

  • 指令字长度 = 2 × 机器字长 称为双字长指令

(1) 指令分类

  • 根据层次结构:高级、汇编、机器、微指令
  • 根据地址码字段个数:零、一、二、三地址指令
  • 根据操作数物理位置:
    • 存储器-存储器(SS)
    • 寄存器-寄存器(RR)
    • 寄存器-存储器(RS)
  • 根据指令功能:传送、算术运算、位运算、控制转移
    一条指令通常包括操作码和地址码两部分

操作码(OP)指出执行什么操作,如加减乘除、存数、取数等。CPU中有专门电路来解释操作码,从而执行相应的操作。3位操作码最多可表示8条不同的指令

地址码(A)给出数据或者指令的地址

根据指令中操作数地址码的数目的不同,可将指令分为以下几种:

1.零地址指令:

OP

只有操作数,没有地址码,这种指令有两种可能:

①不需要操作数,如停机指令

②零地址的运算类指令仅用在堆栈计算机中,通常参与运算的两个操作数隐含地从栈顶和次栈顶弹出,送到运算器进行运算,运算结果再隐含地压入到堆栈中

2.一地址指令:

OP A1

只有一个地址码,有两种可能:

①单操作数指令,如自增1.自减1,求反,求补等

OP(A1) -> (A1)

②另一个操作数的地址是隐含的,可约定由ACC(累加器)提供

(ACC)OP(A1) -> ACC

若指令字长为32位,操作码占8位,地址码占24位,则该指令操作数的直接寻址范围为:2^24^ = 16M

3.二地址指令:

OP A1 A2

A1给出目的操作数的地址,A2给出源操作数的地址

(A1)OP(A2) -> A1

若指令字长为32位,操作码占8位,2个地址码各占12位,则该指令操作数的直接寻址范围为:2^12^ = 4k

4.三地址指令:

OP A1 A2 A3

A1给出目的操作数的地址,A2给出源操作数的地址,A3存放操作结果

(A1)OP(A2) -> (A3)

若指令字长为32位,操作码占8位,3个地址码各占8位,
则该指令操作数的直接寻址范围为:2^8^ = 256

5.四地址指令:

OP A1 A2 A3 A4

A1给出目的操作数的地址,A2给出源操作数的地址,A3存放操作结果,A4给出下一条将要执行的指令的地址

(A1)OP(A2) -> (A3)

若指令字长为32位,操作码占8位,4个地址码各占6位,
则该指令操作数的直接寻址范围为:2^6^ = 64

(2)指令格式

操作码+数据源+寻址方式

4.2 寻址方式

指令寻址方式:顺序寻址,跳跃寻址

操作数寻址方式:

寻址方式 有效地址 访存次数
隐含寻址 程序指定 0
立即寻址 A即是操作数 0
直接寻址 EA=A 1
一次间接寻址 EA=(A) 2
寄存器寻址 EA=Ri 0
寄存器间接一次寻址 EA=(Ri) 1
相对寻址 EA=(PC)+A 1
基址寻址 EA=(BR)+A 1
变址寻址 EA=(IX)+A 1

4.3 CISC与RISC

CISC(复杂指令系统)

  1. 指令多(可变长模式)
  2. 使用频率差别大
  3. 寻址方式多
  4. 计算机没有大规模使用的时候推出的(指令、硬件都是定制的)
  5. 微程序控制技术(微码)

RISC(精简指令系统)

  1. 指令少
  2. 使用频率接近
  3. 寻址方式少
  4. 针对寄存器操作
  5. 只有Load/Store操作内存
  6. 通用寄存器
  7. 硬布线逻辑控制
  8. 适合采用流水线

你可能感兴趣的:(计算机专业课知识)