流水线的几个指标总结

来源:互联网 发布:客所思声卡变女声数据 编辑:程序博客网 时间:2024/04/30 15:41

在流水线这部分的理解中,需要再脑海中绘制一幅图:

这里写图片描述

横轴是时间在流动,纵向表达的是指令的阶段。这样,斜着往右上角的同色的颜色块是一条指令的执行。用一条平行于纵轴的线从0时开始往右移动,切到的块数就是同一时刻在并行的段。
如图,分为四个阶段,那么前面四个阶梯就是在性能爬坡阶段,直到四个段可以同时并行,这样以后每一个段的执行时间块结束就会有一条指令执行结束。也称作一条指令流出流水线。

吞吐率

定义

单位时间内流水线完成的任务数量。

基本计算公式

TP(ThroughPut)=nTk,nTk

在流水线中的计算公式:

TP=n(k+n1)δt

解释就是:n个任务在性能爬坡阶段用时k段个时间完成一个指令,后面的n-1条指令会在n-1个时间段内完成,也就是一段时间就会有一条指令流出流水线。

加速比(S)

定义

不使用流水线所用的时间与使用流水线所用的时间比即为加速比。
注意加速比大于1就可以了。

计算

S=knδt(k+n1)δt=kn(k+n1)

简单求这个极限可知,n时,S1

这个极限的意思是:流水线分段数目有限时,对于很多很多任务的加速效果不明显的。但是在正常有限数字内,加速比总是大于1的。

效率

这个有些难以接受或者理解,but,值得try.

定义

流水线的设备利用率被称为流水线的效率。

简单说就是,一条指令将调动不同的部件完成任务。但是在一个设备忙的时候,其他设备可以在忙也可以在休息。理论上,在同一个时刻最大可以有k个部件同时工作。事实上做不到,因为即使是采用流水线也得有一个性能爬坡阶段。

因此这里的计算主要讲的是流水线的设备利用率计算。

流水线中的效率(E)计算

完成n个任务占用的时空区的有效面积与采用流水线完成n个任务所占的时空区面积。

这个概念模拟推演了好几次我才真的明白说的是什么。

有效面积是什么?总面积又是什么?

需要明确的是,有效面积指的是设备真的在工作的那一块。可以画图数格子,也可以这么分析:每一条指令的完成一定用了k个格子,一个格子大小是kδt,则有效面积是:nkδt

再来明确什么是时空区总面积,这个其实也很好理解:每时每刻最大可以有k个设备在工作。那么,总面积就是kTkTk线

我们知道流水线完成任务的时空图是左右有锯齿形的平行四边形,总面积就是补齐左右的倾斜得到的矩形的面积。

那么计算:

E=nkδtkTk=T0kTk==nk+n1

所以,效率也等于加速比除以段数,即:E=Sk

即使是流水线,效率也是小于1的。

以上。

1 0
原创粉丝点击