计算机系统结构PPT 第4章 标量流水线技术

上传人:E**** 文档编号:89491738 上传时间:2019-05-25 格式:PPT 页数:107 大小:10.21MB
返回 下载 相关 举报
计算机系统结构PPT 第4章 标量流水线技术_第1页
第1页 / 共107页
计算机系统结构PPT 第4章 标量流水线技术_第2页
第2页 / 共107页
计算机系统结构PPT 第4章 标量流水线技术_第3页
第3页 / 共107页
计算机系统结构PPT 第4章 标量流水线技术_第4页
第4页 / 共107页
计算机系统结构PPT 第4章 标量流水线技术_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《计算机系统结构PPT 第4章 标量流水线技术》由会员分享,可在线阅读,更多相关《计算机系统结构PPT 第4章 标量流水线技术(107页珍藏版)》请在金锄头文库上搜索。

1、第4章 标量流水线技术,内容提要:,本章首先简要介绍标量流水线的基本概念与工作原理,然后讲述流水线时空图与性能分析、流水线操作中的主要障碍、处理方法、非线性流水线的调度策略以及实现流水线的控制方式。 重点是流水线的时空图、流水线性能分析以及流水线的实现与控制。 难点是使用流水线的时空图、性能分析与非线性流水线的调度策略,4.1 概述 4.2 标量流水线工作原理 4.3 指令级流水线,第4章 标量流水线技术,4.1 概 述,4.1.1 控制流及其改变 4.1.2 程序执行过程中的重叠操作与先行控制,4.1.1 控制流及其改变,所谓控制流是指被执行的指令序列的处理流,其地址由程序计数器PC给出,一

2、条接着一条地执行。在一般情况下,PC的值是时间的单调函数,如图4.1(a)所示。 但是当遇上转移类指令时,控制流将发生间断,转移到目标地址后又顺序执行,PC中的值如图4.1(b)所示。,图4.1 程序计数器PC与时间t的关系,通常,改变程序顺序执行的因素有多种,常见的有以下4种。,(1)转移指令 转移指令可分为无条件转移和条件转移两种类型,且有多条,都是把转移目标地址送入程序计数器PC中,然后又顺序执行,如图4.1(b)所示。 (2)过程调用与返回 即执行被调用的过程或子程序,其入口地址送入PC中;返回时,返回地址送入PC,另外还有嵌套和递归。,(3)协同程序 协同程序与过程调用程序有所不同,

3、它是被调用过程未必从头开始执行,而是从上一次返回的位置开始,如图4.2所示。,图4.2 协同程序改变控制流,(4)中断与自陷 中断是由外部事件引起,自陷是由CPU的内部原因引起,CPU执行中断服务程序,执行完后返回原来被中断的程序。 以上几种情况都改变PC中的值,使控制流发生改变。,4.1.2 程序执行过程中的重叠 操作与先行控制,在计算机运行的过程中,指令的解释方式可分为三种,即: 顺序、重叠、流水 依据不同的解释方式,可以产生不同的工作方式和过程。下面仅介绍顺序解释方式和重叠解释方式,流水线方式将在第4.2节介绍。,1.程序执行过程中的重叠操作,图4.3 顺序执行方式,(1)顺序解释方式

4、顺序解释是最简单的一种方式,是一条指令执行完后再去解释下一条指令。指令执行过程分为取指令、分析(译码)和执行三个阶段,顺序进行,其示意如图4.3 所示。,若取指令、分析和执行所用时间(周期)相等,设为t,则顺序解释执行n条指令所需时间T=3nt。如果各部分时间表示为t取指、t分析和t执行,则顺序执行n条指令所用的时间为:,(2)重叠解释方式是在两条相邻指令的解释过程中,存在某些时段可以重叠进行,其示意如图4.4所示。,图4.4 重叠执行方法,图(a)是一次重叠方式,执行n条指令所用的时间为: T=(2n+1)t 图(b)是二次重叠方式,执行n条指令所用的时间为: T=3t+(n-1)t=(n+

5、2)t,图4.5 两阶段一次重叠工作方式,为实现重叠解释方式,需要硬件支持,比如设置指令缓冲寄存器或称指令队列。又如程序与数据分别存储,以便分别迅速读取操作数。 若指令的解释过程可分为两个段,上述重叠解释过程可如图4.5所示。如果“分析”和“执行”的时间相同,那么解释执行n条指令的时间为: T=(n+1)t。,2.先行控制,在上述重叠解释方式中假设“分析”和“执行”的时间相等,但是实际的解释执行过程中,“分析”和“执行”的时间往往不相等,如图4.6(a)所示,这样解释执行n条指令的时间为:,图4.6 分析与执行时间不相等和先行控制方式,为解决重叠过程中的“空闲”,可采用先行控制技术,使“分析”

6、和“执行”分别连续进行,如图4.6(b)所示。这时,执行n条指令所需要的时间为:,为了实现“分析”和“执行”分别连续进行,8086微处理器把CPU分为总线接口部件和执行部件,且设置一个指令队列,可在执行第k条指令时由总线接口部件预取第k+1、k+2甚至k+2条指令。,图4.7 先行控制逻辑,以上可见,先行控制技术实质上是预取处理技术和缓冲技术的结合,缓冲部件一般采用先进先出寄存器,其个数称为缓冲深度。先行控制逻辑如图4.7所示,其中缓冲区的深度一般应满足以下关系: D取指栈D操作数D读栈D写栈,4.2 标量流水线工作原理,4.2.1 标量流水线工作原理 4.2.2 标量流水线分类 4.2.3

7、流水线性能分析 4.2.4 流水线中的主要障碍 4.2.5 流水线的实现与控制 4.2.6 流水线的动态调度,4.2.1 标量流水线工作原理,1.标量流水线工作原理,图4.8 流水过程示意图,如果能把指令的执行过程细分为五个部分,如图4.8所示。这五个部分由相应的硬件来实现,因此也称为五个子过程或状态,用Si表示。这样,前一条指令只要走出第一子过程,就可以读取下一条指令。于是,构成标量流水线工作方式。,设每一子过程时间相同,指令流入,经过五个子过程后从输出端流出,若用二维坐标表示,即可构成如图4.9所示时空图,即空间与时间之间的二维关系图。在理想情况下每经一个时钟周期指令向右移动一格,新的指令

8、从左边进入。 经过4个时钟周期后五个部件全部工作,其中前4个时钟周期称为填入阶段;以后,称为填满,即正常工作;最后,各条指令一一退出,称为排空阶段。 若用m表示部件或空间段数,整个时间可为两个部分。mt是第一条指令流出时间,即流出第一个结果的时间;以后(n-1)t中,每经一拍流出一个结果。,2. 流水线工作特点,概括起来,流水线的工作特点主要有以下几点: (1)一条流水线通常由多个流水段组成; (2)在每一个流水段有专门的功能部件,对指令进行某 种加工处理; (3)流水线的工作一般分为三个阶段,即建立(填入)、填满和排空; (4)在理想情况下,各流水段所需要的时间是相等的,流水线填满后每隔t时

9、间就会有一个结果流出流水线。,4.2.2 标量流水线分类,从不同的角度来看,有不同的分类方式,大致有以下几类。,1. 按照处理机分类,按照处理机分类,流水线可以分为操作部件级、指令级和处理机级。 操作部件级流水线是按复杂的算术逻辑运算的过程构成流水线,比如把浮点加法运算分成求阶差、对阶、尾数相加和结果规格化四个子过程。 指令级流水线是把一条指令的解释执行过程分成若干个子过程,比如前面所说的取指令、译码、执行、访存和写回五个子过程。, 处理机流水线是一种宏流水过程,其中每一个处理机完成某一专门的任务,各处理机产生的结果存放到与下一个处理机共享存储器中,如图4.10所示。,图4.10 处理机流水线

10、,2. 按照功能分类,按功能可分为单功能流水线和多功能流水线两种。单功能流水线是所有设备按照一种模式工作,仅完成一种功能;多功能流水线是指构成流水线的设备可不同组合,在不同的时间完成不同功能。 图4.11所示是TI-ASC计算机的流水结构,可构成多种流水线,比如定点加、浮点加、定点乘和浮点向量点积等。,3. 按照工作方式分类,按工作方式可分为静态和动态流水线。静态流水线是在同一时间内只能以一种方式工作。其结构可以是单功能,也可以是多功能。其中多功能结构的流水线在同一时间只能进行一种工作;在从一种功能转换成另一种功能时流水线必须排空。一般不希望流水线功能频繁切换。 动态流水线则允许在同一时间内将

11、不同的功能段连接成不同的子流水线集,以完成不同的运算功能。 显然,动态流水线必定是多功能流水线;单功能流水线必定是静态流水线。,4. 按照连接方式分类,可分为线性流水线和非线性流水线。所谓线性流水线是指从输入到输出各功能部件只允许经过一次,没有反馈回路或者分支。非线性流水线是某些功能部件可能被反复使用,如图4.12所示,S3的输出可反馈到S2,S4的输出可反馈到S1。显然存在功能段使用冲突。,图4.12 非线性流水线示意图,4.2.3流水线性能分析,1.吞吐率Tp,目前,衡量流水线性能指标主要有三个,即吞吐率、效率和加速比。,吞吐率是指单位时间内处理机所能处理的任务数或者输出的结果数,可分为最

12、大吞吐率和实际吞吐率。 (1)最大吞吐率 若以ti表示通过流水线各功能段所用的时间,那么在流水线稳定后可获得的最大吞吐率可表示为:,显然,ti最大的一段将成为流水线的瓶颈。如果段的ti相差不大,则属于正常流水线。一般需要采取一定的措施,使各段的ti趋于一致。,(2)流水线中的瓶颈 如图4.13(a)所示,由4个功能段构成流水线,其中通过第1、2、4段所用的时间为t,通过第3段所用的时间为3t,则时空图如图4.13(b)所示。 显然,最大吞吐率将降为Tpmax=1/(3t)。,图4.13 带瓶颈流水线及其消除时空图,(3)消除瓶颈影响的方法 为消除瓶颈影响可采取相应的措施,比如把第3段细分,使之

13、成为3段,每段所用的时间近乎于t,如图4.13(c)所示。这样,可使6个任务依次进入流水线,使最大吞吐率仍然保持为Tpmax=1/t。,图4.13 带瓶颈流水线及其消除时空图,也可采用空间重复因素,增设2个第3段,并列工作,如图4.13(d)所示。这样,连续的3个任务可分别通过S3a、S3b和S3c,其时空图如图4.13(e)所示。可在一定程度上减轻瓶颈引起的吞吐率下降。,图4.13 带瓶颈流水线及其消除时空图 续,(4)实际吞吐率 任何一个流水线都存在填入和排空过程,因此实际吞吐率总是小于最大吞吐率。设m为流水线中功能段数,从图4.9可以看出,完成n个任务所用的时间为: T=mt+(n-1)

14、t 则实际吞吐率为:,显然,当nm时,TpTpmax。,2.加速比Sp,显然:nm时,Spm,即最大加速比。 m增大,加速比提高。,加速比是指执行同一任务时不采用流水线技术所用的时间与采用流水线方式所用的时间之比。对于n个任务,设有m段流水线。若不采用流水线,所用的时间为To,采用流水线后使用的时间为Tk,则加速比为:,3.效率E,效率是指流水线中各功能段的时间利用率,也就是各功能段被实际利用的时空区与各功能段所提供总的时空区面积之比。如图4.9所示,效率可表示为:,图4.14 双功能静态流水线,解:在流水线中,由功能段S1、S2、S3、S4、S6构成乘法流水线,S1、S5、S6构成加法流水线

15、。设经过每一个功能段的时间均为t,为了在最短的时间内完成上述运算,可让流水线先进行两个向量中4个元素的加法运算,先求(a0+b0)、(a1+b1)、(a2+b2)、(a3+b3);然后切换成乘法功能,再按照(a0+b0)(a1+b1)(a2+b2)(a3+b3)的顺序进行三次乘法运算。根据分析,可画出流水线的时空图,如图4.15 所示。,图4.15 流水线时空图举例,从图中可以看出,在17t时间内输出了7个结果,因此实际吞吐率为: Tp=7/17t 顺序操作,则需要作4次加法运算和3次乘法运算。一次加法运算需要3t,一次乘法运算需要5t,总共需要T0=43t+35t=27t。这样加速比为: S

16、p=To/Tk=27t/17t=1.88,流水线的效率可用阴影面积除以全部6个状态段的总时空面积 而求得: E=(34t+53t)/(617t)=27/102=26.4%,4.2.4 流水线中的主要障碍,在实际应用中,往往有这样或者那样的原因使流水线不能畅通,概括起来有三种:资源相关、数据相关和控制相关。 仍设流水线有五个功能段S1S5(IF、ID、EXE、MEM、WB)。但不同指令在流过时对流水线的使用不同。下面以ALU、LOAD和STORE、BRANCH指令为例,予以说明。 (1)ALU类指令:S1取出,S2译码,S3执行,S4不进行任何操作,在S5把执行结果写回目标寄存器堆。,(2)传送类指令LOAD和STORE: 在S1取出,S2译码及读寄存器堆,S3计算有效地址,S4访问存储器: LOAD指令在S4读存储器,并送数据寄存器,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号