中国科学技术大学ppt课件.ppt
《中国科学技术大学ppt课件.ppt》由会员分享,可在线阅读,更多相关《中国科学技术大学ppt课件.ppt(123页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中国科学技术大学ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第三章第三章 流水线技术流水线技术3.1流水线的基本概念流水线的基本概念3.2 MIPS基本流水线基本流水线3.3 DLX(MIPS)中多周期操作的处理中多周期操作的处理3.4 MIPS R4000流水线流水线中国科学技术大学chapter03.2流水线的基本概念流水线的基本概念一个任务可以分解为k 个子任务K个子任务在 K 个不同阶段(使用不同的资源)运行每个子任务执行需要1个单位时间整个
2、任务的执行时间为 K倍单位时间流水线执行模式是重叠执行模式K个流水段并行执行K个不同任务每个单位时间进入/离开流水线一个任务中国科学技术大学chapter03.3同步流水线流水段之间采用时钟控制的寄存器文件(clocked registers)时钟上升沿到达时所有寄存器同时保存前一流水段的结果流水段是组合逻辑电路流水线设计中希望各段相对平衡即所有段的延迟时间大致相等时钟周期取决于延迟最长的流水段中国科学技术大学chapter03.4流水线的性能设设 =time delay in stage Si时钟周期时钟周期 =max()为最长的流水段延迟为最长的流水段延迟时钟频率时钟频率 f=1/=1/m
3、ax()流水线可以在流水线可以在k+n-1个时钟周期内完成个时钟周期内完成n个任务个任务 完成第一个任务需要完成第一个任务需要 k个时钟周期个时钟周期其他其他n-1个任务需要个任务需要n-1个时钟周期完成个时钟周期完成K-段流水线的理想加速比(相对于串行执行)段流水线的理想加速比(相对于串行执行)中国科学技术大学chapter03.5简单的简单的5段流水线段流水线5个流水段,每段的延迟为个流水段,每段的延迟为1个个cycleIF:取值阶段取值阶段选择地址:下一条指令地址、转移地址ID:译码阶段译码阶段确定控制信号 并从寄存器文件中读取寄存器值EX:执行执行Load、Store:计算有效地址Br
4、anch:计算转移地址并确定转移方向MEM:存储器访问(仅存储器访问(仅Load和和Store)WB:结果写回结果写回中国科学技术大学chapter03.6流水线的可视化表示流水线的可视化表示多条指令执行多个时钟周期多条指令执行多个时钟周期指令按程序序从上到下排列指令按程序序从上到下排列图中展示了每一时钟周期资源的使用情况图中展示了每一时钟周期资源的使用情况不同指令相邻阶段之间没有干扰不同指令相邻阶段之间没有干扰中国科学技术大学chapter03.7指令流时序指令流时序时序图展示:时序图展示:每个时钟周期指令所使用的流水段情况每个时钟周期指令所使用的流水段情况指令流在采用指令流在采用5段流水线
5、执行模式的执行情况段流水线执行模式的执行情况中国科学技术大学chapter03.8单周期、多周期、流水线控制性能比较单周期、多周期、流水线控制性能比较假设假设5段指令执行流水线段指令执行流水线某一程序段假设:某一程序段假设:20%load,10%store,40%ALU,and 30%branch比较三种执行模式的性能比较三种执行模式的性能中国科学技术大学chapter03.9中国科学技术大学chapter3.1003/03-review 流水线技术要点流水线技术要点流水线技术并不能提高单个任务的执行效率,它可以流水线技术并不能提高单个任务的执行效率,它可以提高整个系统的吞吐率提高整个系统的吞
6、吐率流水线中的瓶颈流水线中的瓶颈最慢的那一段最慢的那一段多个任务同时执行,但使用不同的资源多个任务同时执行,但使用不同的资源其潜在的加速比流水线的级数其潜在的加速比流水线的级数流水段所需时间不均衡将降低加速比流水段所需时间不均衡将降低加速比流水线存在装入时间和排空时间,使得加速比降低流水线存在装入时间和排空时间,使得加速比降低由于存在相关问题,会导致流水线停顿由于存在相关问题,会导致流水线停顿 吞吐率:吞吐率:在单位时间内流水线所完成的任务数量或输在单位时间内流水线所完成的任务数量或输 出结果的数量。出结果的数量。基本度量参数:吞吐率,加速比,效率基本度量参数:吞吐率,加速比,效率n:任务数T
7、k:处理完成n个任务所用的时间流水线的性能分析流水线的性能分析中国科学技术大学chapter03.111.各段时间均相等的流水线各段时间均相等的流水线各段时间均相等的流水线各段时间均相等的流水线时空图时空图流水线技术提高系统的任务吞吐率流水线技术提高系统的任务吞吐率中国科学技术大学chapter03.12流水线完成流水线完成n个连续任务所需要的总时间为个连续任务所需要的总时间为(假设一条(假设一条k k段段线性流水线)线性流水线)T Tk kk kt t(n n-1)-1)t t(k kn n-1)-1)t t 流水线的流水线的实际吞吐率实际吞吐率最大吞吐率:流水线在连续流动达到稳定状态后流水
8、线在连续流动达到稳定状态后所得到的吞吐率。所得到的吞吐率。吞吐率吞吐率S412345.n-1nS312345.n-1nS212345.n-1nS112345.n-1n中国科学技术大学13最大吞吐率与实际吞吐率的关系最大吞吐率与实际吞吐率的关系 q流水线的实际吞吐率小于最大吞吐率,它除了与流水线的实际吞吐率小于最大吞吐率,它除了与每个段的时间有关外,还与流水线的段数每个段的时间有关外,还与流水线的段数k k以及以及输入到流水线中的任务数输入到流水线中的任务数n n等有关。等有关。q只有当只有当n nk k时,才有时,才有TPTPTPTPmaxmax。TP与与TpTpmaxmax的关系的关系中国科
9、学技术大学chapter03.142.各段时间不完全相等的流水线各段时间不完全相等的流水线 各段时间不等的流水线及其时空图各段时间不等的流水线及其时空图一条一条4 4段段的流水线的流水线S1S1,S3S3,S4S4各段的时间:各段的时间:t tS2S2的时间:的时间:33t t (瓶颈段)瓶颈段)流水线中这种时间最长的段称为流水线的流水线中这种时间最长的段称为流水线的瓶颈段。瓶颈段。流水线中的瓶颈流水线中的瓶颈最慢的段最慢的段中国科学技术大学chapter03.15中国科学技术大学chapter03.16各段时间不等的流水线的各段时间不等的流水线的实际吞吐率实际吞吐率:(t ti i为第为第i
10、 i段的时间,共有段的时间,共有k k个段个段 )流水线的最大吞吐率为中国科学技术大学17 例如:例如:一条一条4 4段的流水线中,段的流水线中,S S1 1,S S2 2,S S4 4各段的各段的时间都是时间都是t t,唯有,唯有S S3 3的时间是的时间是33t t。最大吞吐率为中国科学技术大学183.3.解决流水线瓶颈问题的常用方法解决流水线瓶颈问题的常用方法 细分瓶颈段细分瓶颈段 例如:例如:对前面的对前面的4 4段段流水线流水线把瓶颈段把瓶颈段S S3 3细分为细分为3 3个子流水线段:个子流水线段:S S3a3a,S S3b3b,S S3c3c改进后的流水线的吞吐率改进后的流水线的
11、吞吐率 :中国科学技术大学19重复设置瓶颈段重复设置瓶颈段缺点:缺点:控制逻辑比较复杂,所需的硬件增加了。控制逻辑比较复杂,所需的硬件增加了。例如:例如:对前面的对前面的4 4段流水线段流水线 重复设置瓶颈段重复设置瓶颈段S S3 3:S S3a3a,S S3b3b,S S3c3c中国科学技术大学chapter03.20重复设置瓶颈段后的时空图重复设置瓶颈段后的时空图中国科学技术大学chapter03.21加速比:加速比:完成同样一批任务,不使用流水线所用的时间完成同样一批任务,不使用流水线所用的时间 与使用流水线所用的时间之比。与使用流水线所用的时间之比。假设:不使用流水线(即顺序执行)所用
12、的间假设:不使用流水线(即顺序执行)所用的间为为T Ts s,使用流水线后所用的时间为,使用流水线后所用的时间为T Tk k,则该流水,则该流水线的加速比为线的加速比为加速比加速比中国科学技术大学chapter03.221.1.流水线各段时间相等(都是流水线各段时间相等(都是t t)一条一条k k段流水线完成段流水线完成n n个连续任务个连续任务 所需要的时间为所需要的时间为 Tk=(kn-1)t顺序执行顺序执行n n个个任务任务 所需要的时间:所需要的时间:Ts=nkt 流水线的实际加速比为流水线的实际加速比为中国科学技术大学chapter03.23最大加速比最大加速比当当n nk k时,时
13、,S S k k思考:思考:流水线的段数愈多愈好?流水线的段数愈多愈好?中国科学技术大学chapter03.242.流水线的各段时间不完全相等时流水线的各段时间不完全相等时一条一条k k段流水线完成段流水线完成n n个连续任务的实际加速比为个连续任务的实际加速比为中国科学技术大学chapter03.25效率效率效率:效率:流水线中的设备实际使用时间与整个运行时间流水线中的设备实际使用时间与整个运行时间 的比值,即流水线设备的利用率。的比值,即流水线设备的利用率。由于流水线有通过时间和排空时间,所以在连续由于流水线有通过时间和排空时间,所以在连续完成完成n n个个任务的时间内,各段并不是满负荷地
14、工作。任务的时间内,各段并不是满负荷地工作。各段时间相等各段时间相等各段的效率各段的效率e ei i相同相同 中国科学技术大学chapter03.26整条流水线的效率为整条流水线的效率为 可以写成 最高效率为 当当n nk k时,时,E E11。中国科学技术大学27当流水线各段时间相等时,流水线的效率与吞当流水线各段时间相等时,流水线的效率与吞吐率成正比。吐率成正比。E E=TPTPt t 流水线的效率流水线的效率是流水线的实际加速比是流水线的实际加速比S S与它的最大加速与它的最大加速 比比k k的比值。的比值。当当E E=1=1时,时,S S=k k,实际加速比达到最大。,实际加速比达到最
15、大。中国科学技术大学chapter03.28 从时空图上看,效率就是从时空图上看,效率就是n n个任务占用的时空面积和个任务占用的时空面积和 k k个段总的时空面积之比。个段总的时空面积之比。当各段时间不相等时中国科学技术大学29中国科学技术大学chapter3.30Summary实际吞吐率:假设实际吞吐率:假设k段,完成段,完成n个任务,个任务,单位时间所实际完成的任务数。单位时间所实际完成的任务数。加速比加速比:k段流水线的速度与等功能的段流水线的速度与等功能的非流水线的速度之比。非流水线的速度之比。效率:流水线的设备利用率。效率:流水线的设备利用率。中国科学技术大学chapter3.31
16、中国科学技术大学chapter3.32-Review:Pipelining指令流水线通过指令重叠减小指令流水线通过指令重叠减小 CPI充分利用数据通路充分利用数据通路当前指令执行时,启动下一条指令当前指令执行时,启动下一条指令其性能受限于花费时间最长的段其性能受限于花费时间最长的段检测和消除相关检测和消除相关如何有利于流水线技术的应用如何有利于流水线技术的应用所有的指令都等长所有的指令都等长只有很少的指令格式只有很少的指令格式只用只用Load/Store来进行存储器访问来进行存储器访问中国科学技术大学chapter3.33-Review:流水线性能分析:流水线性能分析流水线技术应用的难度何在流
17、水线技术应用的难度何在?:相关问题:相关问题吞吐率、加速比、效率吞吐率、加速比、效率之间的关系之间的关系中国科学技术大学chapter3.34指令流水线:指令流水线:CPU执行大量的指令,指令吞吐率非常重要执行大量的指令,指令吞吐率非常重要MIPS 的指令格式的指令格式3.2 MIPS的基本流水线的基本流水线Op0531161511106rsrtimmediateOp0531Op0531161511106rsrtoffset added to PCrdRegister-Register(R-type)ADD R1,R2,R326252120Register-Immediate(I-type)S
18、UB R1,R2,#3Jump/Call(J-type)JUMP endfunc(jump,jump and link,trap and return from exception)所有指令相同长度所有指令相同长度在指令格式中寄存器位于同一位置在指令格式中寄存器位于同一位置只有只有Loads和和Stores可以对存储器操作可以对存储器操作6中国科学技术大学chapter3.35 MIPS数据通路数据通路中国科学技术大学chapter3.36 中国科学技术大学chapter3.37MIPS数据通路数据通路中国科学技术大学chapter3.38改进后流水线的分支操作改进后流水线的分支操作中国科学技
19、术大学chapter3.393.2.1 流水线的相关流水线的相关相关的基本概念相关的基本概念结构相关结构相关数据相关数据相关控制相关控制相关中国科学技术大学chapter3.40采用流水线技术带来的新问题采用流水线技术带来的新问题流水线相关流水线相关结构相关:同一时间两种方式使用同一资源结构相关:同一时间两种方式使用同一资源例如例如 washer/dryer 合在一起,合在一起,IM和和ID合在一起合在一起控制相关控制相关:试图在条件未评估之前,就做决定试图在条件未评估之前,就做决定例如例如 branch instructions数据相关:在数据未准备好之前,就需要使用数据数据相关:在数据未准
20、备好之前,就需要使用数据当前指令的执行需要上一条指令的结果当前指令的执行需要上一条指令的结果使用等待策略总是可以解决相关使用等待策略总是可以解决相关流水线控制必须能检测相关,否则由软件设计来避免流水线控制必须能检测相关,否则由软件设计来避免采用相应操作解决相关采用相应操作解决相关(or 等待等待)中国科学技术大学chapter3.41Mem单个存储器引起的结构相关单个存储器引起的结构相关Instr.OrderTime(clock cycles)LoadInstr 1Instr 2Instr 3Instr 4ALUMemRegMemRegALUMemRegMemRegALUMemRegMemRe
21、gALURegMemRegALUMemRegMemRegDetection is easy in this case!(right half highlight means read,left half write)中国科学技术大学chapter3.42消除结构相关消除结构相关Instr.OrderTime(clock cycles)LoadInstr 1Instr 2StallInstr 3RegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegCycle 1 Cycle 2 Cycle 3 Cycle 4Cycle 6 Cycle
22、7Cycle 5RegALUDMemIfetchRegBubbleBubbleBubbleBubbleBubble中国科学技术大学chapter3.43结构相关对性能的影响结构相关对性能的影响例如例如:如果每条指令平均访存如果每条指令平均访存1.3 次,而每个时次,而每个时钟周期只能访存一次,那么钟周期只能访存一次,那么在其他资源在其他资源100利用的前提下,平均利用的前提下,平均 CPI 1.3中国科学技术大学chapter3.44流水线的加速比计算流水线的加速比计算 For simple RISC pipeline,CPI=1:中国科学技术大学chapter3.45例如:例如:Dual-p
23、ort vs.Single-port机器机器A:Dual ported memory(“Harvard Architecture”)机器机器B:Single ported memory存在结构相关的机器存在结构相关的机器B的时钟频率是机器的时钟频率是机器A的时钟频率的的时钟频率的1.05倍倍Ideal CPI=1 在机器在机器B中中load指令会引起结构相关,所执行的指令中指令会引起结构相关,所执行的指令中Loads指令占指令占 40%Average instruction time=CPI*Clock cycle time 无结构相关的机器无结构相关的机器A:Average Instruct
24、ion time=Clock cycle time 存在结构相关的机器存在结构相关的机器B:Average Instruction time=(1+0.4*1)*clock cycle time/1.05 =1.3*clock cycle time中国科学技术大学chapter3.46Instr.Orderadd r1,r2,r3sub r4,r1,r3and r6,r1,r7or r8,r1,r9xor r10,r1,r11RegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMemIfetchRegRegALUDMe
25、mIfetchReg数据相关问题数据相关问题Time(clock cycles)IFID/RF EXMEMWB中国科学技术大学chapter3.47写后读相关写后读相关(Read After Write(RAW)InstrJ tries to read operand before InstrI writes it由于实际的数据交换需求而引起的由于实际的数据交换需求而引起的三种基本的数据相关三种基本的数据相关 I:add r1,r2,r3J:sub r4,r1,r3中国科学技术大学chapter3.48读后写相关读后写相关Write After Read(WAR)InstrJ writes o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国科学技术大学 ppt 课件
限制150内