我在计算流水线加速比方面有很多困难。这是我在“计算机组织”类中提供的幻灯片。

我不太明白公式。
为什么是2n?为什么是0.5n + 1.5?
我的教授开始解释说,1.5来自于从A开始到B starts...and之间的1.5小时,这样的图片很容易看到,但问题是……
假设您有一个具有10级流水线的流水线机器和一个具有1000个指令的程序,这些指令的依赖关系使管道不会停止。如果管道的每一阶段都需要一个周期,那么与在同一台机器上执行程序而不利用管道相比,流水线所获得的加速比是什么?
我不认为我可以仅仅画一个picture...plus,我知道一定有更好的方法比画一张图。
有人能用流水线和/或在线提供一些很好的材料来理解这一点吗?
发布于 2015-10-28 20:34:46
我遇到的管道的典型例子是流水线!所以,假设你把are作为完成的五个阶段,每个阶段都涉及不同的资源;当E被工作时,可以做and的资源是空闲的,而流水线利用这些来获得某种形式的并发性。
所以你的时间线看起来是这样的--假设你有1000个工作项,每个工作项都做以上的1。如果没有流水线,你基本上会重复above 1000次,导致时间间隔5000!2。使用流水线,你将得到第一轮的above,然后每隔一次你就会得到一个输出,即
A-B-C-D-E // ends at t=5
__A-B-C-D-E // ends at t=6!
____A-B-C-D-E // ends at t=7!
.....
......
............
A-B-C-D-E // 1000th process ends at t=1005 (starts at t=1000)我想您也可以将其扩展到10阶段流水线情况下。
https://stackoverflow.com/questions/33400846
复制相似问题