计算机系统结构 之 指令系统

文章目录

    • 基本概念
      • 1. 周期的概念
      • 2. 指令的组成
    • 指令格式的优化设计
      • 1. 操作码的优化表示
        • 1.1 Huffman编码
        • 1.2 扩展编码法
      • 2. 地址码的优化表示
    • 指令系统的功能设计
      • 1. 基本指令系统
      • 2. 指令系统的性能
      • 3. 指令系统的优化设计

基本概念

 指令系统是计算机系统结构的主要组成部分,是软件与硬件之间相互沟通的桥梁,也是软硬件分界面的一个主要标志,让软件之间的语义差异越来越大。

1. 周期的概念

指令周期:
 CPU取出一条指令并执行这条指令的时间总和

CPU周期:
 一条指令执行的一个阶段、一个过程

时钟周期:
 通常称为节拍脉冲或T周期,一个CPU周期包含若干个时钟周期


2. 指令的组成

一般指令由两部分组成:

  • 操作码
     通常包含两部分内容:操作类型(加、减…)和操作数描述(数据类型以及数据字长)
  • 地址码
     包含三部分内容:地址(间址、立即数…)、地址附加信息(偏移量、块长度…)和寻址方式(直接寻址、间接寻址…)
操作码(OPC) 地址码(A)

指令格式的优化设计

指令格式的优化的主要目的是:

  • 节省程序的存储空间
  • 指令格式尽量规整

前面介绍了指令包含两部分内容,我们的指令格式优化设计可以从这两部分内容入手。

1. 操作码的优化表示

操作码有三种编码方式:

  • 固定长度
    • 优点:规整,译码简单
    • 缺点:浪费信息量
  • Huffman编码
    • 优点:减少了冗余量
    • 缺点:操作码长度不规整,硬件译码困难;与地址码共同形成固定长度的指令比较困难。
  • 扩展编码

1.1 Huffman编码

可以看这篇文章:霍夫曼编码(Huffman Coding)
形成操作码编码并不是唯一的,但是操作码的平均长度是唯一的

1.2 扩展编码法

是Huffman编码和固定字长编码法的结合

2. 地址码的优化表示

地址码个数选择可以是三个、两个、一个以及零个,地址码个数直接、决定性地影响计算机系统

评价地址码个数应该取多少的标准主要有两个:

  1. 程序的存储容量,包括操作码和地址码
  2. 程序的执行速度,以程序执行过程中访问主存的信息量代表

各种不同地址数指令的特点以及适用场合

地址数目 指令长度 程序存储量 程序执行速度 适用场合
三地址 最大 一般 向量,矩阵运算为主
二地址 一般 很大 很低 一般不宜采用
一地址 较长 较大 较快 连续运算,硬件结构简单
零地址 最长 最小 最低 嵌套,递归,变量较多
二地址R型 一般 最小 最快 多累加器,数据传送较多

想要用一个短的地址码表示一个大的逻辑地址,所以缩短地址码长度,方法有:

  • 用间址寻址方式缩短地址码长度
  • 用变址寻址方法缩短地址码长度
  • 用寄存器间接寻址方式缩短地址码长度

指令系统的功能设计

1. 基本指令系统

通用计算机系统有五种基本指令:

  1. 数据传送类指令
     由三个主要因素决定:数据存储设备的种类(寄存器、主存…)、数据单位(字、字节、块…)和采用的寻址方式
  2. 运算类指令
     四个因数的组合:操作种类(加、减…)、数据表示(定点、浮点…)、数据长度(字、双字…)和数据存储设备(寄存器、主存…)
  3. 程序控制类指令
     包含三类:转移指令、调用和返回指令、循环控制指令
  4. 输入输出指令
  5. 处理机控制和调试指令

2. 指令系统的性能

  1. 完整性:是指应该具备基本指令类型
  2. 规整性:规则性包括对称性和均匀性
  3. 高效率:指令的执行速度要快
  4. 兼容性:在同一系列机内指令系统不变

3. 指令系统的优化设计

有两种截然相反的方向:

  1. 复杂指令系统计算机CISC:增强指令的功能,设置功能复杂的指令
  2. 精简指令系统计算机RISC:简化指令功能,只保留功能简单的指令

你可能感兴趣的:(计算机系统结构,其他)