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

基本概念

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

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:简化指令功能,只保留功能简单的指令

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值