IPC和CPI是否只是相互反转?还是不是那么简单?
从我读过的内容来看,它们非常相似,很难看出它们是否只是相互反转,或者它们是否存在真正的差异。
编辑:对不起,我没有澄清,但是,我的意思是每个周期的指令和每个指令的周期。
EDIT2:我想我找到了答案。它们不是简单的反转,它们是乘法反转,与正常反转有点不同。谢谢你的帮助。
答案 0 :(得分:2)
每个时钟周期的指令数,或
IPC =运行程序时执行的指令数/ 执行程序所需的时钟周期数
执行每条指令所需的时钟周期数
CPI =执行程序所需的时钟周期数/运行程序时执行的指令数
两个指标都提供相同的信息和根据哪个值大于数字1来选择使用哪个一般
对于每个周期可以执行多个指令的系统,每个周期执行的指令数,或者通常使用IPC而不是CPI
假设存在一个循环,其中80条指令被执行了42次,并且总共执行了10,000个循环来执行该程序,因此,
执行的总指令= 80 x 42 = 3360
modern (intel)superscalar CPUs retire 4 instruction per cycle (IPC); so ideal CPI for modern processors = 1/4 = 0.25。 因此,通过比较理想和实际,您可以知道您的代码可能会停滞不前。无法利用处理器内的计算资源!