IPC和CPI之间的差异

时间:2013-09-11 13:40:43

标签: computer-science

IPC和CPI是否只是相互反转?还是不是那么简单?

从我读过的内容来看,它们非常相似,很难看出它们是否只是相互反转,或者它们是否存在真正的差异。

编辑:对不起,我没有澄清,但是,我的意思是每个周期的指令和每个指令的周期。

EDIT2:我想我找到了答案。它们不是简单的反转,它们是乘法反转,与正常反转有点不同。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

每个时钟周期的指令数,或

  

IPC =运行程序时执行的指令数/   执行程序所需的时钟周期数

执行每条指令所需的时钟周期数

  

CPI =执行程序所需的时钟周期数/运行程序时执行的指令数

两个指标都提供相同的信息和根据哪个值大于数字1来选择使用哪个一般

对于每个周期可以执行多个指令的系统,每个周期执行的指令数,或者通常使用IPC而不是CPI

假设存在一个循环,其中80条指令被执行了42次,并且总共执行了10,000个循环来执行该程序,因此,

执行的总指令= 80 x 42 = 3360

  • CPI = 10000/3360 = 2.97
  • IPC = 3360/10000 = 0.33

modern (intel)superscalar CPUs retire 4 instruction per cycle (IPC); so ideal CPI for modern processors = 1/4 = 0.25。 因此,通过比较理想和实际,您可以知道您的代码可能会停滞不前。无法利用处理器内的计算资源!