流水线的吞吐率和效率

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5. 2.2流水线处理机的主要性能
衡世流水线处理机性能的指标主要是吞吐率(TP, Throughput R触c)和效率(牛Effi- ciency)0
1.吞吐率
吞吐系是流水线单位时间里能流出的任务数或结果数。

在上节中的图5. 14的流水线例子中,各个子过程经过的时间都是4?•满负荷后.流水线毎隔丄解释完一条指令,其最大吞吐率TP“为1/Mo实际上,各个子过程进行的工作不相同,所经过的时间也就不一定相同,所以前述在子过程间设置了接口锁存器.让各锁存器都受同-•时钟脉冲同步。

时钟脉冲周期直接影响流水线的最大吞吐率,总希望它越小越好。

如果各个子过程所需的时间分别为&、、沁时钟周期应当为沁 A/4},即流水线的最大吞吐率
TP —____________ 1 _________
I ~ Az2t企、Ar4}
它受限于流水线中最慢子过程所需要的时间。

称流水线中经过时间最长的子过程为瓶颈子过程。

例如有-•个4段的指令流水线如图5.19(a)所示,其中1、3、4段的经过时间均为4「八只有2段的经过时间为3&。

,因此瓶颈在2段,由于它造成整个流水线最大吞吐率只有1/(33。

),其时一空图如图5.19(6)所示。

即使给此流水线每隔4。

流入一条指令,也会因来不及处理而被堆积在2段.致使流水线仍然只能以毎隔才解释完一条指令。

空间
-H A/J—时间
图5・19赧大吞吐率取决于瓶颈段的时间
为了提高流水线的最大吞吐率.首先要找出瓶颈,然后设法消除此瓶颈。

消除瓶颈的一种办法是将瓶颈子过程再细分.例如将2段再细分成21、22、23三个于段,如图5. 20 (“〉所示。

让各子段经过时间都减少到卜。

,这样,最大吞吐率就可提高到1/Af(.o图5. 20 (小是将瓶颈子过程再细分后的时一空图。

然而,并不是所有于过程都能再细分的。

假如2
192
段已不能再细分了.则可以通过重复设置多套(例如此例用三套》瓶颈段并联.让它们交叉进行,如图5.21(a)所示。

每隔轮流给其中一个瓶颈段分配任务,使它们仍可每隔解释完一条指令,相应的时一空图如图5.21(6)所示。

这种办法需要解决好在各并行子过程之间的任务分配和同步控制.比起瓶颈子过程再细分控制要复杂、设备最要多一些。

2
(a)
空何
-H
41234IJ
312345
(2312345
{ 2212345
〔2112345
112345■
时间
(h)
以上讲的都是流水线连续流动时能达到的最大吞吐率。

由于流水开始时总要有一段立时间,加上种种原因使流水线不能连续流动,经常是流一段时间,停一段时间,因此水线的实际吞吐率TP总比最大吞吐率TP“要小。

设一皿段流水线的各段经过时间均为3°,则第1条指令从流入到流岀需要T% 的流水建立时间,之后每隔&。

就可以流出一条猎令,其时一空图如图5. 22所示(这里协==4)<这样,完成”个任务的解释共需时间T=m・&°+(”一1!&0。

在这段时间里,流; 线的实际吞吐率
TP _ ________ 2 ______ __ _______ 1 _____ = ___ 一
加&0 + (” - 1 & ( ] + 加—_1 j ] + 皿 _ ]
图5. 20 瓶颈产过代梅细分
(a)
图5.21瓶颈子过程并联
时何
---------------------------- T-------------------------------
图5.22从时一空图分析实际的吞吐率
可以看出,不仅实际的吞吐率总是小于最大的吞吐率,而且只有当”》龙时,才能使实际即吞吐率接近于理想的最大吞吐率。

如果用加速比(Speedup Ratio, Sp)表示流水线方式相兀非流水线顺序串行方式速度提高的比值,那么,非流水线顺序串行方式工作,连续完成; 个任务需要的时间,因此,流水线方式工作的加速比
g ______ " ••卜0 _ 祝
P+ (” 一1)M ] + 皿 _ ]
n
可见,线性流水线且各段时间相同时,仅当加时,即连续流入的任务数”远比流水线刁过程数加多得多时,其加速比才能趋于最大值,为流水线的段数加。

一般,厂家在机器手册中提供的吞吐率都指的是最大吞吐車.因此,如果只是让子丈程进一步细分,增大刃来缩短3。

,却未能在软件、算法、语言编译、程序设计上采取彳施.保证连续流动的任务数“能远远大于子过程数祝,则实际苣吞吐率将大大低于手册耳给岀的最大吞吐率.极端情况”=1时,由于加的增大,锁存器数也增多,从而实际上增J 「任务从流入到流岀的流水线通过时间,以至于使其速度反而比顺序串行的还要低。

如果线性流水线各段经过的时间4,不等,其中瓶颈段的吋间为,则完成"个任9 所能达到的实际呑吐率
其加速比

n 9
Sp= -------------- -- ----------
为M + 5 —1)^1,
■■1
2.效率
流水线的效率是指流水线中的设备实际使用时间占整个运行时间之比•也称流水线设备的时间利用率。

由于流水线存在有建立时间和排空时间(最后一个任务流入到流出的时间),在连续完成"个任务的时间里,各段并不总是满负荷工作的。

如果是线性流水线,且各段经过时间相同,如图5・22那样,则在了时间里.流水线各
段的效率都相同,均为%•即
式中,分母m ・T 是时一空图中m 个段和流水总时间T 所圉成的总面积.分子加• 3 则 是时一空图中”个任务实际占用的总面积。

因此.从时一空图上看,效率实际上就是”个 任务占用的时一空区面积和勿个段总的时一空区面积之比。

显然,与吞吐率类似.只有当
加时,7才趋近于1。

同时还可看出,对于线性流水且每段经过时间相等时,流水线的效 率是正比干吞吐率的.即 n • M n
m 人
—T _”+“_])一 TP ・U 当然,对于非线性流水或线性流水但各段经过的时间不等时•这种成正比的关系就不 存在,此时应该通过画出实际工作时的时一空图才能分别求岀吞吐率和效率。

但至少可说 明,一般情况下,为提高效率滅少时一空图中空白区所采取的措施同样也会对提高吞吐率 带来好处。

正因为如此,在图5. 17的多功能流水线中,动态流水比起静态流水减少了空白 区,从而便流水线吞吐率和效率都得到提高。

如果流水线各段经过的时间不等,各段的效率就会不等,但是■参照图5.22・不难得 出整个流水线的效率
n
朴个任务实际占用的时一空区
— 加个段总的时一空区 IR
•-1
M
m •[工0 + (并—
整个流水线的效率。

相关文档
最新文档