1、一、吞吐率(一、吞吐率(TP,Though put rateTP,Though put rate)二、加速比(二、加速比(S S,Speedup ratioSpeedup ratio)三、效率三、效率(E(E,Efficiency)Efficiency)四、吞吐率、加速比和效率之间的关系四、吞吐率、加速比和效率之间的关系 五、流水线最佳段数的选择五、流水线最佳段数的选择第三节第三节 线性流水线的性能分析线性流水线的性能分析 一、吞吐率(一、吞吐率(TP,Though put rateTP,Though put rate)1.吞吐率的定义 流水线的吞吐率是指在单位时间内流水线所完成的任务数量或输
2、出的结果数量。即:TP=n/Tk 式中:n为任务数,Tk是处理完成n个任务所用的时间,(3.1)式是计算流水线吞吐率最基本公式。2.流水线各段的执行时间相等的吞吐率 若有一条k段的线性流水线,各段的执行时间相等,均为t。当n个任务是连续的理想情况下输入到流水线,流水线的时空图如图所示。空间 S4 1 2 3 n-1 n S3 1 2 3 n-1 n S2 1 2 3 n-1 n S1 1 2 3 n-1 n 时间 kt (n-1)t nt (k-1)t Tk各段执行时间均相等的流水线时空图 流水线完成n个任务所需要的总时间可从两方面来分析。一是从流水线的输出端看,用k个t输出第一任务,即kt为
3、“装入时间”,其余n-1个任务,每个t输出一个任务,即用n-1个时期周期输出n-1个任务。二是从流水线的输入端看,用n个t向流水线输入n个任务,另外还要用k-1个t作为流水线的“排空时间”。因此,流水线完成n个任务需要的总时间为:Tk=(n+k-1)t 代入式得到流水线各段时间均相等,连续输入n个任务的一条k段线性流水线的实际吞吐率为:nTP=(n+k-1)t m a xnn1T Plim(nk1)tt m axnT PT Pnk1 3.流水线各段的执行时间不相等的吞吐率 若有一条k段的线性流水线,各段的执行时间不相等,且分别为t1、t2、tk,即流水线中存在“瓶颈”流水段,连接图如图3.16
4、所示,相应的时空图如图3.17所示。那么,除第一个任务外,其余(n-1)个任务必须按“瓶颈”流水段的时间间隔maxt1、t2、tk连续流入流水线。因此,流水线存在“瓶颈”流水段时,连续输入n个任务的一条k段线性流水线的实际吞吐率为:S2S1S4S3输入输出t 3t t t 1 2 3 n 1 2 3 n 1 2 3 n 1 2 3 nS4S3S2S1时间i1tki(n-1)t2Tki12k=1nTPt(n1)max tt t ki、max12k1TPmax t t t、4.流水线“瓶颈”问题的两种解决方法(1)分离“瓶颈”流水段将流水线的“瓶颈”功能段部分再细分,分解成几个独立的子功能段,消除
5、执行时间不相等而带来的“瓶颈”段。例如,把图3.16所示的第二个流水段再细分为三个子流水段,分别为S2-1、S2-2和S2-3,如图所示。这样,每个流水段及子流水段的延迟时间均为t。(2)重复设置“瓶颈”流水段 如果由于结构等方面的原因,瓶颈流水段难以再细分,则可以通过重复设置瓶颈流水段,让多个瓶颈流水段并行工作,消除执行时间不相等而带来的“瓶颈”段。例如,把图所示的第二个流水段重复设置,流水线连接图如图所示。但是,采用瓶颈流水段重复设置的方法,其控制逻辑比较复杂。S1S2-2S2-3S3S4S2-1S2-1S2-2S2-3S4S3S1THANK YOUSUCCESS2022-12-28可编辑
6、1 2 3 4 5 6 7 8 9 n-2 n-1 n1 2 3 4 5 6 7 8 9 n-2 n-1n 1 4 7 n-2 2 5 8 n-1 3 6 9 n1 2 3 4 5 6 7 8 9 n-2n-1 n 1.加速比的定义 流水线的加速比是指完成同样一批任务,不使用流水线即顺序执行所用的时间与使用流水线所用的时间之比。如果不使用流水线所用的时间为T0,使用流水线的执行时间为Tk,则流水线的加速比为:S=T0/Tk 是计算流水线加速比的基本公式。二、加速比(二、加速比(S S,Speedup ratioSpeedup ratio)2.流水线各段的执行时间相等的加速比nktnkS=(k+
7、n1)tkn1maxnnks=lim=knk 3.流水线各段的执行时间不相等的加速比 i=1i12k=1ntSt(n1)m axt t t、kiki三、效率三、效率(E(E,Efficiency)Efficiency)1.效率的定义 流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段占用的总时空区之比。即:E=n个任务占用的时空区/k个流水段占用的总时空区式是计算流水线效率的基本公式,其分母是n个任务所用的时间与k个流水段所围成的时空总面积,分子是n个任务实际上占用的有效时空面积。因此,流水线的效率包含时间和空间两方面的因素,通过时空图来计算流水
8、线的效率非常方便。kt n k tnktnE=k(k+n)tk+n1 maxnnE=lim=1k+n1 2.流水线各段的执行时间相等的效率 各段的执行时间相等,均为t的k段的线性流水线,完成n个连续任务所需要的时间见式,每个功能段在这段时间内都被占用,则时空图的总面积为。一个任务占用的时空区为,n个任务实际占用的有效面积为各段的执行时间相等的流水线效率为:相应的流水线的最大效率为:从式中可以看出,当nk时,流水线的效率达到最大值1。这时,流水线的各段均处于忙碌状态。从时空图中看,每一块都是有效的。k(k+n)t 3.流水线各段的执行时间不相等的效率 i=1i12k=1ntEkt(n1)maxt
9、 t t kiki、四、吞吐率、加速比和效率之间的关系四、吞吐率、加速比和效率之间的关系E=TPtTP=E/tE=S/kS=kE 说明流水线的效率是流水线实际加速比S与它的最大加速比Smax=k之比。只有当流水线的效率达到其最大值,即E=1时,才能使实际加速比达到最大,即S=k。各段的执行时间不相等时,即流水线中存在“瓶颈”流水段,那么,除了瓶颈流水段一直处于忙碌状态之外,其他各个流水段都有空闲时间,这些流水段的效率没有得到充分发挥。因此,整个流水线的吞吐率、加速比和效率也比较低。采用两种提高流水线吞吐率的方法,由于能够使流水线中的各个流水段始终处于忙碌状态,没有空闲时间。因此,流水线的吞吐率
10、、加速比和效率也就显著提高了。五、流水线最佳段数的选择五、流水线最佳段数的选择假设在非流水线的机器上采用顺序执行方式完成一个任务所需要的时间为t,那么,在同等速度的有k段流水线的机器上执行一个任务需要的时间为:t/k+d,其中d为锁存器的延迟时间。流水线的最大吞吐率为:TP=1/(t/k+d)。又粗略地估计流水线的总价格为:C=a+bk。其中,a为所有流水段的总价格,b为每个锁存器的价格。流水线的性能价格比PCR定义为:maxP11PCR=Ct/kd abkk0=tadb 目前,一般处理机中的流水线段数在2段至10段之间,极少有超过15段的流水线,一般把8段或超过8段的流水线称为超流水线。THANK YOUSUCCESS2022-12-28可编辑
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。