计组原理知识点整理之指令系统

计算机组成原理

指令系统

指令概述

  • 微指令

    • 硬件
  • 机器指令

    • 简称指令
    • 符号表示---->汇编指令
  • 宏指令

    • 软件

指令系统

  • 指令系统分类

    • 复杂指令系统计算机CSIC

    • 精简指令系统计算机RSIC

      • 选取使用频率最高的一些简单指令,指令条数少
      • 指令长度固定,指令种类少,寻址方式种类少
      • 只有取数存数指令访问存储器,其他都在寄存器中进行
  • 性能要求

    • 完备性

      • 功能齐全
    • 有效性

      • 效率高
    • 规整性

      • 指令格式与数据格式一致性
    • 兼容性

      • 向上兼容
  • 指令格式

    • 指令字

      • 指令字长度

        • 一个指令字中包含二进制代码的位数,其长度应该与计算机的数据字长相匹配,以简化指令访存的操作,一般指令字长为计算机字长的整数倍。

        • 分类

          • 单字长指令

            • 指令字长等于机器字长
          • 双字长指令

            • 指令字长等于两个机器字长指令
            • 目的:提供足够的地址位来解决访问内存任何单元的寻址问题
            • 缺点:是必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。
      • 机器字长

        • 计算机能直接处理的二进制数据的位数,他决定了计算机的运算精度。
    • 结构

      • 操作码OP

        • 分类

          • 固定长度

            • 优点:编码方法简单,便于指令的译码
            • 缺点:不方便指令系统中增加新的指令(扩展不方便)
          • 可变长度

            • 减小操作码的平均长度,提高指令编码的效率,指令的扩展方便
          • 计算指令操作码的平均长度

        • 设计

          • 与地址码的设计相匹配

            • 如指令长度固定的情况下,地址码数量较多的指令可以安排较短的操作码,地址码数量较少的指令中可以安排较长的操作码
          • 编码

            • 哈夫曼编码
          • 扩展

      • 地址码A

        • 零地址指令

          • 空操作 停止等
        • 一地址指令

          • AC<-(AC)op(A)

            • 指令编码中只有一个地址码,指出了参加操作的一个操作数的存储位置A
            • 如果还有另一个操作数则隐含在累加器AC中
        • 二地址指令

          • A1<-(A1)op(A2)

            • eg: MOV AL ,BL

        ADD AL,30

        • 按操作数所在位置分类

          • 寄存器-寄存器(RR)型指令
          • 寄存器-存储器(RS)型指令
          • 存储器-存储器(SS)型指令
        • 三地址指令

          • A3<-(A1)op(A2)
    • 特点

      • 指令字长
      • 地址格式
  • 寻址方式

    • 指令寻址

      • 目的

        • 确定下一条预执行指令的指令地址
      • 寻址方式

        • 顺序寻址

          • (PC)+1->PC 程序计数器自动加1
        • 跳跃寻址

          • 由转移指令JMP指出
    • 数据寻址

      • 目的

        • 把操作数的形式地址A,变换为操作数的有效地址EA
      • 寻址方式

        • 隐含寻址

          • 例如:单地址的指令格式,没有在地址字段指明第二操作数地址,而是规定累加寄存器AC作为第二操作数地址,AC对单地址指令格式来说是隐含地址
        • 立即寻址

          • 形式地址A就是操作数本身
        • 直接寻址

          • EA=A

            • 直接根据读内存找到操作数,形式地址不需要经过任何处理
        • 间接寻址

          • EA=(A)

            • 有效地址由形式地址间接提供,形式地址是操作数的地址的地址
        • 寄存器寻址

          • EA=R

            • 形式地址是寄存器的编号,直接去寄存器中寻址操作数
        • 寄存器间接寻址

          • EA=(R)

            • 操作数里存放的是寄存器的编号,寄存器中存的不是操作数而是操作数的有效地址。所以操作数在存储器里。
        • 偏移寻址

          • EA=A+(R)

            • 形式地址需要和另一个寄存器中的地址相加,
              形式地址A是显示的,另一个地址字段隐含在某个专用的寄存器R中
          • 根据寄存器的不同类型来分类

            • 相对寻址

              • EX=A+(PC) ----PC程序计数器 PC存储当前正在执行指令的地址
            • 基址寻址

              • EA=A+(BR) BR为基地址寄存器
            • 变址寻址

              • EA=A+(IX) IX为变址寄存器(专用) 通用寄存器也可以作为变址寄存器
              • 在程序执行的过程中IX内容可变,形式地址A不变,便于处理数组问题
        • 堆栈寻址

  • 指令分类

    • 数据处理

      • 算数运算型指令
      • 逻辑运算型指令
    • 数据存储

    • 数据传送

      • 输入输出类指令
      • 数据传送类指令
      • 指令传送类指令
      • 标志传送指令
    • 程序控制

      • 系统控制类指令

posted @ 2020-07-08 09:11  wgjmcal  阅读(729)  评论(0编辑  收藏  举报