计算机组织与结构-第二章第三讲-short PPT课件_第1页
计算机组织与结构-第二章第三讲-short PPT课件_第2页
计算机组织与结构-第二章第三讲-short PPT课件_第3页
计算机组织与结构-第二章第三讲-short PPT课件_第4页
计算机组织与结构-第二章第三讲-short PPT课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 计算机组织与结构 第二章指令系统 2 计算机组织与结构 第二章指令系统 第二章指令系统2 1指令格式2 2寻址方式2 3指令系统的功能与种类2 4精简指令系统RISC2 5指令系统的优化与发展2 6指令的执行过程与控制2 7微程序控制器2 8中断系统 3 第二章第三讲学习目标 指令格式的优化指令种类的优化指令的执行过程与控制 4 2 5 1指令系统的优化设计 主要目标 节省程序的存储空间指令格式尽量规整 便于译码一 指令的组成二 指令格式的优化三 指令种类的优化 计算机组织与结构 2 5指令系统的优化与发展 5 一 指令的组成 计算机组织与结构 2 5指令系统的优化与发展 6 二 指令格式的优化 操作码的三种编码方法 定长 等长 编码 Huffman编码 扩展编码优化操作码编码的目的 节省程序存储空间 计算机组织与结构 2 5指令系统的优化与发展 7 1 定长编码所有指令的操作码长度都是相等的 如果需要编码的操作码有n个 那么 定长操作码的位数最少需要log2n位 许多RISC处理机采用定长操作码主要优点 规整 译码简单主要缺点 浪费信息量 操作码的总长位数增加 计算机组织与结构 2 5指令系统的优化与发展 8 必须知道每种操作码在程序中出现的概率 操作码的操作码平均长度可通过如下公式计算 计算机组织与结构 2 5指令系统的优化与发展 9 2 Huffman编码 基本思想对出现频度较高的信息单元用较短的编码表示 而对频率较低的信息单元用较长的编码表示 能达到最短的编码长度 但编码不规则 译码困难 计算机组织与结构 2 5指令系统的优化与发展 特点 10 2 Huffman编码 使用哈夫曼算法构造哈夫曼树来进行编码 构造哈夫曼树的方法 每次从结点集中选择出2个使用概率最小的结点 将其合并成概率为这两个概率之和的父结点 若结点集不为空集 就将生成的新结点放到结点集中 继续从这个新的结点集中选择出2个概率最小的结点生成其父结点 对每个结点的两个分支分别用 0 和 1 标识 从根结点到一个叶结点的路径 由0和1组成的序列 就是这个叶结点的哈夫曼编码 计算机组织与结构 2 5指令系统的优化与发展 11 例1 假设一台模型计算机共有7种不同的操作码 如果采用固定长操作码需要3位 已知各种操作码在程序中出现的概率如下表 计算采用Huffman编码法的操作码平均长度 计算机组织与结构 2 5指令系统的优化与发展 12 利用Huffman树进行操作码编码 13 利用Huffman树进行操作码编码 14 利用Huffman树进行操作码编码 15 利用Huffman树进行操作码编码 16 利用Huffman树进行操作码编码 17 利用Huffman树进行操作码编码 18 利用Huffman树进行操作码编码 19 Huffman操作码编码 20 解 采用Huffman编码法的操作码平均长度为 0 45 1 0 30 2 0 15 3 0 05 4 0 03 5 0 01 6 0 01 6 1 97 位 利用Huffman树进行操作码编码 21 3 扩展编码法Huffman操作码的主要缺点 操作码长度很不规整 硬件译码困难与地址码共同组成固定长的指令比较困难扩展编码法 由固定长操作码与Huffman编码法相结合形成 计算机组织与结构 2 5指令系统的优化与发展 二 操作码的优化表示 22 基本思想将操作码的编码长度分成几种固定长的格式 频度高的码点用短码表示 频度较低的码点用长码表示 被大多数指令集采用 3 扩展编码法 计算机组织与结构 2 5指令系统的优化与发展 23 种类 表示方法 码长表示法 用短横线前后的数字分别表示短码码长和长码码长如 2 4 6表示编码有3种码长 分别是2位 4位和6位 码点数表示法 用斜线前后的数字分别表示短码码点个数和长码码点个数如 3 6 4表示有3种码长 最短码长的码点个数是3 最长码长的码点个数是4 码点总数是13 3 扩展编码法 计算机组织与结构 2 5指令系统的优化与发展 24 例2 将例1改为1 2 3 5扩展编码法 操作码平均长度为 H 0 45 1 0 30 2 0 15 3 0 05 0 03 0 01 0 01 5 2 00将例1改为2 4等长扩展编码法 操作码平均长度为 H 0 45 0 30 0 15 2 0 05 0 03 0 01 0 01 4 2 20 计算机组织与结构 2 5指令系统的优化与发展 3 扩展编码法 25 计算机组织与结构 2 5指令系统的优化与发展 7条指令的操作码扩展编码法 26 计算机组织与结构 2 5指令系统的优化与发展 27 计算机组织与结构 2 5指令系统的优化与发展 28 计算机组织与结构 2 5指令系统的优化与发展 例3 一个处理机有I1 I10共10条指令 经统计 各指令在程序中的使用频度分别为 p1 0 25 p2 0 20 p3 0 15 p4 0 10 p5 0 08 p6 0 08 p7 0 05 p8 0 04 p9 0 03 p10 0 02 1 写出这10条指令的操作码的哈夫曼编码 并计算编码的平均码长 2 采用3 7扩展编码和2 8扩展编码编写这10条指令的操作码 并分别计算平均码长 29 计算机组织与结构 2 5指令系统的优化与发展 哈夫曼树a 30 计算机组织与结构 2 5指令系统的优化与发展 哈夫曼树b 31 计算机组织与结构 2 5指令系统的优化与发展 哈夫曼编码 32 计算机组织与结构 2 5指令系统的优化与发展 计算2种哈夫曼编码的平均码长分别为 33 计算机组织与结构 2 5指令系统的优化与发展 3 7扩展编码和2 8扩展编码如表所示 34 计算机组织与结构 2 5指令系统的优化与发展 2种扩展编码的平均码长分别为 35 计算机组织与结构 2 5指令系统的优化与发展 三 指令种类的优化指令种类优化的主导思想是增加一些有效的指令和增强一条指令的功能 从而改进整机的性能 指令种类优化的方向主要表现在下面三个方面 1 增强基本数据处理指令的功能 2 增强程序控制指令 3 提供支持高级语言的编译及操作系统的指令 36 CPU组成 运算器 控制器 2 6 1处理器组织和功能 计算机组织与结构 2 6指令的执行过程与控制 CPU组成 运算器 控制器 cache CPU具有如下四方面基本功能 指令控制操作控制时间控制数据加工 37 38 2 6 1处理器组织和功能 运算器组成 ALU 累加寄存器 数据缓冲寄存器 状态寄存器 计算机组织与结构 2 6指令的执行过程与控制 运算器主要功能 接受控制器的命令进行运算操作 进行各种算术逻辑运算 39 控制器的主要功能 取指令 修改PC对指令进行译码 产生相应的操作控制信号控制指令执行的步骤和数据的流动方向 2 6 1处理器组织和功能 计算机组织与结构 2 6指令的执行过程与控制 控制器组成 程序计数器 指令寄存器 指令译码器 时序产生器和操作控制器 40 指令存放在连续的主存单元中 当未遇到转移或跳步指令时 CPU将按照指令在主存中的存放顺序逐条将其读出并执行 CPU中的主要寄存器 指令寄存器 IR 程序计数器 PC 地址寄存器 AR 缓冲寄存器 DR 累加寄存器 AC 状态条件寄存器 PSW 计算机组织与结构 2 6指令的执行过程与控制 41 2 6 2寄存器的组织 CPU中的寄存器分为两类 用户可见寄存器 提供给机器语言或汇编语言程序员使用的 目的是使程序尽量少地访问内存 如 累加器 地址寄存器 数据缓冲寄存器 标志寄存器 控制与状态寄存器 提供给控制器用来对CPU操作进行控制 或提供给给特权程序 操作系统 用来控制程序的执行 如 程序计数器 PC 指令寄存器 IR 计算机组织与结构 2 6指令的执行过程与控制 42 43 例 CPU结构如图所示 其中一个累加寄存器AC 一个状态条件寄存器和其它四个寄存器 各部分之间的连线表示数据通路 箭头表示信息传送方向 1 标明图中四个寄存器的名称 2 简述指令从主存取到控制器的数据通路 3 简述数据在运算器和主存之间进行存 取访问的数据通路 计算机组织与结构 2 6指令的执行过程与控制 44 计算机组织与结构 2 6指令的执行过程与控制 45 指令周期 机器周期和时钟周期的关系 计算机组织与结构 2 6指令的执行过程与控制 46 指令周期 机器周期和时钟周期的关系 指令周期是完成一条指令所需的时间 包括取指令 分析指令和执行指令所需的全部时间 指令周期划分为几个不同的阶段 每个阶段所需的时间称为机器周期 又称CPU周期或基本周期 通常等于取指时间时钟周期 也称为时钟脉冲 T周期 主振周期 主频周期 是时钟频率 主频 的倒数一个指令周期由若干个机器周期组成 每个机器周期由于若干个时钟周期组成 47 计算机组织与结构 2 6微程序控制器 指令周期 CPU周期 节拍周期之间的关系 48 计算机组织与结构 2 6指令的执行过程与控制 2 6 3指令的执行过程与控制 49 计算机组织与结构 2 6指令的执行过程与控制 指令的执行过程分为三个阶段 1 取指令阶段 PC 内存 取指 IR ID PC PC必须访问一次内存 2 取操作数阶段寻址 可能访内存以获得操作数3 执行操作的阶段执行操作 结果 视指令而定 可能需要在内存中存储 2 6 3指令的执行过程与控制 50 典型指令的执行过程举例 8000401ADDr0 r18012090MOVr9 r08023409MOV 807 r9 写内存 0807804A480IN80 读串行口 8059CFBJRC 800806AC00RET 2 6 3指令的执行过程与控制 计算机组织与结构 2 6指令的执行过程与控制 51 程序计数器 运算器 控制器 控制存储器 用于运算器 输入 出设备 主存储器 控制总线 0401 78BD 2090 CZVS 接口 PC AR IR 数据总线 地址总线 ALU 乘商寄存器 6688 1234 R9 操作数地址 操作码 寄存器组 映射 地址寄存器 指令寄存器 微程序定序器 主振脉冲 微指令寄存器 下地址字段内容 800 3409 0807 A480 98FB AC00 3041 800 807 800 801 0401 0401 4275 4275 AR PC 读内存 IR 读出内容 R0 R0 R1 PC PC 1 ADDR0 R1 返回 52 程序计数器 运算器 控制器 控制存储器 用于运算器 输入 出设备 主存储器 控制总线 0401 78BD 2090 CZVS 接口 PC AR IR 数据总线 地址总线 ALU 乘商寄存器 6688 1234 R9 操作数地址 操作码 寄存器组 映射 地址寄存器 指令寄存器 微程序定序器 主振脉冲 微指令寄存器 下地址字段内容 800 3409 0807 A480 98FB AC00 4725 801 807 801 802 2090 2090 4275 4275 AR PC 读内存 IR 读出内容 R9 R0 0 PC PC 1 0 MOVR9 R0 返回 53 程序计数器 运算器 控制器 控制存储器 用于运算器 输入设备 主存储器 控制总线 0401 78BD 2090 CZVS 接口 PC AR IR 数据总线 地址总线 ALU 乘商寄存器 6688 1234 R94275 操作数地址 操作码 寄存器组 映射 地址寄存器 指令寄存器 微程序定序器 主振脉冲 微指令寄存器 下地址字段内容 800 3409 0807 A480 98FB AC00 3041 802 807 802 0807 3409 803 803 0807 804 78BD 0 4725 读内存 AR 读出内容 AR PC PC PC 1 写内存 数据总线 R9 0 4725 MOV 807 R9 返回 54 程序计数器 运算器 控制器 控制存储器 用于运算器 输入 出设备 主存储器 控制总线 0412 78BD 2090 CZVS 接口 PC AR IR 数据总线 地址总线 ALU 乘商寄存器 6688 1234 R9 操作数地址 操作码 寄存器组 映射 地址寄存器 指令寄存器 微程序定序器 主振脉冲 微指令寄存器 下地址字段内容 800 3409 0807 A480 98FB AC00 3041 804 807 804 805 A080 A080 A AR PC 读内存 IR 读出内容 读设备 R0 读出内容 PC PC 1 80 AR I Oport IN80 返回 A 程序计数器 运算器 控制器 控制存储器 用于运算器 输入 出设备 主存储器 控制总线 0412 78BD 2090 CZVS 接口 PC AR IR 数据总线 地址总线 ALU 乘商寄存器 6688 1234 R9 操作数地址 操作码 寄存器组 映射 地址寄存器 指令寄存器 微程序定序器 主振脉冲 微指令寄存器 下地址字段内容 800 3409 0807 A480 98FB AC00 A 805 807 805 806 98FB 98FB IP AR PC 若C 1 则PC IP offset 读内存 IR 读出内容 PC PC 1 否则顺序执行 805 800 806 JRC 800 返回 程序计数器 运算器 控制器 控制存储器 用于运算器 输入 出设备 控制总线 0412 78BD 2090 CZVS 接口 PC AR IR 数据总线 地址总线 ALU 乘商寄存器 FF0 1234 R9 操作数地址 操作码 寄存器组 映射 地址寄存器 指令寄存器 微程序定序器 主振脉冲 微指令寄存器 下地址字段内容 800 3409 0807 A480 98FB AC00 A 806 807 806 FF0 AC00 AR PC 读内存 IR 读出内容 PC PC 1 读内存 PC MEM 807 RET AR SP FF0 FF1 SP SP 1 A00 堆栈FF0单元存A00 返回 57 五条指令的执行过程 58 6 4CPU功能和微操作 计算机的功能是通过控制器执行程序完成的 执行程序的过程就是周而复始地执行一条条指令的过程 取出并执行一条指令所花的时间称为一个指令周期 不同的指令其指令周期不同 每个指令周期又由若干个子周期组成 分别进行取指令 间址 取地址 取数 执行 存数 等 每个子周期由一些最基本的执行动作完成 这些基本动作被称为 微操作 控制这些基本动作的控制信号被称为 微操作信号 微操作是 原子 操作 即不可再分解的操作 计算机组织与结构 2 6指令的执行过程与控制 2 6 4指令执行的微操作过程 59 计算机组织与结构 2 6指令的执行过程与控制 60 CPU逻辑图如下 写出下述2条机器指令的执行流程 1 ADDR0 R1 对R0与R1寄存器中的内容求和 将结果送回R0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论