欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    流水线技术.ppt

    • 资源ID:67274946       资源大小:4.56MB        全文页数:186页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    流水线技术.ppt

    第三章第三章 流水线技术流水线技术 流水线技术是提高流水线技术是提高CPUCPU性能和运算部性能和运算部件性能的一类主要技术,也是现代计算件性能的一类主要技术,也是现代计算机系统设计中的一项关键技术。机系统设计中的一项关键技术。即现代即现代CPUCPU设计的关键是高性能的流设计的关键是高性能的流水线。水线。流流 水水 段段分分 支支 指指 令令 操操 作作IFIFIDIDEXEXIF/ID.IR MemPC;IF/ID.NPC,PC (if ID/EX.cond ID/EX.NPC else PC+4);ID/EX.A RegsIF/ID.IR6.10;ID/EX.B RegsIF/ID.IR11.15;ID/EX.NPC IF/ID.NPC+(IR16)16#IR16.31;ID/EX.IR IF/ID.IR;ID/EX.cond (RegsIF/ID.IR6.10 op 0;ID/EX.Imm (IR16)16#IR16.31;MEMMEMWBWB表表3.6改进后流水线的分支操作改进后流水线的分支操作调调 度度 策策 略略对调度的要求对调度的要求什么情况下起作用?什么情况下起作用?从从 前前 调调 度度从目标处调度从目标处调度从失败处调度从失败处调度必须保证在分支失败时执行被调度必须保证在分支失败时执行被调度的指令不会导致错误。有可能需要的指令不会导致错误。有可能需要复制指令。复制指令。被调度的指令必须与分支无关被调度的指令必须与分支无关必须保证在分支成功时执行被调度必须保证在分支成功时执行被调度的指令不会导致错误。的指令不会导致错误。任何情况任何情况 分支成功时分支成功时(但由于复制指令,有但由于复制指令,有可能会增大程序空间可能会增大程序空间)分支失败时分支失败时三种方法的要求及效果表 3.7 各种减少分支损失方法的效果调度方法调度方法每条分支指令的每条分支指令的平均分支损失平均分支损失暂停流水线暂停流水线预测分支成功预测分支成功预测分支失败预测分支失败1.001.00每条条件分支指每条条件分支指 令的分支损失令的分支损失延迟分支延迟分支每条无条每条无条件分支指件分支指令的损失令的损失因分支暂停造因分支暂停造成的实际成的实际 CPICPI整整 型型平平 均均浮浮 点点平平 均均整整 型型平平 均均整整 型型平平 均均浮浮 点点平平 均均浮浮 点点平平 均均1.001.001.001.000.620.620.250.251.001.001.001.001.001.001.001.001.001.000.690.690.210.211.001.001.171.171.151.151.001.001.171.171.151.150.740.741.121.121.111.110.700.701.001.000.350.350.000.000.300.301.041.041.041.04流水段流水段功能部件功能部件描描述述A浮点加法器浮点加法器尾数加流水段尾数加流水段D浮点除法器浮点除法器除法流水段除法流水段E浮点乘法器浮点乘法器例外测试段例外测试段M浮点乘法器浮点乘法器乘法器第一个流水段乘法器第一个流水段N浮点乘法器浮点乘法器乘法器第二个流水段乘法器第二个流水段R浮点加法器浮点加法器舍入段舍入段S浮点加法器浮点加法器操作数移位段操作数移位段U展开浮点数展开浮点数浮点指令浮点指令延延迟迟初始化间初始化间隔隔使用的流水段使用的流水段加、减加、减43U,S+A,A+R,R+S乘乘84U,E+M,M,M,M,N,N+A,R除除3635U,A,R,D28,D+A,D+R,D+A,D+R,A,R求平方根求平方根112111U,E,(A+R)108,A,R取反取反21U,S求绝对值求绝对值21U,S浮点比较浮点比较32U,A,R基准程序基准程序流水线流水线CPI载入暂停时钟周载入暂停时钟周期数期数分支暂停时钟周分支暂停时钟周期数期数浮点结果暂停时浮点结果暂停时钟周期数钟周期数浮点结构性暂停浮点结构性暂停时钟周期数时钟周期数compresseqntottespressogccli整数平均整数平均1.201.881.421.561.641.540.140.270.070.130.180.160.060.610.350.430.460.380.000.000.000.000.000.000.000.000.000.000.000.00doducmdljdp2earhydro2dsu2cor浮点平均浮点平均2.842.662.172.532.182.480.010.010.000.000.020.010.220.310.460.620.070.331.391.200.590.750.840.950.220.150.120.170.260.18总平均总平均2.000.100.360.460.093.1流水线的基本概念3.1.1 基本概念 1.1.产品生产流水线产品生产流水线下面通过一个例子来说明流水线的好处下面通过一个例子来说明流水线的好处:一种方案:一种方案:另一种方案:另一种方案:流水线生产过程的抽象描述流水线生产过程的抽象描述:这种流水工作方式的主要特点这种流水工作方式的主要特点:每件产品还是要经过每件产品还是要经过4 4道工序处理,从单件产品角道工序处理,从单件产品角度来看,加工时间并没有改变,但从多件产品角度来度来看,加工时间并没有改变,但从多件产品角度来看,由于看,由于4 4道工序在同时进行,处理速度提高道工序在同时进行,处理速度提高4 4倍。倍。指令流水线指令流水线:把指令的解释过程分解为把指令的解释过程分解为“分析分析”和和“执行执行”两个子过程,并让这两个子过程分别用独立的分两个子过程,并让这两个子过程分别用独立的分析部件和执行部件来实现。析部件和执行部件来实现。理想情况:理想情况:速度提高一倍速度提高一倍指令流水线指令流水线:浮点加法流水线浮点加法流水线把浮点加法的全过程分解为把浮点加法的全过程分解为“求阶差求阶差”、“对对阶阶”、“尾数相加尾数相加”、“规格化规格化”四个子过程,并让四个子过程,并让它们分别用各自独立的部件来实现。它们分别用各自独立的部件来实现。理想情况:理想情况:速度提高速度提高3 3倍倍浮点加法流水线浮点加法流水线时空图时空图:时空图从时间和空间两个方面描述了流水时空图从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。纵坐标代表流水线的各个段。流水技术流水技术流水技术流水技术是指:将一个重复的时序过程分解是指:将一个重复的时序过程分解成为若干个子过程,而每个子过程都可有效地在成为若干个子过程,而每个子过程都可有效地在其专用功能段上与其他子过程同时执行。其专用功能段上与其他子过程同时执行。(1)(1)流水过程由多个相联系的子过程组成,每个流水过程由多个相联系的子过程组成,每个子过程称为流水线的子过程称为流水线的“级级”或或“段段”。“段段”的数的数目称为流水线的目称为流水线的“深度深度”。流水技术的特点流水技术的特点(2)(2)每个子过程由专用的功能段实现;每个子过程由专用的功能段实现;(3)(3)各个功能段所需时间应尽量相等,否则,时间长各个功能段所需时间应尽量相等,否则,时间长的功能段将成为流水线的瓶颈,会造成流水线的的功能段将成为流水线的瓶颈,会造成流水线的 “堵塞堵塞”和和“断流断流”。这个时间一般为一个时钟。这个时间一般为一个时钟周期周期(拍);(拍);(4)(4)流水线需要有流水线需要有“通过时间通过时间”(第一个任务流出结果(第一个任务流出结果所所需的时间),在此之后流水过程才进入稳定工作状需的时间),在此之后流水过程才进入稳定工作状态,每一个时钟周期(拍)流出一个结果;态,每一个时钟周期(拍)流出一个结果;(5)(5)流水技术适合于大量重复的时序过程,只有输入流水技术适合于大量重复的时序过程,只有输入端能连续地提供任务,流水线的效率才能充分发端能连续地提供任务,流水线的效率才能充分发挥。挥。3.1.2 流水线的分类 单功能流水线单功能流水线:只能完成一种固定功能的:只能完成一种固定功能的 流水线。流水线。多功能流水线多功能流水线:流水线的各段可以进行不同的:流水线的各段可以进行不同的 连接,从而实现不同的功能。连接,从而实现不同的功能。例如:例如:TI ASC TI ASC 的多功能流水线的多功能流水线1 1按功能的多少来分按功能的多少来分2 2按同一时间内各段之间的连接方式来分按同一时间内各段之间的连接方式来分 静态流水线静态流水线:在同一时刻,流水线的各段只能:在同一时刻,流水线的各段只能 按同一种功能的连接方式工作。按同一种功能的连接方式工作。在静态流水线中,只有当输入是一串相同在静态流水线中,只有当输入是一串相同的运算操作时,流水的效率才能得到发挥。的运算操作时,流水的效率才能得到发挥。动态流水线动态流水线:在同一时刻,流水线的各段可以:在同一时刻,流水线的各段可以 按不同功能的连接方式工作。按不同功能的连接方式工作。这样就不是非得相同运算的一串操作才能这样就不是非得相同运算的一串操作才能 流水处理。流水处理。优点优点:能提高流水线的效率:能提高流水线的效率 缺点缺点:会使流水线的控制变得复杂:会使流水线的控制变得复杂3 3按照流水线的级别来分按照流水线的级别来分 部件级流水线部件级流水线(运算操作流水线):它是把(运算操作流水线):它是把 处理机的算术逻辑部件分段,以便为各种数处理机的算术逻辑部件分段,以便为各种数 据类型进行流水操作。据类型进行流水操作。处理机级流水线处理机级流水线(指令流水线):它是把指(指令流水线):它是把指 令的解释执行过程按照流水方式进行处理。令的解释执行过程按照流水方式进行处理。例如,前面把指令解释过程分解为例如,前面把指令解释过程分解为:分析分析和和执行执行。DLXDLX的基本流水线把指令解释过程分解为:的基本流水线把指令解释过程分解为:取指令、指令译码、执行、访存、写回取指令、指令译码、执行、访存、写回。处理机间流水线处理机间流水线(宏流水线):它是指由两个(宏流水线):它是指由两个 以上的处理机串行地对同一数据流进行处理,以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。每个处理机完成一项任务。4 4按照数据表示来分按照数据表示来分 向量处理机向量处理机:具有向量指令和向量数据表示的:具有向量指令和向量数据表示的 处理机。处理机。例如:例如:TI ASC,CRAY-I TI ASC,CRAY-I 等等 标量处理机标量处理机:不具有向量指令和向量数据表示,:不具有向量指令和向量数据表示,仅对标量进行流水处理的处理机。仅对标量进行流水处理的处理机。例如:例如:IBM360/91,Amdahl 470V/6 IBM360/91,Amdahl 470V/6 等等5.5.按照是否有反馈回路来分按照是否有反馈回路来分 线性流水线线性流水线:流水线中的各段串行连接,没:流水线中的各段串行连接,没 有反馈回路。有反馈回路。非线性流水线非线性流水线:流水线中的各段除有串行连接:流水线中的各段除有串行连接 外,还有反馈回路。外,还有反馈回路。顺序流动流水线顺序流动流水线:流水线输出端任务流出的顺:流水线输出端任务流出的顺 序与输入端任务流入的顺序序与输入端任务流入的顺序相同相同。异步流动流水线异步流动流水线(乱序流水线):流水线输出(乱序流水线):流水线输出 端任务流出的顺序与输入端任务流入的顺序端任务流出的顺序与输入端任务流入的顺序 不同不同。例如:例如:动态流水线动态流水线6.6.按照流动是否可以乱序来分按照流动是否可以乱序来分3.2DLX的基本流水线3.2.1 3.2.1 DLXDLX的一种简单实现的一种简单实现非流水线实现非流水线实现最多用最多用5 5个时钟周期来实现一条指令:个时钟周期来实现一条指令:(1)(1)取指令周期取指令周期(IF(IF,Instruction Fetch)Instruction Fetch)(2)(2)指指 令令 译译 码码/读读 寄寄 存存 器器 周周 期期(ID(ID,Instruction Instruction Decode)Decode)(3)(3)执行执行/有效地址计算周期有效地址计算周期(EX(EX,Execution)Execution)(4)(4)存储器访问存储器访问/分支完成周期分支完成周期(MEM(MEM,Memory Access)Memory Access)(5)(5)写回周期写回周期(WB(WB,Write Back)Write Back)定义定义:ADDADD:加法器加法器PCPC:指令计数器指令计数器NPCNPC:下一条顺序指令计数器下一条顺序指令计数器IRIR:指令寄存器指令寄存器A A、B B:操作数临时寄存器操作数临时寄存器ImmImm:立即数临时寄存器立即数临时寄存器CondCond:条件值寄存器条件值寄存器MUXMUX:多路开关多路开关ALUALU:运算器运算器ALU OutputALU Output:运算器输出寄存器:运算器输出寄存器LMDLMD:存储器数据读取寄存器存储器数据读取寄存器时钟周期说明:时钟周期说明:(1 1)取指令取指令周期周期(IFIF)IR IR MemPCMemPC NPC PCNPC PC4 4(2 2)指令译码指令译码/读寄存器读寄存器周期周期(IDID)操作码译码操作码译码 A RegsIRA RegsIR6 6 .10.10 B RegsIRB RegsIR1111 .15.15 ImmImm (IR (IR1616)16 16#IR#IR1616 .31.31 指令译码和读寄存器是并行进行的。之所指令译码和读寄存器是并行进行的。之所 以能做到这一点,是因为在以能做到这一点,是因为在DLXDLX指令格式中,指令格式中,操作码在固定位置。这种技术也称为操作码在固定位置。这种技术也称为固定字段固定字段 译码译码。存储器访问存储器访问 ALUOutputALUOutput A AImmImm图示图示 寄存器寄存器寄存器寄存器 ALU ALU 操作操作 ALUOutputALUOutput A op B A op B图示图示 寄存器寄存器立即值立即值 ALU ALU 操作操作 ALUOutputALUOutput A op A op ImmImm图示图示 分支操作分支操作ALUOutputALUOutput NPC NPCImmImmCondCond (A op 0)(A op 0)图示图示(3 3)执行执行/有效地址计算有效地址计算周期周期(EXEX)在这个周期,不同的指令有不同的操作。在这个周期,不同的指令有不同的操作。上述四种操作都要用到上述四种操作都要用到ALUALU,它们能放在同一个时钟,它们能放在同一个时钟周期中完成的原因:周期中完成的原因:因为在因为在 DLX DLX 指令集结构中,没有任何指令需要指令集结构中,没有任何指令需要同时同时计算数据的存储器地址、计算分支指令的目标地计算数据的存储器地址、计算分支指令的目标地址和进行址和进行ALUALU数据运算数据运算,也即这样做是由,也即这样做是由 DLXDLX指令集指令集结构本身的特点所允许的。结构本身的特点所允许的。存储器访问存储器访问 LMD LMD MemALUOutputMemALUOutput 或或 MemMem ALUOutputALUOutput B B图示图示 计算下一条指令地址计算下一条指令地址 ifif(condcond)PC PC ALUOutputALUOutput elseelse PC NPCPC NPC图示图示(5 5)写回写回周期周期(WBWB)不同指令在该周期完成的工作也不一样。不同指令在该周期完成的工作也不一样。寄存器寄存器寄存器型寄存器型 ALU ALU 指令指令 RegsIRRegsIR1616 .20.20 ALUOutpuALUOutput t图示图示 寄存器寄存器立即值型立即值型 ALU ALU 指令指令 RegsIRRegsIR1111 .15.15 ALUOutputALUOutput图示图示(4 4)存储器访问存储器访问/分支完成分支完成周期周期(MEMMEM)LoadLoad 指令指令 RegsIRRegsIR1111 .15.15 LMD LMD实现特点:实现特点:不同的时钟周期之间的数据传递通过记不同的时钟周期之间的数据传递通过记忆装置来实现,这种记忆装置可以分外部可见与不忆装置来实现,这种记忆装置可以分外部可见与不可见两类,外部可见记忆装置包括存储器、通用寄可见两类,外部可见记忆装置包括存储器、通用寄存器、存器、PCPC等,用于在指令之间传递数据;外部不可等,用于在指令之间传递数据;外部不可见记忆装置为一些临时寄存器,包括见记忆装置为一些临时寄存器,包括LMDLMD、ImmImm、A A、B B、IRIR、NPCNPC、ALUOutputALUOutput以及以及CondCond,用于在一条指用于在一条指令的不同周期之间传递数据令的不同周期之间传递数据指令周期数指令周期数:分支指令和分支指令和StoreStore指令需要指令需要4 4个时钟周期个时钟周期,其它指令需要其它指令需要5 5个时钟周期个时钟周期 假设分支指令占总指令数的假设分支指令占总指令数的1212,Store Store指令占总指令数的指令占总指令数的5 5 则则:CPICPI4.834.83 上述实现无论在性能上,还是在硬件开销上,上述实现无论在性能上,还是在硬件开销上,都不是优化的。都不是优化的。可能改进:可能改进:1)1)硬件开销硬件开销-ADD-ADD由由ALUALU来完成来完成;(增加数据通路成本增加数据通路成本)2)2)改进改进CPI-ALUCPI-ALU指令的指令的WBWB操作放到操作放到MEMMEM周期完成周期完成;其它周期的合并其它周期的合并.3.2.2 3.2.2 基本的基本的DLXDLX流水线流水线我们可以把我们可以把3.2.13.2.1中的数据通路流水化:中的数据通路流水化:每个时钟周期启动一条新的指令。每个时钟周期启动一条新的指令。这样,该数据通路中的每一个周期就成这样,该数据通路中的每一个周期就成了一个流水段。了一个流水段。1 1.一种简单的一种简单的 DLX DLX 流水线流水线2.2.简单简单DLXDLX流水线的流水过程流水线的流水过程第一种描述第一种描述(类似于时空图类似于时空图)第二种描述第二种描述(按时间错开的数据通路资源按时间错开的数据通路资源)3 3.采用流水技术还应解决好以下几个问题采用流水技术还应解决好以下几个问题:上述简单上述简单DLXDLX流水线中:流水线中:指令存储器(指令存储器(IMIM)和和数据存储器(数据存储器(DMDM)分分 开,避免了访存冲突。开,避免了访存冲突。IDID段和段和WBWB段都要访问同一寄存器文件。段都要访问同一寄存器文件。IDID段:读段:读WBWB段:写段:写 如何解决对同一寄存器的访问冲突?如何解决对同一寄存器的访问冲突?(1)1)资源冲突问题资源冲突问题例如,不能要求一个例如,不能要求一个ALUALU同时既做有效同时既做有效 地址计算,地址计算,又又做减法操作做减法操作。PC PC 问题问题流水线为了能够每个时钟周期启动一条流水线为了能够每个时钟周期启动一条新的指令,就必须在每个时钟周期进行新的指令,就必须在每个时钟周期进行PCPC值值的加的加4 4操作,并保留新的操作,并保留新的PCPC值。这种操作必值。这种操作必须须在在IFIF段完成段完成,以便为取下一条指令做好准以便为取下一条指令做好准备。备。但分支指令也可能改变但分支指令也可能改变PCPC的值,而且是的值,而且是在在MEMMEM段进行,这会导致冲突段进行,这会导致冲突。为解决问题,我为解决问题,我们们重新组织数据通路重新组织数据通路,把所有改变把所有改变PCPC值的操作都放在值的操作都放在IFIF段进行。段进行。但分支指令如何处理?但分支指令如何处理?(2 2)每一流水段内的操作都必须在一个时钟周期每一流水段内的操作都必须在一个时钟周期 内完成内完成 流水线各段之间需设置流水线寄存器流水线各段之间需设置流水线寄存器 (也称为(也称为锁存器锁存器)流水线寄存器组及其所含寄存器流水线寄存器组及其所含寄存器的的命名命名 例如,例如,IDID段和段和EXEX段之间的流水线寄存段之间的流水线寄存 器组中的器组中的IRIR寄存器的名称为寄存器的名称为:ID/EX.IRID/EX.IR 流水线寄存器的作用流水线寄存器的作用 把数据和控制信息从一个流水段传把数据和控制信息从一个流水段传 送到下一个流水段。送到下一个流水段。流水线寄存器的构成流水线寄存器的构成(3 3)流水线寄存器(组)流水线寄存器(组)流水段流水段任何指令类型任何指令类型ALU ALU 指令指令Load/Store Load/Store 指令指令分支指令分支指令IFIFIDIDEXEXIF/ID.IR MemPCIF/ID.NPC,PC (if EX/MEM.cond EX/MEM.ALUOutput else PC+4);ID/EX.A RegsIF/ID.IR6.10;ID/EX.B RegsIF/ID.IR11.15;ID/EX.NPC IF/ID.NPC;ID/EX.IR IF/ID.IR;ID/EX.Imm (IF/ID.IR16)16#IF/ID.IR16.31;EX/MEM.IR ID/EX.IR;EX/MEM.ALUOutput ID/EX.A func ID/EX.B 或EX/MEM.ALUOutput ID/EX.A op ID/EX.Imm;EX/MEM.cond 0;EX/MEM.IR ID/EX.IR;EX/MEM.ALUOutput ID/EX.A+ID/EX.Imm;EX/MEM.cond 0;EX/MEM.B ID/EX.B;EX/MEM.ALUOutput ID/EX.NPC+ID/EX.Imm;EX/MEM.cond (ID/EX.A op 0);4.DLX4.DLX流水线的操作流水线的操作流水段流水段任何指令类型任何指令类型ALU ALU 指令指令Load/Store Load/Store 指令指令分支指令分支指令MEMMEMWBWBMEM/WB.IR EX/MEM.IR;MEM/WB.ALUOutput EX/MEM.ALUOutput;MEM/WB.IR EX/MEM.IR;MEM/WB.LMD MemEX/MEM.ALUOutput;或MemEX/MEM.ALUOutput EX/MEM.B;RegsMEM/WB.IR16.20 MEM/WB.ALUOutput;或RegsMEM/WB.IR11.15 MEM/WB.ALUOutput;RegsMEM/WB.IR11.15 MEM/WB.LMD;5 5DLXDLX流水线的控制流水线的控制主要是确定如何控制那主要是确定如何控制那四个多路选择器四个多路选择器:IFIF段段MUX:MUX:下一条指令地址为增长后的下一条指令地址为增长后的PC(PC(当前当前PC PC 加加4)4)或向前数第三条指令的或向前数第三条指令的ALUOutputALUOutput的值的值,前提是那条指令为分支指令并且前提是那条指令为分支指令并且条件成立条件成立EXEX段段MUX:MUX:上面一个上面一个MUXMUX选择一个操作数是寄存器选择一个操作数是寄存器值还是值还是NPC(NPC(分支指令分支指令),),下下面一个面一个MUXMUX选选择另一个操作数是寄存器值还是立即择另一个操作数是寄存器值还是立即数数(I(I型指令型指令)WBWB段段MUX:MUX:写回寄存器的值来自于写回寄存器的值来自于LMD(LoadLMD(Load指令指令)或或ALUOutput(ALUALUOutput(ALU指令指令)3.2.3 3.2.3 流水线性能分析流水线性能分析吞吐率吞吐率是指单位时间内流水线所完成的任是指单位时间内流水线所完成的任务数或输出结果的数量。务数或输出结果的数量。1 1.吞吐率吞吐率(1)(1)最大吞吐率最大吞吐率TPTPmaxmax 最大吞吐率最大吞吐率是指流水线在连续流动达到稳是指流水线在连续流动达到稳定状态后所得到的吞吐率。定状态后所得到的吞吐率。若流水线各段的时间相等,均为若流水线各段的时间相等,均为tt0 0 ,则:则:TPmax 1/t0 若流水线各段的时间不等,则:若流水线各段的时间不等,则:最大吞吐率取决于流水线中最慢的一段所最大吞吐率取决于流水线中最慢的一段所 需的时间,这段就成了流水线的瓶颈。需的时间,这段就成了流水线的瓶颈。消除瓶颈的方法消除瓶颈的方法 (举例举例)细分瓶颈段细分瓶颈段 重复设置瓶颈段重复设置瓶颈段 (时时-空图空图)1 1maxmaxtti i TPmax(2)(2)实际吞吐率实际吞吐率TPTP 流水线的实际吞吐率小于最大吞吐率。流水线的实际吞吐率小于最大吞吐率。第一种情况:各段时间第一种情况:各段时间相等相等(设为(设为tt0 0)假设流水线由假设流水线由 m m 段组成,完成段组成,完成 n n 个任务。个任务。时空图时空图 完成完成 n n 个任务所需的时间个任务所需的时间 T T流水流水mtmt0 0(n n1)1)tt0 0 (说明说明)实际吞吐率实际吞吐率TP TP T T流水流水n nmtmt0 0(n n)tt0 0n n(1(1 )tt0 0 m m1 11 1TPTPmaxmaxn n 1 1n nm m1 1TP TP TPTPmaxmax当当n n m m 时,时,TP TP TPTPmaxmax 时空图时空图 完成完成 n n 个任务所需的时间个任务所需的时间 T T流水流水t ti i(n n1)1)ttj j t tj jmaxmaxtti i 实际吞吐率实际吞吐率 第二种情况:各段时间第二种情况:各段时间不等不等TP TP t ti i(n n1)1)t tj jm mi=1i=1n ni=1i=1m m加速比加速比是指流水线的速度与等功能非流水是指流水线的速度与等功能非流水线的速度之比。线的速度之比。2.2.加速比加速比S S S ST T非流水非流水T T流水流水(其中(其中T T流水流水和和T T非流水非流水分别为按流水和按非流水分别为按流水和按非流水方式处理方式处理 n n 个任务所需的时间)个任务所需的时间)若流水线为若流水线为 m m 段,且各段时间相等,均为段,且各段时间相等,均为tt0 0 ,则:则:T T非流水非流水n mn mt t0 0 (解释解释)T T流水流水m mt t0 0(n n1)1)t t0 0 可以看出:可以看出:当当n n m m 时,时,S S m mS S T T非流水非流水T T流水流水nmtnmt0 0mtmt0 0(n n1 1)tt0 0mnmnm mn n1 1m mn n1 1 m m1 1 S S t ti i(n n1)1)t tj jm mi=1i=1n n t ti ii=1i=1m m若流水线各段的时间不等,则:若流水线各段的时间不等,则:效率效率是指流水线的设备利用率。是指流水线的设备利用率。(1)(1)由于流水线由于流水线有有通过时间和排空时间通过时间和排空时间,所以,所以 流水线的各段并不是一直满负荷地工作。流水线的各段并不是一直满负荷地工作。故:故:E E 1 13 3效率效率 E E(2)(2)若各段时间相等,则各段的效率若各段时间相等,则各段的效率e ei i相等,即相等,即 e e1 1e e2 2 e e3 3 e em mn ntt0 0T T流水流水 (解释解释)整个流水线的效率为整个流水线的效率为:当当 n n m m 时,时,E E 1 1E E n nt t0 0T T流水流水n nm mn n1 11n n1 m1(3)(3)从时空图上看,效率实际上就是从时空图上看,效率实际上就是 n n 个任务所个任务所占的时空区与占的时空区与 m m 个段总的时空区个段总的时空区之比,即:之比,即:n n 个任务占用的时空区个任务占用的时空区E E m m 个段总的时空区个段总的时空区(4)(4)由于效率由于效率E E 1n n1 m1而加速比而加速比S S mn n1 m1因此因此E E Sm说明效率和加速比成正比说明效率和加速比成正比又由于吞吐率又由于吞吐率:TP TP(1(1 )tt0 0 m m1 11 1n n 因此因此E E TP TP tt0 0 说明效率和吞吐率成正比说明效率和吞吐率成正比 提高流水线效率所采取的措施对于提高提高流水线效率所采取的措施对于提高 吞吐率也有好处。吞吐率也有好处。n n 个任务占用的时空区个任务占用的时空区E E m m 个段总的时空区个段总的时空区(5)(5)若各段时间不相等,则由于若各段时间不相等,则由于n n 个任务占用的时空区个任务占用的时空区=n n 而而 t ti ii=1i=1m m m m 个段总的时空区个段总的时空区=m m T T流水流水 =m m t ti i +(n-1)+(n-1)t tj j i=1i=1m m因此因此 E E m m t ti i +(n-1)+(n-1)t tj j i=1i=1m m t ti ii=1i=1m mn n4 4流水线性能分析举例流水线性能分析举例例例3.13.1 在在静态流水线静态流水线上计算上计算 A Ai iB Bi i ,求:吞吐率,加速比,效率。求:吞吐率,加速比,效率。4 4i i=1=1解解:(1)(1)确定适合于流水处理确定适合于流水处理的的计算过程计算过程。(2)(2)画时空图画时空图 (3)(3)计算性能计算性能 吞吐率吞吐率 TPTP7 7(20(20tt)加速比加速比 S S(34(34tt)(20(20tt)1.71.7 效率效率 E E(44(4436)36)(820)(820)0.210.21可以看出,在求解此问题时,该流水线的效率可以看出,在求解此问题时,该流水线的效率不高。不高。(原因原因?)例例3.33.3 假设在假设在DLXDLX的非流水实现和基本流水线中,的非流水实现和基本流水线中,5 5个个功能单元的时间为:功能单元的时间为:1010,8 8,1010,1010,7 7(nsns),),流水额外开销为:流水额外开销为:1ns1ns,求求加速比加速比S S。解解:T T非流水非流水10108 8101010107 745(ns)45(ns)T T流水流水 10101 111(ns)11(ns)S S 454511114.14.1动态流水线的时空图动态流水线的时空图 举例举例 :这样行不行这样行不行?正确答案正确答案5 5有关流水线性能的若干问题有关流水线性能的若干问题(1)(1)流水线并不能减少流水线并不能减少(而且一般是增加而且一般是增加)单条指单条指 令的执行时间,但却能提高吞吐率。令的执行时间,但却能提高吞吐率。(2)(2)增加流水线的深度增加流水线的深度(段数段数)可以提高流水线的可以提高流水线的 性能。性能。(3)(3)流水线的深度受限于流水线的额外开销。流水线的深度受限于流水线的额外开销。(4)(4)流水线的额外开销包括:流水线的额外开销包括:流水线寄存器的延迟流水线寄存器的延迟 时钟扭曲时钟扭曲(5)(5)当时钟周期小到与额外开销相同时,流水已没意当时钟周期小到与额外开销相同时,流水已没意 义。因为这时在每一个时钟周期中已没有时间来义。因为这时在每一个时钟周期中已没有时间来 做有用的工作。做有用的工作。(6)(6)需用高速的锁存器来作为流水寄存器。需用高速的锁存器来作为流水寄存器。EarleEarle锁存器锁存器(1965)(1965)的三个特点的三个特点:对时钟扭曲不太敏感(相对而言)对时钟扭曲不太敏感(相对而言)其延迟为常数:其延迟为常数:2 2个门级延迟,避免了数据通个门级延迟,避免了数据通 过锁存器时的扭曲。过锁存器时的扭曲。(7)(7)相关问题相关问题 如果流水线中的指令相互独立,则可以充分如果流水线中的指令相互独立,则可以充分 发挥流水线的性能。但在实际中,指令间可能会发挥流水线的性能。但在实际中,指令间可能会 是相互依赖,这会降低流水线的性能。下一节介是相互依赖,这会降低流水线的性能。下一节介 绍如何解决相关问题。绍如何解决相关问题。锁存器中可以进行两级逻辑运算而不增延迟时锁存器中可以进行两级逻辑运算而不增延迟时 间。这样每个流水段中的两级逻辑可以与锁存间。这样每个流水段中的两级逻辑可以与锁存 器重叠,从而能隐藏锁存器开销的绝大部分。器重叠,从而能隐藏锁存器开销的绝大部分。3.33.3流水线中的相关流水线中的相关1 1相关的概念相关的概念 流水线中的相关流水线中的相关是指相邻或相近的两条指是指相邻或相近的两条指令因存在某种关联,后一条指令不能按照原指令因存在某种关联,后一条指令不能按照原指定的时钟周期运行定的时钟周期运行。结构相关结构相关 当硬件资源满足不了同时重叠执行的指当硬件资源满足不了同时重叠执行的指 令的要求,而发生资源冲突时,就发生了令的要求,而发生资源冲突时,就发生了结结 构相关构相关。2 2相关的分类相关的分类 数据相关数据相关 当一条指令需要用到前面某条指令的结当一条指令需要用到前面某条指令的结 果,从而不能重叠执行时,就发生了果,从而不能重叠执行时,就发生了数据相数据相 关关。控制相关控制相关 当流水线遇到分支指令和其他能够改变当流水线遇到分支指令和其他能够改变 PCPC 值的指令时,就会发生值的指令时,就会发生控制相关控制相关。在本章中,我们在本章中,我们约定约定:当一条指令被暂停时,暂停其后所有指令当一条指令被暂停时,暂停其后所有指令(包括还未进入流水线的指令),但继续执行在(包括还未进入流水线的指令),但继续执行在其前的、在流水线中的指令其前的、在流水线中的指令。在暂停期间,流水线不会取新的指令。在暂停期间,流水线不会取新的指令。3 3消除相关的基本方法消除相关的基本方法 让流水线中的某些指令暂停,而让其它让流水线中的某些指令暂停,而让其它 指令继续执行。指令继续执行。3.3.1 3.3.1 结构相关结构相关1.1.结构相关的产生原因:因某种指令组合产生资结构相关的产生原因:因某种指令组合产生资 源的访问冲突。源的访问冲突。2.2.解决资源访问冲突的方法:解决资源访问冲突的方法:(1)(1)把功能部件流水化把功能部件流水化;(2)(2)把资源重复设置。把资源重复设置。3.3.常见的导致结构相关的原因:常见的导致结构相关的原因:功能部件不是全流水功能部件不是全流水 重复设置的资源的份数不够重复设置的资源的份数不够4.4.结构相关举例:访存冲突结构相关举例:访存冲突解决方法解决方法:设置相互独立的指令存储器和设置相互独立的指令存储器和 数据存储器或设置相互独立的数据存储器或设置相互独立的 指令指令CacheCache和数据和数据CacheCache。当数据和指令存在同一存储器中时,访当数据和指令存在同一存储器中时,访存指令存指令会会导致访存冲突导致访存冲突。解决办法解决办法:插入暂停周期插入暂停周期 (“流水线气泡流水线气泡”或或“气泡气泡”)引入暂停后的时空图引入暂停后的时空图5.5.避免结构相关避免结构相关:6.6.有些设计方案允许有结构相关有些设计方案允许有结构相关 所有功能单元完全流水化所有功能单元完全流水化 设置足够的硬件资源设置足够的硬件资源硬件代价很大。硬件代价很大。降低成本降低成本 减少部件的延迟减少部件的延迟3.3.2 3.3.2 数据相关数据相关1.1.数据相关简介数据相关简介 当指令在流水线中重叠执行时,流水线有当指令在流水线中重叠执行时,流水线有 可能改变指令读可能改变指令读/写操作数的顺序,使之不同写操作数的顺序,使之不同 于它们在非流水实现时的顺序,这

    注意事项

    本文(流水线技术.ppt)为本站会员(s****8)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开