计组 指令系统

发布于 2020-01-16  54 次阅读


指令一般由两个字段构成:1、操作码字段;2、地址码字段

指令格式

  1. 结构(操作码+地址码)
    1. 操作码
      1. 操作数的地址
      2. 操作结果的存储地址
      3. 下一条指令的地址
    2. 地址码
      1. 零地址指令
      2. 一地址指令
        1. 二次访存
        2. 寻址上限224
      3. 二地址指令
        1. 四次访存
        2. 寻址上限212
      4. 三地址指令
        1. 四次访存
        2. 寻址上限28
      5. 多地址指令
        1. 四次访存
        2. 寻址上限26
    3. 指令字长
      1. 取决因素
        1. 操作码的长度
        2. 操作数地址的长度
        3. 操作数地址的个数
      2. 指令字长 固定
        1. 指令字长=存储字长
      3. 指令字长 可变
        1. 按字节的倍数变化
      4. 对准边界存放
        1. 不连续存放数据
        2. 按字节编址
          1. 半字地址最低位恒为0
          2. 字地址最低两位恒为0
          3. 双字地址的最低三位恒为0
        3. 减少访存次数,浪费了存储空间
      5. 不对准边界存放
        1. 连续存放数据
        2. 节约存储器空间
        3. 增加访存次数
        4. 对多字节数据存在调整高低字节位置的问题
    4. 寻址方式
      1. 寻找本条指令的数据地址
      2. 寻找下一条要执行的指令地址
    5. 指令操作码的扩展技术
      1. 指令操作码的长度决定了指令系统中完成不同操作的指令数
      2. 若某机器的操作码长度固定为K位,则它最多只能有2^K条不同指令
      3. 指令操作码两种格式
        1. 固定格式
          1. 优点:对于简化硬件设计,减少指令译码时间非常有利
          2. 缺点:指令少,浪费地址
        2. 可变格式(分散地放在字的不同字段)
          1. 优点:指令多,缩短指令平均长度,减少程序总位数,增加指令字所能表示的操作信息
          2. 缺点:译码复杂,控制器的设计难度增大
      4. 拓展方法的一个重要原则
        1. 使用频度(即指令在程序中出现概率)高的指令应分配短的操作码,使用频度低的指令相应地分配较长的操作码
    6. 指令系统的兼容性
      1. 保持系统向上兼容

操作数

  1. 操作数寻址方式:就是形成操作数有效地址的方法
    1. 直接寻址
    2. 立即寻址
    3. 间接寻址
    4. 相对寻址
      1. 基址是程序计数器的PC值
    5. 寄存器寻址
    6. 寄存器间接寻址
    7. 变址寻址
    8. 堆栈寻址
  2. 存储器堆栈中,需要一个堆栈指示器,它是CPU中一个专用寄存器,它指定的主存单元就是堆栈的栈顶。
  3. 除了立即寻址和寄存器寻址外,其他寻址方式中,操作数都是存放在主存单元中

其他

  1. CISC:复杂指令系统计算机
  2. RISC:精简指令系统计算机
  3. RISC的目的是减少指令数
喜欢这篇文章吗,不妨分享给朋友们吧!

科学是第一生产力