每秒指令等式

Instructions per second equation

这应该是一个简单的问题。

假设我们有一个 3.0 GHz 的处理器,CPI 为 1.5 它每秒执行多少条指令?只是从逻辑上思考,这将是每秒的周期数乘以每个周期的指令数……也就是……

3×109cycles/second×1.5instructions/cycle=4.5×109instructions/second

有道理。好的,这是我书中的一个问题,我查找解决方案只是为了 确定 我理解并做对了。那么解决方案说它是:

3×109/1.5 = 2×109 instructions/sec

这个答案来自时钟 rate/CPI 部分,但我真的无法理解如何......如果你像这样子进入时钟 rate/cpi : (clock cycles/sec)/(instructions/clock cycle),它基本上与原始方程相反,因为你将周期除以指令而不是将它们相乘......而且单位甚至不会抵消,你以周期2/指令×秒为单位结束。我必须遗漏一些非常明显的东西 here/botching 基础数学,但我的豌豆大脑没有理解它。

这里有一些相对基础的数学:

      Instructions
IPS = ------------
         Second

您可以将某项乘以 1 而不会改变结果,并且由于 X / X = 1,我们可以执行以下操作:

      Instructions        Instructions   Clock Cycles
IPS = ------------  x 1 = ------------ x ------------
        Seconds             Seconds      Clock Cycles

然后您可以按如下方式重新排列分数:

      Instructions   Clock Cycles
IPS = ------------ x ------------
      Clock Cycles     Seconds

这为您提供了所提供公式的中间部分。

然后,给定:

      Clock Cycles                    Clock Cycles
CPI = ------------  and  Clock Rate = ------------
      Instructions                      Seconds

并且因为 1 / (A/B) = B/A:

 1    Instructions
--- = ------------
CPI   Clock Cycles

因此:

       1                 Clock Rate
IPS = --- x Clock Rate = ----------
      CPI                   CPI