什么是IPC?
IPC=InstructionUnhaltedCyclethread
- Instruction,即某个固定时间段内系统完成的指令数,考虑到系统中任何形式的应用都是由指令完成,且在不修改应用(代码逻辑)的前提下完成固定的任务所需的指令数是相同的。所以这里的指令数就是一个与系统性能直接挂钩的指标。
- UnhaltedCycle,即非空时钟周期。不多展开的话,默认CPU会在空闲时执行HALT指令(空指令)作为占位。另,thread下标则是考虑到CPU超线程(HT)技术。
- 而如果说总时钟周期这个指标——Cycle,实际上就是CPU频率的倒数,最重要的产品指标之一。当然,这里如果我们不考虑turbo/speedstep这类向功耗或者发热妥协技术的存在,这个值就是固定的。
- 所以数学意义上的IPC实际上就是指:单位时间CPU的指令吞吐量。