通过流水线加速
Speed up with pipelining
考虑一个非流水线处理器,其时钟速率为 2.5 GHz,每条指令的平均周期为 4。同一处理器升级为五级流水线处理器;但由于内部流水线延迟,时钟速度降至 2 GHz。假设管道中没有停顿。在此流水线处理器中实现的加速 is_______________.
My Solution
加速=旧执行time/New执行时间
旧执行时间 = CPI/2.5 = 4/2.5 = 1.6 ns
使用流水线,每条指令需要旧的执行时间 * 旧的 frequency/new 频率(没有流水线)= 1.6 * 2.5 / 2 = 2 ns
有 5 个阶段,当没有流水线停顿时,这最多可以提高 5 的速度(当所有阶段都采用相同的周期数时会发生这种情况)。所以,平均执行时间 = 2 / 5 = 0.4 ns
因此,与非流水线版本相比加速 = 1.6 / 0.4 = 4
参考:问:12.10 http://faculty.washington.edu/lcrum/Archives/TCSS372AF06/HW8.doc
这个解决方案是否正确?答案为 3.2
从你给的link中,我发现5个周期可以完成的指令数是4条。
因此流水线处理器的平均执行时间 = 2/4 =0.5 ns。
所以加速是 1.6/0.5 = 3.2 :)
考虑一个非流水线处理器,其时钟速率为 2.5 GHz,每条指令的平均周期为 4。同一处理器升级为五级流水线处理器;但由于内部流水线延迟,时钟速度降至 2 GHz。假设管道中没有停顿。在此流水线处理器中实现的加速 is_______________.
My Solution
加速=旧执行time/New执行时间
旧执行时间 = CPI/2.5 = 4/2.5 = 1.6 ns
使用流水线,每条指令需要旧的执行时间 * 旧的 frequency/new 频率(没有流水线)= 1.6 * 2.5 / 2 = 2 ns
有 5 个阶段,当没有流水线停顿时,这最多可以提高 5 的速度(当所有阶段都采用相同的周期数时会发生这种情况)。所以,平均执行时间 = 2 / 5 = 0.4 ns
因此,与非流水线版本相比加速 = 1.6 / 0.4 = 4
参考:问:12.10 http://faculty.washington.edu/lcrum/Archives/TCSS372AF06/HW8.doc
这个解决方案是否正确?答案为 3.2
从你给的link中,我发现5个周期可以完成的指令数是4条。
因此流水线处理器的平均执行时间 = 2/4 =0.5 ns。
所以加速是 1.6/0.5 = 3.2 :)