计算机组成原理 课程教案(第22次课)
章 节 名 称 授 课 方 式 教 学 目 的 教 学 重 点 教 学 难 点 第8章 CPU的结构和功能(8.3) 理论课 课 时 安 排 教学环境及 教具准备 第11周 2学时 有投影仪的教室 PPT多媒体教学课件 让学生全面理解和掌握指令流水线相关技术 剖析指令流水原理,分析影响流水线性能的因素,计算流水线性能 流水线3项性能指标的分析计算 教 学 基 本 内 容 是否重、难点 重点 重点 重点&难点 了解 了解 方法及手段 多媒体讲解 多媒体讲解 举例讲解 多媒体讲解 多媒体讲解 ? ? ? ? ? ? 8.3指令流水 8.3.1指令流水原理 8.3.2影响流水线性能的因素 8.3.3流水线性能 8.3.4流水线中的多发技术 8.3.5流水线结构 教 学 过 程 与 设 计 复习旧课:一次间接寻址的加运算指令的指令周期过程? 引入新课:提高CPU的处理速度有哪些主要措施? 8.3指令流水 8.3.1 如何提高机器速度 为了进一步提高处理机速度,通常可以从提高器件的性能和改进系统的结构,开发系统的并行性两方面入手。 ? 提高器件的性能 ? 改进系统的结构,开发系统的并行性 8.3.2 系统的并行性 (1)并行性的两种含义 ? 同时性:两个或以上事件在同一时刻发生。如多机系统中,同一时刻多个进程在运行。 ? 并发行:两个或以上事件在同一间隔内发生。如并发程序,某一时刻CPU中只有一个进程在运行,而在一个时间段内,多个进程同时运行。 (2)并行性的等级 ? 过程级(作业级或程序级、任务级或进程级):粗粒度,软件实现。 ? 粗粒度并行在“计算机体系结构”课中学习。 ? 指令级(指令之间级、指令内部级):细粒度,硬件实现。 ? 细粒度并行涉及的重要技术就是指令的流水作业。 (3)并行性的三种形式 ? 时间并行:即使用流水处理部件,时间重叠。 ? 空间并行:设置重复资源,同时工作。 ? 时间并行+空间并行:时间重叠和资源重复的综合应用。 8.3.3 指令流水原理 (1)指令的串行执行 ? 取指令由取指令部件完成 ? 执行指令由执行指令部件完成 ? 总有一个部件空闲 动画演示P346页图8.13指令的串行执行。 (2)指令的二级流水 ? 指令预取 ? 取指和执行阶段时间上完全重叠 ? 指令周期减半,速度提高1倍 动画演示P347页图8.14指令的二级流水。 (3)影响指令流水效率加倍的因素 ? 执行时间 > 取指时间 ? 条件转移指令指令流水的影响 ? 解决办法?猜测法? (4)指令的六级流水 指令六级流水时序如P348页图8.15。 ? 完成一条指令由6个时间单位负责 ? 串行执行:6 × 9 = 54 时间单位 ? 六级流水:只需14 个时间单位 8.3.4 影响流水线性能的因素 (1)资源相关(结构相关) ? 指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。 ? 解决方法:指令推迟执行,或是设置重复资源。如指令存储器和数据存储器分开、指令预取等 P348图8.15指令六级流水中的结构相关问题分析。 问题6:什么叫流水线的相关? (2)数据相关 ? 几条相近的指令间,共用同一存储单元或同一寄存器时,会出现数据相关。 ? 或在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,这两条指令就是数据相关。 ? 解决方法:定向传送技术(旁路技术)。 动画演示P352图8.16带有旁路技术的ALU部件解决数据相关问题。 (3)控制相关 ? 当执行转移指令时,根据转移条件是否发生来控制指令的执行顺序。 ? 转移指令约占总指令的1/4左右,比数据相关使流水线丧失更多的性能,因其破坏流水线的连续流动。 ? 解决方法:尽早判断转移是否发生、尽早生成转移目标地址、预取转移成功或不成功两个控制流方向上的目标指令、延迟转移法、转移预测法。 P352图8.17条件转移对指令流水操作的影响——控制相关问题分析。 问题7:控制相关的解决办法? 8.3.5 流水线性能 流水线性能通常用吞吐率、加速比和效率3项指标来衡量。 (1)吞吐率 ? 在指令级流水线中,吞吐率是指单位时间内流水线所完成指令或输出结果的数量。 ? 吞吐率又有最大吞吐率和实际吞吐率之分。 ? 最大吞吐率是指流水线在连续流动达到稳定状态后获得的吞吐率。 ? 实际吞吐率是指流水线完成n条指令的实际吞吐率。 全国硕士研究生入学考试计算机组成原理试题分析:某CPU主频为1.03 GHz,采用4级指令流水线,每个流水段的执行需要1个时钟周期。假定CPU执行了100条指令,在其执行过程中,没有发生任何流水线阻塞,此时流水线的吞吐率为: A. 0.25×10^9条指令/秒 B. 0.97×10^9条指令/秒 C. 1.0×10^9条指令/秒 D. 1.03×10^9条指令/秒 答案:C 软件设计师考试题分析:某流水线由5段组成,第1、3、5段所需时间为△t,第2,3段所需时间分别为3△t 、2△t,如下图所示,那么连续输入n条指令时其吞吐率(单位时间执行的指令个数)TP为 : 答案:B (2)加速比 ? 流水线的加速比是指m段流水线的速度与等功能的非流水线的速度之比。 FLASH动画演示非流水线和流水线计算机时空图。 (3)效率 ? 效率是指流水线中各功能段的利用率。 问题8:什么是流水线的建立时间和排空时间? 例题剖析:用时空图法证明流水CPU比非流水CPU具有更高的吞吐率。 8.3.6 流水线中的多发技术 (1)超标量技术 ? 它是指在每个时钟周期内可同时并发多条独立指令,即以并行操作方式将两条或两条以上指令编译并执行。 ? 超标量技术见P356页图8.20(b)所示。 FLASH动画演示超标量流水线各段推进和时空图。 (2)超流水线技术 ? 超流水线技术是将一些流水线寄存器插入到流水线段中,好比将流水线再分段。 ? 超流水线技术见P356页图8.20(c)所示。 (3)超长指令字技术(VLIW) ? 超长指令字技术和超标量技术都是采用多条指令在多个处理部件中并行处理的体系结构,在一个时钟周期内能流出多条指令。 ? 超长指令字技术见P356页图8.20(d)所示。 问题9:为什么说超长指令字比超标量更能提高并行处理能力? 8.3.7 流水线结构 (1)指令流水线结构 ? 指令流水线是将指令的整个执行过程用流水线进行分段处理。 ? 指令流水线对机器性能的改善程度取决于把处理过程分解成多少个相等的时间段数。 ? 理想情况下,7级流水的速度是不采用流水技术的7倍 (2)运算流水线 ? 指令流水线是指令级的流水技术,实际上流水技术还可用于部件级。 ? 如完成浮点加减运算可分:对阶、尾数求和、规格化三段 ? 分段原则:每段操作时间尽量一致 实验六 微控制器实验 实 验 内 容 课 内 练 习 课 外 作 业 考 核 要 求 参 考 资 料 1.掌握时序信号发生电路组成原理 2.掌握微程序控制器的设计思想和组成原理 3.掌握微程序的编制、写入,观察微程序的运行 PPT多媒体教学课件后的课堂练习题 P370~371页教材课后练习题8.11、8.12 1.本章考试题型主要有:选择题、填空题、简答题、设计应用题 2.本章主要考核CPU的功能和组成、指令周期、指令流水原理、中断响应条件及中断周期CPU操作、超标量和超流水线技术的概念 [1]白中英.计算机组成原理(第四版.立体化教材).科学出版社,2012 [2]唐朔飞.计算机组成原理学习指导与习题解答.高等教育出版社,2010 [3]李淑芝.计算机组成原理考研指定教材习题解答.自编,2013 [4]李淑芝,欧阳城添,等.计算机组成原理实验指导书(2013版), 自编,2013 教 学 后 记
学生通过CPU的结构和功能章节的学习,能够真正体会到计算机系统“繁杂”的内部世界需要一个“大脑”来总控指挥,协调各部件按序工作、软硬件配合,结合大量动画和图片能更形象直观地理解