• 指令系统(考研笔记)


    指令系统

    一.指令系统概述

    程序,指令和指令系统的概念

    • 程序:程序是由一系列有时间顺序,有逻辑关系的指令构成的。
    • 指令:指令是控制计算机硬件完成指定的基本操作的命令(如加减,传送等),指令是用户使用计算机和计算机本身运行的最小功能单位。
    • 指令系统(指令集):能被一台计算机执行的全部指令的集合称为该机的指令系统,也称为指令集。

    在这里插入图片描述

    指令系统的评价

    (1)完备性:常用指令齐全,编程方便
    (2)高效性:程序占主存空间少,运行速度快
    (3)规整性:指令和数据使用规则统一简单
    (4)兼容性:同一系列的低档计算机的程序能在高档计算机上直接运行,即向后兼容

    二.指令系统的结构层

    指令系统的结构层定主要定义了计算机的存储模式,寄存器组织,数据类型,I/O模式,指令类型等信息。

    1.存储模式

    存储模式的定义包括存储器结构,特殊存储区(堆栈等),数据存储顺序,边界对齐等的确定。


    数据存储顺序

    • 大端存储:大端存储是指将数据的最低有效位存储在相应的高地址单元中,将最高字节的地址作为字地址。
    • 小端存储:小端存储是指将数据的最低有效位存储在相应的低地址单元中,将最低字节的地址作为字地址。

    在这里插入图片描述


    边界对齐

    所谓边界对其,是指数据存储在地址为2的整数倍(16位字长),4的整数倍(32位字长),或8的整数倍(64位字长)起始的连续存储单元中。当所存数据不能满足此对齐限制要求时,可填充一个或多个空白字节。

    在数据未对齐的计算机中,数据的存储将跨两个边界对齐的存储单元,此时读/写一个完整数据需要访问两次存储器(花费两个总线周期)。所以为了简化硬件实现,缩短存储器访问时间,通常选择多字节的数据在主存中存放时满足边界对齐的要求。

    在这里插入图片描述


    堆栈(stack)

    计算机主存中堆栈的概念有别于数据结构中堆栈的概念,数据结构中堆和栈是两种不同的数据结构,而计算机主存中所说的堆栈是指类似于数据结构中栈的结构,即后进先出,先进后出的顺序存储结构。

    在这里插入图片描述


    冯·诺伊曼结构和哈佛结构

    • 冯诺依曼结构规定指令和数据均用二进制表示,并以同等地位混合存放在主存中。其优点是指令和数据可以共享并充分利用主存资源;缺点是不正确的数据可能会对指令造成破坏,导致程序运行异常。
    • 哈佛结构将主存分为指令存储器和数据存储器两个实体,所有程序必须存放在指令存储器的地址空间中,而数据必须存储在数据存储器的地址空间中,其结构与优点如下图:
      在这里插入图片描述

    缺点是指令存储器和数据存储器可能得不到充分利用。

    2.寄存器组织(略)

    3.数据类型(略)

    4.指令类型(略)

    5.I/O模式(略)

    三.指令设计

    在这里插入图片描述

    1.定长操作码的编码方式

    对所有指令均使用相同位数的二进制数进行编码,例如某计算机的指令系统需要N条指令,若所采用定长编码的方式,所有指令都用n位二进制数进行编码,则应满足关系: N ≤ 2 n N\le2^n N2n

    2.变长操作码的编码方式

    对于不同类型的指令操作码用不固定长度的二进制数进行编码

    (1)霍夫曼编码

    霍夫曼编码算法的内容在数据结构中有详细学习,这里只简单举例介绍:

    编码思想:使用频率较高的指令采用较短的位数进行编码,使用频率较低的指令采用较长的位数进行编码,并且较短的指令不能是较长指令的前缀。
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    特点:霍夫曼编码的结果不是唯一的,但是其平均码长是唯一且在所有编码方式中最优。

    缺点:编码长度种类太多,硬件控制器译码电路设计复杂

    (2)基于特定规则扩展操作码

    如图所示,假如对出现概率较大的指令采用3位二进制编码,对出现概率较小的指令采用5位二进制编码,则编码结果和平均码长如下:
    在这里插入图片描述

    (3)依据地址码数量扩展操作码

    对于指令字长度固定的指令系统,为了充分利用指令的二进制位,操作码长度一般随地址码数量多少而变化。
    在这里插入图片描述
    在这里插入图片描述

    四.寻址方式

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    五.综合例题解析:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    什么是图数据库,解释图数据库的特点和应用场景
    Gitblit自建仓库及多人使用
    数据结构与算法拾遗九(异或运算)
    python实现.jpeg转.jpg
    【OpenPCDet】稀疏卷积SPConv-v1.2代码解读(4)
    Nodejs http模块常用方法
    git-仓库迁移并保留commit log
    Spring 6【数据校验Validation、JSR 303 和 Hibernate 实现】(十三)-全面详解(学习总结---从入门到深化)
    Laravel一些优雅的写法
    04 `Linux`的VIM
  • 原文地址:https://blog.csdn.net/weixin_45863060/article/details/125479889