(8)--2022年春夏学期-第3章 流水线技术计算机组成与结构.ppt
《(8)--2022年春夏学期-第3章 流水线技术计算机组成与结构.ppt》由会员分享,可在线阅读,更多相关《(8)--2022年春夏学期-第3章 流水线技术计算机组成与结构.ppt(163页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1*/16*/16第3章 流水线技术2 2*/16*/163.1流水线的基本概念3.2流水线的性能指标3.3流水线的相关与冲突 3.4流水线的实现3.5向量处理机3 3*/16*/161.工业生产流水线 下面通过一个例子来说明流水线的好处:两种方案两种方案的工作过程对比流水线生产过程的抽象描述这种流水工作方式的主要特点3.1 流水线的基本概念3.1.1 什么是流水线4 4*/16*/163.1 流水线的基本概念2.流水线技术把一个重复的过程分解为若干个子过程,每个子过程由专门的功能部件来实现。把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进行。3.流
2、水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。5 5*/16*/163.1 流水线的基本概念4.指令流水线把指令的解释过程分解为分析和执行两个子过程,并让这两个子过程分别用独立的分析部件和执行部件来实现。理想情况:速度提高一倍4段指令流水线 6 6*/16*/163.1 流水线的基本概念5.浮点加法流水线把流水线技术应用于运算的执行过程,就形成了 运算操作流水线,也称为部件级流水线。把浮点加法的全过程分解为求阶差、对阶、尾数 相加、规格化4个子过程。理想情况:速度提高3倍6.时空图时空图从时间和空间两个方面描述了流水线的工作过程。时空
3、图中,横坐标代表时间,纵坐标代表流水线的各个段。4段指令流水线的时空图8 8*/16*/163.1 流水线的基本概念7.流水技术的特点流水线把一个处理过程分解为若干个子过程(段),每个子过程由一个专门的功能部件来实现。流水线中各段的时间应尽可能相等,否则将引起流水线堵塞、断流。时间长的段将成为时间长的段将成为流水线的瓶颈。流水线的瓶颈。流水线每一个功能部件的后面都要有一个缓冲寄存器(锁存器),称为流水寄存器。q作用:作用:在相邻的两段之间传送数据,以保证提供后在相邻的两段之间传送数据,以保证提供后 面要用到的数据,并把各段的处理工作相互隔离。面要用到的数据,并把各段的处理工作相互隔离。9 9*
4、/16*/163.1 流水线的基本概念流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。流水线需要有通过时间和排空时间。q通过时间:通过时间:第一个任务从进入流水线到流出结果第一个任务从进入流水线到流出结果 所需的时间。所需的时间。q排空时间:排空时间:最后一个任务从进入流水线到流出结最后一个任务从进入流水线到流出结 果所需的时间。果所需的时间。1010*/16*/163.1 流水线的基本概念 从不同的角度和观点,把流水线分成多种不同的种类。1.单功能流水线与多功能流水线 (按照流水线所完成的功能来分类)(按照流水线所完成的功能来分类)单功能流水线:只能完
5、成一种固定功能的流水线。多功能流水线:流水线的各段可以进行不同的 连接,以实现不同的功能。例:例:ASCASC的多功能流水线的多功能流水线3.1.2 流水线的分类1212*/16*/163.1 流水线的基本概念2.静态流水线与动态流水线(按照同一时间内各段之间的连接方式对多功能流水线做(按照同一时间内各段之间的连接方式对多功能流水线做进一步的分类)进一步的分类)静态流水线:在同一时间内,多功能流水线中的 各段只能按同一种功能的连接方式工作。q对于静态流水线来说,只有当输入的是一串相同的对于静态流水线来说,只有当输入的是一串相同的 运算任务时,流水的效率才能得到充分的发挥。运算任务时,流水的效率
6、才能得到充分的发挥。例如:例如:ASCASC的的8 8段流水线段流水线1313*/16*/163.1 流水线的基本概念动态流水线:在同一时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。动画q优点优点 灵活,能够提高流水线各段的使用率,从而灵活,能够提高流水线各段的使用率,从而 提高处理速度。提高处理速度。q缺点缺点 控制复杂。控制复杂。静、动态流水线时空图的对比1515*/16*/163.1 流水线的基本概念3.部件级、处理机级及处理机间流水线(按照流水的级别来进行分类)(按照流水的级别来进行分类)部件级流水线(运算操作流水线):把处理机的算术逻辑运算部件分段,使得各种类
7、型的运算操作能够按流水方式进行。处理机级流水线(指令流水线):把指令的解释执行过程按照流水方式处理。把一条指令的执行过程分解为若干个子过程,每个子过程在独立的功能部件中执行。例如:前面的例如:前面的4 4段段指令流水线指令流水线1616*/16*/163.1 流水线的基本概念处理机间流水线(宏流水线):它是由两个或者 两个以上的处理机串行连接起来,对同一数据流 进行处理,每个处理机完成整个任务中的一部 分。动画解析1717*/16*/163.1 流水线的基本概念4.线性流水线与非线性流水线(按照流水线中是否有反馈回路来进行分类)(按照流水线中是否有反馈回路来进行分类)线性流水线:流水线的各段串
8、行连接,没有反馈回路。数据通过流水线中的各段时,每一个段最多只流过一次。非线性流水线:流水线中除了有串行的连接外,还有反馈回路。(举例)非线性流水线的调度问题q确定什么时候向流水线引进新的任务,才能使该任务不确定什么时候向流水线引进新的任务,才能使该任务不会与先前进入流水线的任务发生冲突会与先前进入流水线的任务发生冲突争用流水段。争用流水段。1818*/16*/163.1 流水线的基本概念1919*/16*/163.1 流水线的基本概念5.顺序流水线与乱序流水线(根据任务流入和流出的顺序是否相同来进行分类(根据任务流入和流出的顺序是否相同来进行分类)顺序流水线:流水线输出端任务流出的顺序与输
9、入端任务流入的顺序完全相同。每一个任务在流 水线的各段中是一个跟着一个顺序流动的。乱序流水线:流水线输出端任务流出的顺序与输 入端任务流入的顺序可以不同,允许后进入流水 线的任务先完成(从输出端流出)。也称为无序流水线、错序流水线、异步流水线也称为无序流水线、错序流水线、异步流水线2020*/16*/163.1 流水线的基本概念6.标量处理机与向量流水处理机 把指令执行部件中采用了流水线的处理机称为流 水线处理机。标量处理机:处理机不具有向量数据表示和向量 指令,仅对标量数据进行流水处理。向量流水处理机:具有向量数据表示和向量指令 的处理机。向量数据表示和流水技术的结合。向量数据表示和流水技术
10、的结合。2121*/16*/16 吞吐率:在单位时间内流水线所完成的任务数量或输 出结果的数量。3.2 流水线的性能指标3.2.1 吞吐率n:任务数Tk:处理完成n个任务所用的时间2222*/16*/163.2 流水线的性能指标1.各段时间均相等的流水线各段时间均相等的流水线时空图2323*/16*/163.2 流水线的性能指标流水线完成n个连续任务所需要的总时间为(假设一条(假设一条k k段段线性流水线)线性流水线)Tkkt(n-1)t(kn-1)t 流水线的实际吞吐率最大吞吐率2424*/16*/163.2 流水线的性能指标最大吞吐率与实际吞吐率的关系 q流水线的实际吞吐率小于最大吞吐率,
11、它除了与每流水线的实际吞吐率小于最大吞吐率,它除了与每个段的时间有关外,还与流水线的段数个段的时间有关外,还与流水线的段数k k以及输入到以及输入到流水线中的任务数流水线中的任务数n n等有关。等有关。q只有当只有当n nk k时,才有时,才有TPTPTPTPmaxmax。2525*/16*/163.2 流水线的性能指标2.各段时间不完全相等的流水线 各段时间不等的流水线及其时空图 举例(时空图)q一条一条4 4段段的流水线的流水线qS1S1,S3S3,S4S4各段的时间:各段的时间:t tqS2S2的时间:的时间:33t t (瓶颈段)瓶颈段)流水线中这种时间最长的段称为流水线的瓶颈段。26
12、26*/16*/163.2 流水线的性能指标2727*/16*/163.2 流水线的性能指标各段时间不等的流水线的实际吞吐率:(t ti i为第为第i i段的时间,共有段的时间,共有k k个段个段 )流水线的最大吞吐率为2828*/16*/163.2 流水线的性能指标 例如:一条4段的流水线中,S1,S2,S4各段的时间都是t,唯有S3的时间是3t。最大吞吐率为2929*/16*/163.2 流水线的性能指标3.解决流水线瓶颈问题的常用方法 举例细分瓶颈段 例如:例如:对前面的对前面的4 4段段流水线流水线把瓶颈段把瓶颈段S S3 3细分为细分为3 3个子流水线段:个子流水线段:S S3a3a
13、,S S3b3b,S S3c3c改进后的流水线的吞吐率改进后的流水线的吞吐率 :3030*/16*/163.2 流水线的性能指标重复设置瓶颈段q举例:举例:时空图时空图q缺点:缺点:控制逻辑比较复杂,所需的硬件增加了。控制逻辑比较复杂,所需的硬件增加了。例如:例如:对前面的对前面的4 4段流水线段流水线 重复设置瓶颈段重复设置瓶颈段S S3 3:S S3a3a,S S3b3b,S S3c3c3131*/16*/163.2 流水线的性能指标重复设置瓶颈段后的时空图重复设置瓶颈段后的时空图3232*/16*/163.2 流水线的性能指标加速比:完成同样一批任务,不使用流水线所用的时间 与使用流水线
14、所用的时间之比。假设:不使用流水线(即顺序执行)所用的间假设:不使用流水线(即顺序执行)所用的间为为T Ts s,使用流水线后所用的时间为,使用流水线后所用的时间为T Tk k,则该流水,则该流水线的加速比为线的加速比为3.2.2 加速比3333*/16*/163.2 流水线的性能指标1.流水线各段时间相等(都是t)一条k段流水线完成n个连续任务 所需要的时间为所需要的时间为 Tk=(kn-1)t顺序执行n个任务 所需要的时间:所需要的时间:Ts=nkt (解释解释)流水线的实际加速比为3434*/16*/163.2 流水线的性能指标最大加速比当当n nk k时,时,S S k k思考:思考:
15、流水线的段数愈多愈好?流水线的段数愈多愈好?3535*/16*/163.2 流水线的性能指标2.流水线的各段时间不完全相等时一条k段流水线完成n个连续任务的实际加速比为3636*/16*/163.2 流水线的性能指标效率:流水线中的设备实际使用时间与整个运行时间 的比值,即流水线设备的利用率。由于流水线有通过时间和排空时间,所以在连续由于流水线有通过时间和排空时间,所以在连续完成完成n n个个任务的时间内,各段并不是满负荷地工作。任务的时间内,各段并不是满负荷地工作。1.各段时间相等各段的效率ei相同 3.2.3 效率3737*/16*/163.2 流水线的性能指标3838*/16*/163.
16、2 流水线的性能指标整条流水线的效率为 可以写成 最高效率为 当当n nk k时,时,E E11。3939*/16*/163.2 流水线的性能指标当流水线各段时间相等时,流水线的效率与吞吐率 成正比。E=TPt 2.流水线的效率是流水线的实际加速比S与它的最大加速 比k的比值。当当E E=1=1时,时,S S=k k,实际加速比达到最大。,实际加速比达到最大。4040*/16*/163.2 流水线的性能指标3.从时空图上看,效率就是n个任务占用的时空面积和 k个段总的时空面积之比。当各段时间不相等时 举例4141*/16*/163.2 流水线的性能指标4242*/16*/163.2 流水线的性
17、能指标 例例3.13.1 设在下图所示的静态流水线上计算:设在下图所示的静态流水线上计算:流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中,流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中,试计算其吞吐率、加速比和效率。试计算其吞吐率、加速比和效率。3.2.4 流水线的性能分析举例(每段的时间都为每段的时间都为t t)4343*/16*/163.2 流水线的性能指标解解:(1 1)选择适合于流水线工作的算法选择适合于流水线工作的算法q先计算先计算A A1 1+B B1 1、A A2 2+B B2 2、A A3 3+B B3 3和和A A4 4+B B4 4;q再计算再计算(A
18、A1 1+B B1 1)(A A2 2+B B2 2)和和(A A3 3+B B3 3)(A A4 4+B B4 4);q然后求总的乘积结果。然后求总的乘积结果。(2 2)画出时空图)画出时空图 4444*/16*/163.2 流水线的性能指标4545*/16*/163.2 流水线的性能指标p在在1818个个t t时间中,给出了时间中,给出了7 7个个结果。吞吐率为:结果。吞吐率为:p 不用流水线,由于一次求和需不用流水线,由于一次求和需66t t,一次求积需一次求积需44t t,则产生上述则产生上述7 7个结果共需个结果共需(4 46+36+34 4)t t=36=36t t 加速比为加速比
19、为(3 3)计算性能)计算性能4646*/16*/163.2 流水线的性能指标p 流水线的效率流水线的效率 可以看出,在求解此问题时,该流水线的效率不高。4747*/16*/163.2 流水线的性能指标主要原因q多功能流水线在做某一种运算时,总有一些段是空多功能流水线在做某一种运算时,总有一些段是空闲的。闲的。q静态流水线在进行功能切换时,要等前一种运算全静态流水线在进行功能切换时,要等前一种运算全部流出流水线后才能进行后面的运算。部流出流水线后才能进行后面的运算。q运算之间存在关联,后面有些运算要用到前面运算运算之间存在关联,后面有些运算要用到前面运算的结果。的结果。q流水线的工作过程有建立
20、与排空部分。流水线的工作过程有建立与排空部分。4848*/16*/163.2 流水线的性能指标 例例3.2 3.2 有一条动态多功能流水线由有一条动态多功能流水线由5 5段组成,加法用段组成,加法用1 1、3 3、4 4、5 5段,乘法用段,乘法用1 1、2 2、5 5段,第段,第2 2段的时间为段的时间为22t t,其余各段时间均,其余各段时间均为为t t,而且流水线的输出可以直接返回输入端或暂存于相应的,而且流水线的输出可以直接返回输入端或暂存于相应的流水寄存器中。若在该流水线上计算流水寄存器中。若在该流水线上计算:试计算其吞吐率、加速比和效率。试计算其吞吐率、加速比和效率。4949*/1
21、6*/163.2 流水线的性能指标解解:(1)(1)选择适合于流水线工作的算法选择适合于流水线工作的算法p应先计算应先计算A A1 1B B1 1、A A2 2B B2 2、A A3 3B B3 3和和A A4 4B B4 4;p再计算再计算(A A1 1B B1)1)(A A2 2B B2)2)(A A3 3B B3)3)(A A4 4B B4)4);p然后求总的累加结果。然后求总的累加结果。(2)(2)画出时空图画出时空图(3)(3)计算性能计算性能5050*/16*/163.2 流水线的性能指标5151*/16*/163.2 流水线的性能指标1.瓶颈问题理想情况下,流水线在工作时,其中的
22、任务是同步地每一个时钟周期往前流动一段。当流水线各段不均匀时,机器的时钟周期取决于瓶颈段的延迟时间。在设计流水线时,要尽可能使各段时间相等。2.流水线的额外开销p流水寄存器延迟流水寄存器延迟p时钟偏移开销时钟偏移开销3.2.5 流水线设计中的若干问题5252*/16*/163.2 流水线的性能指标流水寄存器需要建立时间和传输延迟q建立时间:建立时间:在触发写操作的时钟信号到达之前,寄在触发写操作的时钟信号到达之前,寄 存器输入必须保持稳定的时间。存器输入必须保持稳定的时间。q传输延迟:传输延迟:时钟信号到达后到寄存器输出可用的时时钟信号到达后到寄存器输出可用的时 间。间。时钟偏移开销q流水线中
23、,时钟到达各流水寄存器的最大差值时间。流水线中,时钟到达各流水寄存器的最大差值时间。(时钟到达各流水寄存器的时间不是完全相同)(时钟到达各流水寄存器的时间不是完全相同)5353*/16*/163.2 流水线的性能指标几个问题q流水线并不能减少(而且一般是增加)单条指令的流水线并不能减少(而且一般是增加)单条指令的执行时间,但却能提高吞吐率。执行时间,但却能提高吞吐率。q增加流水线的深度(段数)可以提高流水线的性能。增加流水线的深度(段数)可以提高流水线的性能。q流水线的深度受限于流水线的额外开销。流水线的深度受限于流水线的额外开销。q当时钟周期小到与额外开销相同时,流水已没意义。当时钟周期小到
24、与额外开销相同时,流水已没意义。因为这时在每一个时钟周期中已没有时间来做有用因为这时在每一个时钟周期中已没有时间来做有用的工作。的工作。3.冲突问题 流水线设计中要解决的重要问题之一。5454*/16*/16介绍一个经典的5段RISC流水线 首先讨论在非流水情况下是如何实现的1.一条指令的执行过程分为以下5个周期:取指令周期(IF)qIR MemPC IR MemPC。qPCPC值加值加4 4。(假设每条指令占。(假设每条指令占4 4个字节)个字节)3.3 流水线的相关与冲突3.3.1 一个经典的5段流水线5555*/16*/163.3 流水线的相关与冲突指令译码/读寄存器周期(ID)q译码。
25、译码。q用用IRIR中的寄存器编号去访问通用寄存器组,读出所需中的寄存器编号去访问通用寄存器组,读出所需的操作数。的操作数。执行/有效地址计算周期(EX)不同指令所进行的操作不同:q存储器访问指令:存储器访问指令:ALUALU把所指定的寄存器的内容与偏把所指定的寄存器的内容与偏 移量相加,形成用于访存的有效地址。移量相加,形成用于访存的有效地址。q寄存器寄存器寄存器寄存器ALUALU指令:指令:ALUALU按照操作码指定的操按照操作码指定的操 作对从通用寄存器组中读取的数据进行运算。作对从通用寄存器组中读取的数据进行运算。5656*/16*/163.3 流水线的相关与冲突q寄存器立即数寄存器立
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8-2022年春夏学期-第3章 流水线技术计算机组成与结构 2022 年春夏 学期 流水线 技术 计算机 组成 结构
限制150内