第八章流水线技术.ppt
《第八章流水线技术.ppt》由会员分享,可在线阅读,更多相关《第八章流水线技术.ppt(130页珍藏版)》请在一课资料网上搜索。
1、 华北电力大学计算机系1130计算机组成与结构8.2流水线性能分析8.3流水线中的相关 结构相关结构相关 数据相关数据相关 控制相关控制相关8.4流水线的调度8.1流水线的基本概念第八章 流水线技术 华北电力大学计算机系2130计算机组成与结构8.1流水线原理 流水线的基本概念 1. 产品生产流水线下面通过一个例子来说明流水线的好处下面通过一个例子来说明流水线的好处: : 两种方案两种方案 两种方案的工作过程对比两种方案的工作过程对比第八章 流水线技术 华北电力大学计算机系3211 华北电力大学计算机系4211 流水线生产过程的抽象描述流水线生产过程的抽象描述 这种流水工作方式的主要特点这种流
2、水工作方式的主要特点 华北电力大学计算机系5130计算机组成与结构8.1 流水线原理2. 2. 简单的理想指令流水线简单的理想指令流水线将处理机执行指令的过程分为三个功能段:将处理机执行指令的过程分为三个功能段:取指取指分析分析执行执行 指令经过各功能段时间分别为指令经过各功能段时间分别为t t取取、t t分分、t t执执 华北电力大学计算机系6130计算机组成与结构8.1 流水线原理(1)顺序方式顺序方式程序总执行时间为:程序总执行时间为:T顺顺ni=1(t取取+t分分+t执执)3nt取指取指i分析分析i执行执行i取指取指i+1分析分析i+1执行执行i+1 华北电力大学计算机系7130计算机
3、组成与结构8.1 流水线原理(2) 一次重叠方式一次重叠方式取指取指i-1分析分析i-1执行执行i-1取指取指i分析分析i执行执行i取指取指i+1分析分析i+1执行执行i+1程序总执行时间为:程序总执行时间为:T一次一次t取取t分分t执执ni=2(t分分+t执执)3 t (n-1)2 t(2n+1) t 华北电力大学计算机系8130计算机组成与结构8.1 流水线原理( (3) ) 二次重叠方式二次重叠方式 取指取指i-1i-1分析分析i-1i-1执行执行i-1i-1取指取指i i分析分析i i执行执行i i取指取指i+1i+1分析分析i+1i+1执行执行i+1i+1程序总执行时间为:程序总执行
4、时间为:T T二次二次i=2i=2t t取取t t分分t t执执n nt t执执3 3 t t (n-1) (n-1) t t(n+2) (n+2) t t 华北电力大学计算机系9130计算机组成与结构3. 先行控制技术先行控制技术( (1) ) 处理机结构的改变处理机结构的改变 传统的处理机是传统的处理机是控制器控制器分析指令,在控制器控制下,分析指令,在控制器控制下,由由运算器运算器完成指令的执行,它们是一个整体。完成指令的执行,它们是一个整体。 流水方式中,各功能段相互独立没有冲突,它们在流水方式中,各功能段相互独立没有冲突,它们在同一时刻可以并行工作,这就要求同一时刻可以并行工作,这就
5、要求取指取指、分析分析、执行执行三三个功能段相互独立。个功能段相互独立。8.1 流水线原理 华北电力大学计算机系10130计算机组成与结构 在处理机内部需要有独立的在处理机内部需要有独立的取指令取指令、分析指令分析指令和和执行指令执行指令的功能部件,将传统处理机中的指令控制器分解成为三个独立的功能部件,将传统处理机中的指令控制器分解成为三个独立的控制器:的控制器: 存储控制器存储控制器:负责流水线中各功能段对存储器的访问控制:负责流水线中各功能段对存储器的访问控制 包括取指令、取操作数、写回运算结果包括取指令、取操作数、写回运算结果 指令控制器指令控制器:完成取指令部件和分析指令部件的控制:完
6、成取指令部件和分析指令部件的控制 运算控制器运算控制器:对运算器的执行加以控制:对运算器的执行加以控制8.1 流水线原理 华北电力大学计算机系11130计算机组成与结构(2 2)解决多功能段访存冲突问题)解决多功能段访存冲突问题 当指令在流水线中执行时,在二次重叠方式下流水当指令在流水线中执行时,在二次重叠方式下流水线完全充满时,三个功能段同时工作。线完全充满时,三个功能段同时工作。u “ “取指取指i+1”i+1”要访问存储器取第要访问存储器取第i+1i+1条指令条指令u “ “分析分析i”i”要访问存储器取第要访问存储器取第i i条指令需要的操作数条指令需要的操作数u “ “执行执行i-1
7、”i-1”也要访存将运算结果写回存储器也要访存将运算结果写回存储器8.1 流水线原理 华北电力大学计算机系12130计算机组成与结构解决方法:解决方法: 1 1将程序地址空间和数据地址空间分开,两个地址空将程序地址空间和数据地址空间分开,两个地址空间提供独立访问的能力。间提供独立访问的能力。 2 2采用低位交叉并行访问存储器。采用低位交叉并行访问存储器。 3 3采用先行控制技术。采用先行控制技术。 8.1 流水线原理 华北电力大学计算机系13130计算机组成与结构采用先行控制技术的处理机结构采用先行控制技术的处理机结构主存主存储器储器存存储储器器控控制制器器先行取指令栈先行取指令栈先行取数栈先
8、行取数栈指令分析器指令分析器先行操作栈先行操作栈运算控制器运算控制器运算器运算器通通用用寄寄存存器器堆堆后行写数栈后行写数栈8.1 流水线原理 华北电力大学计算机系14130计算机组成与结构指令分析器现行程序计数器现行程序计数器PC采用先行取指令栈结构采用先行取指令栈结构存存储储器器控控制制器器先行程序计数器先行程序计数器PCI控制逻辑控制逻辑先行取指令栈先行取指令栈指令寄存器指令寄存器IR8.1 流水线原理 华北电力大学计算机系15130计算机组成与结构使用先行控制技术前使用先行控制技术前分析分析i-1执行执行i-1分析分析i执行执行i分析分析i+1执行执行i+1分析分析i+2执行执行i+2
9、分析分析i-1执行执行i-1分析分析i执行执行i分析分析i+1执行执行i+1分析分析i+2执行执行i+2流水线使用先行控制技术前后的不同:流水线使用先行控制技术前后的不同:使用先行控制技术后使用先行控制技术后8.1 流水线原理 华北电力大学计算机系16130计算机组成与结构4. 指令流水线指令流水线把指令的解释过程分解为把指令的解释过程分解为“分析分析”和和“执行执行”两个子过程,并让这两个子过程分别用独立的分两个子过程,并让这两个子过程分别用独立的分析部件和执行部件来实现。析部件和执行部件来实现。理想情况:理想情况:速度提高一倍速度提高一倍8.1 流水线原理 华北电力大学计算机系17211
10、华北电力大学计算机系18130计算机组成与结构5. 浮点加法流水线浮点加法流水线把浮点加法的全过程分解为把浮点加法的全过程分解为“求阶差求阶差”、“对对阶阶”、“尾数相加尾数相加”、“规格化规格化”四个子过程,四个子过程,并让并让它们分别用各自独立的部件来实现。它们分别用各自独立的部件来实现。理想情况:理想情况:速度提高速度提高3 3倍倍8.1 流水线原理 华北电力大学计算机系19130计算机组成与结构8.1 流水线原理 华北电力大学计算机系20130计算机组成与结构6. 时空图时空图时空图时空图从时间和空间两个方面描述了流水从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间
11、,线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。纵坐标代表流水线的各个段。8.1 流水线原理 华北电力大学计算机系21211 华北电力大学计算机系22130计算机组成与结构7. 流水技术流水技术流水技术是指:将一个重复的时序过程分解是指:将一个重复的时序过程分解成为若干个子过程,而每个子过程都可有效地在成为若干个子过程,而每个子过程都可有效地在其专用功能段上与其他子过程同时执行。其专用功能段上与其他子过程同时执行。8流水技术的特点(1) (1) 流水过程由多个相联系的子过程组成,每个流水过程由多个相联系的子过程组成,每个子过程称为流水线的子过程称为流水线的“级级”或或“段段
12、”。“段段”的数的数目称为流水线的目称为流水线的“深度深度”。(2) (2) 每个子过程由专用的功能段实现;每个子过程由专用的功能段实现;8.1 流水线原理 华北电力大学计算机系23130计算机组成与结构(4) (4) 流水线需要有流水线需要有“通过时间通过时间”(第一个任务流出结果(第一个任务流出结果所所需的时间),在此之后流水过程才进入稳定工作状需的时间),在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果;态,每一个时钟周期(拍)流出一个结果;(3) (3) 各个功能段所需时间应尽量相等,否则,时间长各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,
13、会造成流水线的的功能段将成为流水线的瓶颈,会造成流水线的 “堵塞堵塞”和和“断流断流”。这个时间一般为一个时钟。这个时间一般为一个时钟周期周期(拍);(拍);(5) (5) 流水技术适合于大量重复的时序过程,只有输入流水技术适合于大量重复的时序过程,只有输入端能连续地提供任务,流水线的效率才能充分发端能连续地提供任务,流水线的效率才能充分发挥。挥。8.1 流水线原理 华北电力大学计算机系25130计算机组成与结构8.1.2 流水线的分类流水线可以按不同的观点进行分类。流水线可以按不同的观点进行分类。 单功能流水线:单功能流水线:只能完成一种固定功能的只能完成一种固定功能的 流水线。流水线。 多
14、功能流水线:多功能流水线:流水线的各段可以进行不同的流水线的各段可以进行不同的 连接,从而实现不同的功能。连接,从而实现不同的功能。 例如:例如: TI ASCTI ASC的多功能流水线的多功能流水线1按功能的多少来分8.1 流水线原理 华北电力大学计算机系27130计算机组成与结构在静态流水线中,只有当输入是一串相同在静态流水线中,只有当输入是一串相同的运算操作时,流水的效率才能得到发挥。的运算操作时,流水的效率才能得到发挥。动画演示动画演示2按同一时间内各段之间的连接方式来分 静态流水线:静态流水线:在同一时刻,流水线的各段只能在同一时刻,流水线的各段只能 按同一种功能的连接方式工作。按同
15、一种功能的连接方式工作。 8.1 流水线原理 华北电力大学计算机系28130计算机组成与结构 动态流水线:动态流水线:在同一时刻,流水线的各段可以在同一时刻,流水线的各段可以 按不同功能的连接方式工作。按不同功能的连接方式工作。 动画演示动画演示 这样就不是非得相同运算的一串操作才能这样就不是非得相同运算的一串操作才能 流水处理。流水处理。 优点:优点:能提高流水线的效率能提高流水线的效率 缺点:缺点:会使流水线的控制变得复杂会使流水线的控制变得复杂8.1 流水线原理 静、动态流水线时空图的对比静、动态流水线时空图的对比 华北电力大学计算机系30130计算机组成与结构3按照流水线的级别来分 部
16、件级流水线部件级流水线(运算操作流水线):把处理机的(运算操作流水线):把处理机的 算术逻辑部件分段,使得各种数据类型的操作能算术逻辑部件分段,使得各种数据类型的操作能 够进行流水。够进行流水。 处理机级流水线处理机级流水线(指令流水线):把指令的解释(指令流水线):把指令的解释 执行过程按照流水方式进行处理。执行过程按照流水方式进行处理。 例如:例如:前面把指令解释过程分解为:前面把指令解释过程分解为: 分析分析和和执行执行 DLXDLX的基本流水线把指令解释过程分解为:的基本流水线把指令解释过程分解为: 取指令、指令译码、执行、访存、写回。取指令、指令译码、执行、访存、写回。 ( (图示图
17、示) )8.1 流水线原理 华北电力大学计算机系31130计算机组成与结构8.1 流水线原理 华北电力大学计算机系32130计算机组成与结构 处理机间流水线处理机间流水线(宏流水线):它是指由两个(宏流水线):它是指由两个 以上的处理机串行地对同一数据流进行处理,以上的处理机串行地对同一数据流进行处理, 每个处理机完成一项任务。每个处理机完成一项任务。 动画解析动画解析8.1 流水线原理 华北电力大学计算机系33130计算机组成与结构4按照数据表示来分 向量处理机:向量处理机:具有向量指令和向量数据表示的具有向量指令和向量数据表示的 处理机。处理机。 例如:例如:TI ASC, CRAY-I
18、TI ASC, CRAY-I 等等 标量处理机:标量处理机:不具有向量指令和向量数据表示,不具有向量指令和向量数据表示, 仅对标量进行流水处理的处理机。仅对标量进行流水处理的处理机。 例如:例如:IBM860/91, Amdahl 470V/6IBM860/91, Amdahl 470V/6 等等5. 5. 按照是否有反馈回路来分按照是否有反馈回路来分 线性流水线:线性流水线:流水线中的各段串行连接,没流水线中的各段串行连接,没 有反馈回路。有反馈回路。 非线性流水线:非线性流水线:流水线中的各段除有串行连接流水线中的各段除有串行连接 外,还有反馈回路。外,还有反馈回路。 ( (举例举例) )
19、8.1 流水线原理 华北电力大学计算机系34130计算机组成与结构8.1 流水线原理 流水线的调度问题流水线的调度问题 华北电力大学计算机系36130计算机组成与结构顺序流动流水线:顺序流动流水线:流水线输出端任务流出的顺流水线输出端任务流出的顺 序与输入端任务流入的顺序序与输入端任务流入的顺序相同相同。 异步流动流水线异步流动流水线(乱序流水线):流水线输出(乱序流水线):流水线输出 端任务流出的顺序与输入端任务流入的顺序端任务流出的顺序与输入端任务流入的顺序 不同不同。6. 按照流动是否可以乱序来分8.1 流水线原理 华北电力大学计算机系37130计算机组成与结构8.2 流水线性能分析吞吐
20、率吞吐率是指单位时间内流水线所完成的任是指单位时间内流水线所完成的任务数或输出结果的数量。务数或输出结果的数量。1. 吞吐率(1) (1) 最大吞吐率最大吞吐率TPTPmaxmax 最大吞吐率最大吞吐率是指流水线在连续流动达到是指流水线在连续流动达到稳定状态后所得到的吞吐率。稳定状态后所得到的吞吐率。 若流水线各段的时间相等,均为若流水线各段的时间相等,均为t t0 0 , 则:则: TPmax 1 /t0第八章 流水线技术 华北电力大学计算机系38130计算机组成与结构 若流水线各段的时间不等,则:若流水线各段的时间不等,则: 最大吞吐率取决于流水线中最慢的一段所最大吞吐率取决于流水线中最慢
21、的一段所 需的时间,这段就成了流水线的瓶颈。需的时间,这段就成了流水线的瓶颈。 消除瓶颈的方法消除瓶颈的方法 ( (举例举例) )l 细分瓶颈段细分瓶颈段 l 重复设置瓶颈段重复设置瓶颈段 ( (时时- -空图空图) )1 1maxmaxt ti i TPmax 8.2 流水线的性能分析重复设置瓶颈段重复设置瓶颈段( (时时- -空图举例空图举例) ) 华北电力大学计算机系41130计算机组成与结构 第一种情况:各段时间第一种情况:各段时间相等相等(设为(设为t t0 0) 假设流水线由假设流水线由 m m 段组成,完成段组成,完成 n n 个任务。个任务。l 时空图时空图l 完成完成 n n
22、 个任务所需的时间个任务所需的时间 T T流水流水m mt t0 0( (n n1)1)t t0 0 ( (说明说明) )(2) (2) 实际吞吐率实际吞吐率TPTP 流水线的实际吞吐率小于最大吞吐率。流水线的实际吞吐率小于最大吞吐率。8.2 流水线的性能分析 华北电力大学计算机系42211 华北电力大学计算机系43211完成完成 n n 个任务所需的时间个任务所需的时间 华北电力大学计算机系44130计算机组成与结构l 实际吞吐率实际吞吐率TP TP T T流水流水n nm mt t0 0( (n n) )t t0 0n n(1(1 ) )t t0 0 m m1 11 1TPTPmaxmax
23、n n 1 1n nm m1 1TP TP TPTPmaxmax当当n n m m 时,时,TP TP TPTPmaxmax 第二种情况:各段时间第二种情况:各段时间不等不等l 时空图时空图8.2 流水线的性能分析 华北电力大学计算机系45130计算机组成与结构8.2 流水线的性能分析 华北电力大学计算机系46130计算机组成与结构 l 完成完成 n n 个任务所需的时间个任务所需的时间 T T流水流水t ti i( (n n1)1)t tj j t tj jmaxmaxt ti i l 实际吞吐率实际吞吐率TP TP t ti i( (n n1)1)t tj jm mi=1i=1n ni=1
24、i=1m m8.2 流水线的性能分析 华北电力大学计算机系47130计算机组成与结构加速比加速比是指流水线的速度与等功能非流水是指流水线的速度与等功能非流水线的速度之比。线的速度之比。2. 加速比S S ST T非流水非流水T T流水流水(其中(其中T T流水流水和和T T非流水非流水分别为按流水和按非流水分别为按流水和按非流水方式处理方式处理 n n 个任务所需的时间)个任务所需的时间) 若流水线为若流水线为 m m 段,且各段时间相等,均段,且各段时间相等,均为为t t0 0 ,则:,则: T T非流水非流水n mn mt t0 0 ( (解释解释) ) T T流水流水m mt t0 0(
25、 (n n1)1)t t0 0 8.2 流水线的性能分析 华北电力大学计算机系48130计算机组成与结构8.2 流水线的性能分析 华北电力大学计算机系49130计算机组成与结构可以看出:可以看出:当当n n m m 时,时,S S m m想一想:想一想:n n 越大越好?越大越好?效率效率是指流水线的设备利用率。是指流水线的设备利用率。(1) (1) 由于流水线有由于流水线有通过时间和排空时间通过时间和排空时间,所以,所以 流水线的各段并不是一直满负荷地工作。流水线的各段并不是一直满负荷地工作。 故:故:E E 1 1S S T T非流水非流水T T流水流水nmnmt t0 0m mt t0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 流水线 技术