组成原理(十一):指令系统

学习重点

  • 机器指令
    • 操作码
    • 地址码
  • 操作数
    • 类型
    • 存储方式
  • 操作类型
  • 寻址方式(10种)
  • RISC和CISC

1.机器指令

  1. 指令的一般格式:
    组成原理(十一):指令系统

  2. 操作码:

    • 长度不可变

    • 长度可变

    • 操作码扩展技术:保留码点
      组成原理(十一):指令系统

      保留的码点是(1111),若增加一个码点(1110),则最多增加16个地址
      原则:短操作码一定不能是长操作码的前缀!!

    • 指令编码:

      • 常用的指令用短操作码
      • 不常用的指令用长操作码
  3. 地址码:

    • 四地址:
      组成原理(十一):指令系统

      • 四次访存:取指令,取操作数1,取操作数2,保留结果
      • 用PC代替A4—>三地址
    • 三地址:
      组成原理(十一):指令系统

    用ACC代替A3—>二地址

    • 二地址:
      组成原理(十一):指令系统

    用ACC代替其中一个操作数(A1或A2)—>一地址

    • 一地址:
      组成原理(十一):指令系统

    • 零地址:没有地址码,不访存,如CLA

  4. 指令字长取决于:

    • 操作码长度
    • 操作数地址的长度
    • 操作数地址个数

2.操作数

  1. 类型
    • 地址:无符号整数
    • 数字:定点,浮点,十进制
    • 字符:ASCII码
    • 逻辑数:逻辑运算
  2. 数据在存储器中存放顺序:
    • 大端大尾:大的放在字的后面
    • 小端小尾:小的放在字的后面
  3. 数据在存储器中存放方式:
    • 从任意位置开始:可能会跨存储器字访问
      组成原理(十一):指令系统

      • 节约空间
    • 从字的开始位置存放: 浪费空间
      组成原理(十一):指令系统

    • 边界对准:
      组成原理(十一):指令系统

      • 上面两种方式的折中
      • 地址起始位置是数据长度的整数倍
        • 字节:0,1,2,3....
        • 半字(2字节):0,2,4,6,8....
        • 字(4字节):0,4,8,12....

3.操作类型

  1. 数据传送:
    • 存储器—>寄存器(LOAD)
    • 寄存器—>存储器(STORE)
    • 存储器—>存储器(MOVE)
    • 寄存器—>寄存器(MOVE)
  2. 算术逻辑操作:加减乘除等
  3. 移位操作:
    • 算术移位
    • 逻辑移位
    • 循环移位(进位和不进位)
  4. 转移操作:
    • 无条件转移:JMP
    • 条件转移
      • 结果为0转:JZ
      • 结果溢出转:JO
      • 结果进位转:JC
      • 跳过指令:SKP
    • 调用和返回
      CALL,RETURN
    • 陷阱(Trap):意外事故中断
      • 不提供用户使用,出现事故时CPU调用(隐指令)
      • 提供给用户使用的陷阱指令
    • 输入输出,IO指令 :IN/OUT
      • 并不是每一个指令集都有
      • IO统一编制则没有该指令

4.寻址方式

寻址:确定本条指令操作数地址,或者下一条指令的指令地址

4.1 指令寻址

  1. 顺序寻址:
    (PC)+1—>PC
  2. 跳跃寻址:
    由主存中存储的JMP转移指令给出
  3. 示意图:
    组成原理(十一):指令系统

4.2 数据寻址

指令格式如下:
组成原理(十一):指令系统

寻址方式如下:

  1. 立即寻址
    组成原理(十一):指令系统

  2. 直接寻址
    组成原理(十一):指令系统

  3. 隐含寻址
    组成原理(十一):指令系统

  4. 间址寻址
    组成原理(十一):指令系统

  5. 寄存器直接寻址
    组成原理(十一):指令系统

  6. 寄存器间接寻址
    组成原理(十一):指令系统

  7. 基址寻址

    • 使用专属寄存器
      组成原理(十一):指令系统
      BR不可变,A可变
    • 使用通用寄存器
      组成原理(十一):指令系统
      R0不可变,A可变
  8. 变址寻址:IX
    组成原理(十一):指令系统

  9. 相对寻址
    组成原理(十一):指令系统

  10. 堆栈寻址
    组成原理(十一):指令系统

5.RISC和CISC

  1. RISC:精简指令集计算机
    组成原理(十一):指令系统

  2. CISC:复杂指令集计算机
    组成原理(十一):指令系统

  3. RISC和CISC比较
    组成原理(十一):指令系统