0%

计算机组成原理复习笔记4-指令系统

4.指令系统

(★★★)指令格式

基本格式

零地址指令

  • 格式
OP
操作码
  • 举例
    • 空操作指令、停机指令等不需要操作数的指令
    • 操作数隐含的指令(操作数及运算结果保存在堆栈中)

一地址指令

  • 格式
OP A1
操作码 操作数地址
  • 指令含义:\(OP(A_1)\rightarrow A_1\)
  • 举例
    • 单目操作指令(即只需要一个操作数的指令,且运算结果保存在原位置,如自增1求反等)
    • 双目操作指令,但一个操作数隐含(比如存放在 ACC 中)

二地址指令

  • 格式
OP A1 A2
操作码 操作数地址 1 操作数地址 2
  • 指令含义: \((A_1)OP(A_2)\rightarrow A_1\)

三地址指令

  • 格式
OP A1 A2 A3
操作码 操作数地址 1 操作数地址 2 运算结果存放地址
  • 指令含义: \((A_1)OP(A_2)\rightarrow (A_3)\)

四地址指令

  • 格式
OP A1 A2 A3 A4
操作码 操作数地址 1 操作数地址 2 运算结果存放地址 下址(下一条指令的地址)
  • 指令含义: \((A_1)OP(A_2)\rightarrow (A_3)\)\(A_4=下一条指令地址\)

定长操作码和扩展操作码的优缺点对比

  • 定长操作码:指令操作码的位数固定
    • 译码方便、指令执行速度快
    • 有信息冗余
  • 扩展操作码:指令操作码的位数不固定
    • 设计灵活,能容纳更多的指令
    • 译码麻烦

采用扩展操作码方式指令数目的计算及设计

  • 思路
    • 从含操作数地址最多的开始计算:由操作数地址位数指令类型(几地址指令),确定操作码的位数,这个位数所能表示的最大数字 - 1 ,即为该类型指令的最大指令数
    • 以此类推
    • P.S. 若根据题意,若高位地址设计指令未用完,可用于设计下一级指令(指令条数相乘即可)

(★★)指令的寻址方式

有效地址的概念

(详见教材)

数据寻址和指令寻址

数据寻址

  • 一般格式
操作码 寻址特征 形式地址 A

指令寻址

  • 顺序寻址:PC 自增实现
  • 跳跃寻址:由转移类指令实现

常见寻址方式及寻址过程

寻址方式 有效地址 访存次数(不含取本条指令而访存) 备注
隐含寻址 程序指定 0
立即寻址 A 即是操作数 0
直接寻址 EA = A 1
一次间接间接寻址 EA = ( A ) 2
寄存器寻址 EA = Ri 0
寄存器间接一次寻址 EA = ( Ri ) 1
相对寻址 EA = ( PC ) + A 1
基址寻址 EA = ( BR ) + A 1 BR 不变,A 变,面向操作系统
变址寻址 EA = ( IX ) + A 1 A 不变,IX 变,面向用户,典型应用:数组

(★)CISC和RISC

CISC和RISC的基本概念及区别

(详见教材)

MIPS 32的典型指令

(详见教材)

解题技巧及重要结论

  • 数组下标即为变址寄存器中的值

参考资料

  1. 计算机组成与系统结构.袁春风等
  2. 2020年计算机组成原理考研复习指导.王道论坛