[计算机组成]第五章、指令系统

发布于 2022-06-01  19 次阅读


指令系统

  • 定义:一台计算机能执行的机器指令的集合称为该机的指令集或者指令系统
  • 计算机的软件:系统软件、应用软件
  • 计算机的指令系统:所有各种软件的设计基础

概述

指令

定义:指令是命令直接进行某种基本操作的二进制代码串
每条指令都能完成一个独立的算术运算和逻辑运算

机器指令和微指令、宏指令

  • 微指令(硬件)

    • 微程序命令
  • 指令(软件)

    • 若干条机器指令组成的软件指令
  • 机械指令

    • 介于微指令和宏指令之间

指令系统

  • 计算机能直接理解和执行全部指令的集合
  • 只进行计算机逻辑设计和编程程序的基本依据
  • 直接说明了这台计算机的功能
  • 计算机性能的设置的指令系统密切相关
  • 指令系统的*设置与计算机的硬件结构密切相关

指令系统的基本要求

  • 完备性
    • 用汇编语言编程指令足够只用,不需要用软件实现
  • 有效性
    • 指令编写的程序空间小,速度快
  • 规整性
    • 对称性:寄存器和存储器单元都可同等对待
    • 均匀性:一种性质的操作适用各种数据类型
    • 指令格式和数据格式一致性:指令长度与数据长度有一种规整的关系,便于程序的加工处理
    • 兼容性:不同机型上可以正确运行指令编制的软件

注意:
不同类型的CPU的指令系统不能混用和兼容
同系列的CPU一般生气之后都会对指令进行扩充,可以向后兼容

  • 向后兼容
    • 某时期机器编制的软件,不加修改就能在之后投放市场的同档机器上运行
  • 向上兼容
    • 可以运行在比他高档的机器上

指令格式

指令格式

  • 指令包含的信息多
    • 便于程序设计,增加并行性,提高指令功能角度
    • 会造成指令字过长
  • 若指令中所包含的信息少
    • 节约空间,减少访存频率。提高执行速度
    • 会减弱指令的功能
  • 指令中包含的信息
    • 操作码OP:长度取决指令系统中的指令条数
    • 地址码A: 直接给出操作数,或者指出操作数的地址

分类

根据地址码不分所给出的地址个数分类

  • 零地址指令
    指令不需要操作数或者是默认的
    例如:空操作指令,停机指令

  • 一地址指令
    地址码A既是操作数地址,又是操作结果存储地址
    例如:加1,减1,移位,取反指令

  • 二地址指令
    源操作数地址+目的操作数地址
    例如 MOV ax, bx
    两个源地址的地址,其中一个操作数地址同时给出目的操作数地址
    例如:ADD ax, bx

  • 三地址指令
    两个操作数地址,一个目的操作数地址

  • 多地址指令
    字符串匹配指令

  • 零、一、二地址特点:
    指令短占用空间小、速度快、硬件实现简单
    一般为小型、微型计算机

  • 二、三、多地址特点:功能强,便于编程
    一般为大中型计算机

操作码扩展技术

操作码长度决定了指令系统的指令条数

  • 编码

    • 固定格式操作码:长度固定,有利于设计
    • 可变格式操作码:通过扩展码技术实现

    寻址方式




    总结



“缘分让我们相遇乱世以外,命运却让我们危难中相爱”