流水线性能分析举例.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
流水线性能分析举例 对于单功能、线性流水线,输入任务是连续的情况,可以通过上面给出的有关公式直接计算流水线的吞吐率、加速比和效率。本节通过具体例子介绍在单功能、线性流水线,输入任务是不连续的情况下,以及多功能、线性流水线,输入任务也是不连续的情况下,如何计算流水线的吞吐率、加速比和效率。关于非线性流水线的性能分析方法将在下一节中结合非线性流水线的调度问题一起介绍。 ????例1、单功能、线性流水线,输入任务是不连续的情况,计算流水线的吞吐率、加速比和效率。 ????例2、多功能、线性流水线,输入任务是不连续的情况,计算流水线的吞吐率、加速比和效率。 例1、单功能、线性流水线,输入任务是不连续的情况,计算流水线的吞吐率、加速比和效率。 ????用图5.14所示的一条4段浮点加法器流水线计算8个浮点数的和: Z=A+B+C+D+E+F+G+H (5.31) ????由于存在数据相关,要在A+B的运算结果在第4个时钟周期末尾产生之后,在第5个时钟周期才能继续开始做加C的运算。这样,在每两个加法运算之间,每个功能部件都要空闲3个时钟周期。这时候,实际上与不采用流水线的顺序执行方式完全一样。 ????把(5.31)作一个简单的变换,得到: Z=[(A+B)+(C+D)]+[(E+F)+(G+H)] (5.32) ????小括号内的4个加法操作之间,由于没有数据相关,可以连续输入到流水线中。只要前两个加法的结果出来之后,第一个中括号内的加法就可以开始进行。8个浮点数求和的流水线时空图如图5.27所示。 图5.27 用一条4段浮点加法器流水线求8个数之和的流水线时空图 ????从流水线的时空图中可以很清楚地看到,7个浮点加法共用了15个时钟周期。假设每一个流水段的延迟时间均相等,都为△t,则有Tk=15△t,n=7。那么,流水线的吞吐率TP为: ????流水线的加速比S为: ????流水线的效率E为: 例2、多功能、线性流水线,输入任务是不连续的情况,计算流水线的吞吐率、加速比和效率。 ????用多功能静态流水线计算两个向量的点积: Z=AB+CD+EF+GH (5.33) ???为了尽量减少数据相关性,充分发挥流水线的作用。计算的顺序应该是先做4个乘法:AB、CD、EF和GH,然后做两个加法AB+CD和EF+GH,最后求总的结果Z。流水线的时空图如图5.28所示。 Z=[(A+B)+(C+D)]+[(E+F)+(G+H)] (5.32) ? 图5.28 用TI-ASC多功能静态流水线求两个向量点积的流水线时空图 ????从流水线时空图中看到,用20个时钟周期完成了7个运算。当每一个流水段的延迟时间都为△t时,有:流水线的吞吐率TP为: 图5.27 用一条4段浮点加法器流水线求8个数之和的流水线时空图 ????从流水线的时空图中可以很清楚地看到,7个浮点加法共用了15个时钟周期。假设每一个流水段的延迟时间均相等,都为△t,则有。那么,流水线的吞吐率TP为: ???如果采用顺序执行方式,完成一次乘法要用4个Dt,完成一次加法要用6个Dt,则完成全部运算要用: ????则流水线的加速比S为: ????整个流水线共有8段,流水线效率E为: ????整个流水线的效率很低,其原因主要有如下四个。一是多功能流水线在做某一种运算时,总有一些流水段是空闲的;二是静态流水线必须等待前一种运算全部排出流水线之后,才能重新进行连接;三是题目本身存在有数据相关,当发生数据相关时,必须等待前一个运算结果产生之后,下一个运算才能开始;四是流水线有装入与排空部分,当输入到流水线中的任务不多时,装入与排空部分所占的比例比较大。

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档