计算机组成原理:4.1 指令格式

4.1 指令格式

思维导图

计算机组成原理:4.1 指令格式_第1张图片

基本概念

指令:

  • 是指示计算机执行某种操作的命令,计算机运行的最小功能单位
  • 一条指令通常包括操作码字段和地址码字段两部分

指令系统(指令集):

  • 一台计算机的所有指令的集合
  • 指令系统是计算机的主要属性,位于硬件和软件的交界面上

指令的基本格式

指令

  • 一条指令通常包括操作码字段和地址码字段两部分

  • 操作码:指出指令中指令应该执行什么性质的操作和具有何种功能。
    操作码是识别指令、了解指令功能及区分操作数地址内容的组成和使用方法的关键信息。

  • 地址码:给出被操作的信息(指令或数据)的地址,包括参加运算的一个或多个操作数所在的

  • 指令长度:

    • 是指一条指令中所包含的二进制代码的位数
    • 指令的长度取决于操作码的长度、操作数地址码的长度和操作数地址的个数,与机器字长没有固定的关系。
  • 分类:(机器字长比较)

    • 单字长指令
    • 半字长指令
    • 双字长指令
  • 两种结构:

    • 定长指令结构

      • 一个指令系统中,所有的指令的长度都是相等的
      • 特点:执行速度快,控制简单
    • 变长指令结构

      • 各指令长度随指令功能而异

零地址指令

  • 只给出操作码OP,没有显式地址。

  • 可能:

    • 不需要操作数的指令,如空操作指令、停机指令、关中断指令等
    • 零地址的运算类指令仅用在堆栈计算机中。通常参与运算的两个操作数隐含地从栈顶和次栈顶弹出,送到运算器进行运算,运算结果再隐含地压入堆栈。

一地址指令

  • 两种形式,要根据操作码的含义确定为哪一种

  • 两种形式

    • 只有目的操作数的单操作数指令,按A1地址读取操作数,进行OP操作后,结果存回原地址。
      指令含义:OP(A1)→A1如操作码含义是加1、减1、求反、求补等。
    • 隐含约定目的地址的双操作数指令,按指令地址A1可读取源操作数,指令可隐含约定另个操作数由AC(累加器)提供,运算结果也将存放在ACC中。
      指令含义:( ACC)OP(A1)→ACC
      若指令字长为32位,操作码占8位,1个地址码字段占24位,则指令操作数的直接寻址范围为2^24=16M

二地址指令

  • 指令含义:(A1)OP(A2)→A1
    对于常用的算术和逻辑运算指令,往往要求使用两个操作数,需分别给出目的操作数和源操作数的地址,其中目的操作数地址还用于保存本次的运算结果

三地址指令

  • 指令含义:(A1)OP(A2)→A3
    A3用來存放結果

四地址指令

  • 指令含义:(A1)OP(A2)→A3,A4=下一条将要执行指令的地址。

定长操作码指令格式

  • 定长操作码指令在指令字的最高位部分分配固定的若干位(定长)表示操作码
  • 定长操作码对于简化计算机硬件设计,提高指令译码和识别速度很有利。

扩展操作码指令格式

  • 目的:为了在指令字长有限的前提下仍保持比较丰富的指令种类,采取可变长度操作码

  • 特性:增加指令译码和分析的难度,使控制器的设计复杂化

  • 最常见的变长操作码方法是扩展操作码,它使操作码的长度随地址码的减少而增加,不同地址数的指令可具有不同长度的操作码,从而在满足需要的前提下,有效地缩短指令字长。

在设计扩展操作码指令格式时:需要注意:

    1. 不允许短码是长码的前缀,即短操作码不能与长操作码的前面部分的代码相同。
    1. 各指令的操作码一定不能重复

你可能感兴趣的:(计算机组成原理)