- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
流水线技术 什么是流水线? 考虑设计一个洗衣机的工作流程,假定它有三道工序:洗涤、清洗、甩干。每个环节为5分钟。 需要完成的任务为3批,则考虑下述工作方式的工作效率: 第一种:串行工作方式,即按照如下方式工作: 指令的重叠执行方式 1、顺序执行方式 一条指令的执行过程:取指令-分析-执行 执行n条指令所用的时间为: 如每段时间都为t,则执行n条指令所用的时间为:T=3nt 主要优点:控制简单,节省设备。 主要缺点:执行指令的速度慢,功能部件的利用率很低。 2、一次重叠执行方式(一种最简单的流水线方式) 如果两个过程的时间相等,则执行n条指令的时间为:T=(1+2n)t 主要优点:指令的执行时间缩短功能部件的利用率明显提高 主要缺点:需要增加一些硬件控制过程稍复杂 3、二次重叠执行方式 把取第k+1条指令提前到分析第k条指令同时执行 如果三个过程的时间相等,执行n条指令的时间为:T=(2+n)t 理想情况下同时有三条指令在执行 处理机的结构要作比较大的改变,必须采用先行控制方式 流水线的表示方法 流水线的表示法有三种:连接图、时空图、预约表。主要c以前二种为主。 1、简单流水线的连接图表示 流水线的每一个阶段称为流水步(流水步骤、流水段、流水线阶段、流水功能段、功能段、流水级、流水节拍等)。一个流水阶段与另一个流水阶段相连形成流水线。指令从流水线一端进入,经过流水线的处理,从另一端流出。 有些复杂指令 在执行阶段也采用流水线方式工作,称为操作流水线。 2、一种指令流水线 一般4至12个流水段,等于及大于8个流水段的称为超流水线处理机 3、流水线的时空图 采用“时空图”表示流水线的工作过程。 一条简单流水线的时空图: 一个浮点加法器流水线的时空图(由求阶差、对阶、尾数加和规格化4个流水段组成): 流水线的主要特点 在流水线的每一个功能部件的后面都要有一个缓冲器,称为锁存器、闸门寄存器等,它的作用是保存本流水段的执行结果。 各流水段的时间应尽量相等,否则会引起阻塞、断流等。 从而产生流水线瓶颈。 只有连续提供同类任务才能充分发挥流水线的效率。 在流水线的每一个流水线段中都要设置一个流水锁存器。 流水线需要有“装入时间”和“排空时间”。只有流水线完全充满时,整个流水线的效率才能得到充分发挥。 解决数据数据相关技术 定向技术法 基本思想:如果后续指令要使用前面指令的运算结果值,则通过硬件专门电路将该运算结果值提前传送到有关缓冲寄存器,使后续指令得以不停顿地进入流水线。 解决数据数据相关技术 定向技术法 5.2.2 流水线处理机的主要性能 衡量流水线性能的主要指标有:吞吐率、加速比和效率 1、吞吐率(Though Put) 求流水线吞吐率的最基本公式: TP = n / Tkn为任务数, Tk为完成n个任务所用时间 各段执行时间相等,输入连续任务情况下完成n个连续任务需要的总时间为: Tk= (k+n-1) Dt k为流水线的段数,D t为时钟周期 吞吐率:最大吞吐率为: 各段执行时间不相等、输入连续任务情况下:吞吐率为: 最大吞吐率为: 流水线各段执行时间不相等的解决办法 一是将“瓶颈”流水段细分(如果可分的话): 二是将 “瓶颈”流水段重复设置: 2、加速比(Speedup) 计算流水线加速比的基本公式:S = 顺序执行时间T0 / 流水线执行时间Tk 各段执行时间相等,输入连续任务情况下加速比为: 最大加速比为: 各段执行时间不等,输入连续任务情况下实际加速比为: 3、效率(Efficiency) 计算流水线效率的一般公式: 各流水段执行时间相等,输入n个连续任务流水线的效率为: 流水线的最高效率为: 各流水段执行时间不等,输入n个连续任务流水线的效率为: 流水线各段的设备量或各段的价格不相等时:流水线的效率为:即: 其中,ai k,且 流水线的吞吐率、加速比与效率的关系: 因为因此:E=TP· Dt ,S=k·E 4、流水线性能分析举例 对于单功能线性流水线,输入连续任务的情况,通过上面给出的公式很容易计算出流水线的吞吐率、加速比和效率。 例2.1:用一条4段浮点加法器流水线求8个浮点数的和:Z=A+B+C+D+E+F+G+H 解:Z = [(A+B) + (C+D)] + [(E+F) + (G+H)] 7个浮点加法共用了15个时钟周期。流水线的吞吐率为: 流水线的加速比为: 流水线的效率为: 例:5.5/5.6/5.8 作业 1.一条线性流
文档评论(0)