我遇到了一个问题,我需要计算两个系统的 MIPS,一个是单周期,一个是多周期。我不认为我做的数学是正确的,我希望有人能很好地解释我所缺少的。
计算 GHz 对于我的单周期系统...
我的理解是,单周期系统只能以最慢指令的速度运行。运行最慢的指令需要 3.96 x 10^(-10) 秒。这意味着它每秒可以运行该指令 1 / (3.96 x 10^(-10)) 次,即每秒 2.53 x 10^9 个周期,即 2.53 GHz。
计算 GHz 对于我的多周期系统...
我的一条多周期指令的平均速度是 3.6862 x 10^(-10) 秒。这意味着它每秒可以运行 1 / (3.682 x 10^(-10)) 次,即每秒 2.71 x 10^9 个周期,即 2.71 GHz。
...
好的,到目前为止对我来说很有意义。多周期系统效率更高,因此整体运行速度更快。但是在下一部分中,我得到了一个令人困惑的答案。
计算我的单循环系统的 MIPS 等级...
因为它是一个单循环系统,它自动有 1 个循环/instr。
2.53 x 10^9 (cycles / sec) / 1 (cycle / instr) =
2.53 x 10 ^ 9 (instr / sec) ->
2.53 x 10 ^ 9 / 10^6 (MIPS) =
2.53 x 10 ^ 3 (MIPS) =
2,530 MIPS <--- ??
这似乎很多。尤其是当您考虑我的下一个答案时。
计算我的多循环系统的 MIPS 等级...
我的多周期系统每条指令的平均周期数:4
2.71 x 10^9 (cycles / sec) / 4 (cycles / instr) =
.6775 x 10^9 (instr / sec) ->
.6775 x 10 ^ 9 / 10 ^ 6 (MIPS) =
677.5 MIPS
我的单周期系统不可能计算出几乎是多周期系统的 4 倍 MIPS,对吧?
我的计算一定有问题,否则我误解了这些系统工作方式的基本原理。
任何帮助将不胜感激。
非常感谢!