「Section 6」指令系统

α. 指令系统概述

β. 指令格式

γ. 操作数类型


α 指令系统概述

  1. 现代冯·诺伊曼计算机结构框图是以存储器为中心,计算机的工作过程就是循环往复地取指令、分析指令、执行指令的过程。

  2. 一些概念

    • 计算机指令:指示计算机硬件进行某种操作的命令。

    • 机器指令(机器字):使用二进制来表示计算机指令,能被计算机硬件识别并执行的01代码串。

    • 机器语言:机器指令编写程序的规范,是计算机硬件的系统语言。

    • 机器语言程序:机器指令的有序集合,具有特定功能。

    • 指令系统:一台计算机所有机器指令的集合。

    • 汇编指令:机器指令的代码助记符,与机器指令几乎一一对应。

    • 微指令:指在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,属于硬件层面。若干条微指令可以构成一个微程序,而一个微程序就对应了一条机器指令。

  3. 不同级别指令之间的关系

    • 高级语言与汇编语言指令属于软件层面,而机器指令与微指令则属于硬件层面
    • 一条高级语言被编译为多条机器指令
    • 汇编指令与机器指令一一对应
    • 一条机器指令则依赖于多条微指令的执行
  4. 指令所包含的信息

    • 指令功能:要执行的操作,一般有运算、传送、移位、跳转等。
    • 操作对象:要处理或参加运算的数据,称为源操作数
    • 操作的结果:存放运算或处理结果的数据,称为目的操作数(⚠️目的操作数也可以为源操作数)。
    • 下一条指令地址:下一条指令在主存中的地址。
  5. 指令集体系架构(ISA):处理器所支持的指令集(汇编指令集及机器指令编码)及其操作数的相关信息(寄存器、存储器、I/O等)

    • 作用:在系统软件设计者和处理器硬件设计者之间提供了一个抽象层
      • 软件设计者:依据ISA知道如何编写机器语言程序来控制与使用处理器硬件
      • 硬件设计者:依据ISA来设计微体系结构,并实现能执行机器语言的处理器硬件
    • 内容
      • ★可执行的指令集合,包括指令格式、指令类型、指令功能、指令编码等
      • 指令可以接受的数据类型
      • 操作数可以存放的寄存器组和结构
      • 操作数所能存放的存储空间(存储器和I/O)大小、编址方式、大小端模式等
      • 指令获取操作数的方式,即数据寻址方式
      • 指令执行的控制方式,即指令寻址方式,包括程序计数器、条件码定义等

β 指令格式

  1. 基本格式:操作码字段(OP)+地址码字段(A)

    • 位二进制操作码最多表示 种指令
    • 地址码用于寻找操作数或下一条指令地址
  2. 指令寻址方式

    • 程序中的机器指令序列在主存中往往按顺序存放
    • CPU使用程序计数器PC(Program Counter)来存储指令地址
    • 下一条指令地址可以由 指出
    • 转移类指令(即非顺序执行语句,如循环等)依旧读取 处指令,只是该指令是跳转指令
  3. 指令字长:一条机器指令的位数

    • 机器字长:计算机一次能处理的二进制数据的位数
    • 短格式指令:指令字长≤机器字长,节省空间;长格式指令:指令字长>机器字长,包含更多操作信息(⚠️两者可并存于一个指令系统)
    • 定长指令系统:所有指令字长相等,一般都等于机器字长,结构简单;变长指令系统:指令字长不固定,通常取字节的整数倍,冗余状态少,结构灵活(单字长指令:指令字长=机器字;双字长指令:指令字长=机器字长*2)
  4. 地址码:用来寻找执行指令所需要的操作数(分为源和目的操作数)或者下条指令地址,地址码的含义取决于寻址方式。

    • 三地址指令:OP|A1|A2|A3,(A1) OP (A2) →A3

    • 二地址指令:OP|A1|A2,(A1) OP (A2) →A1

    • 单地址指令:OP|A,(AC) OP (A) →AC(AC为隐含操作数) or OP(A)→A(单目运算)

    • 零地址指令:OP,无需操作数如占位和延时而设置的空操作指令NOP、等待指令WAIT、停机指令HALT等,或是隐含操作数的单目运算符

      ⚠️上述四种指令可以并存于一个指令系统


γ 操作数类型

  1. 根据操作数的存放位置进行分类

    • 立即数类型:操作数是常数,存放在指令的地址字段A上(指令存放在主存 [⚠️即为内存] 中)
    • 寄存器类型:操作数存放在CPU的通用寄存器中,A为寄存器编号/地址
    • 存储器类型:操作数存放在主存中,A为其地址信息(取决于寻址方式)
    • I/O数据类型:操作数存放在I/O设备接口中,A为其端口地址Port
  2. 根据操作数的物理含义进行分类

    • 数值数据:整数、浮点数、十进制数,带符号数/ 无符号数

    • 指针/地址:指存储器地址,由访问存储器的指令计算出(⚠️是无符号整数)

    • 位或位串数据:一般用于表示标志位、状态位、控制位等信息

    • 字符或者字符串:一般用于表示文本信息,包括西文字符(ASCIl码)和中文字(内码)等

    • 逻辑数据:用0/1表示真/假的逻辑值,通常用于条件转移指令中对条件码的检测

      ⚠️仅根据操作数的二进制代码则无法进行区分其具体的含义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值