IPC

読み: あいぴーしー

アイピーシー:CPUが1クロックで実行できる命令数の目安(性能指標)

IPC

概要

IPC(Instructions Per Cycle)は、CPUが「1クロック(1周期)」あたりに平均してどれくらいの命令を処理できるかを表す指標。クロック周波数と並んで、CPU性能を左右する重要な要素として扱われる。

どう解釈するか

  • IPCが高い:同じクロックでも、より多くの処理を進められる傾向
  • IPCが低い:クロックが高くても、1周期あたりの進みが小さい可能性
概念的には 処理性能 ≒ クロック周波数 × IPC ×(コア数など) のように捉えられる(ただし実際はメモリ待ち等で変動する)。

IPCが変わる主な要因

CPUアーキテクチャ

パイプライン(パイプライン:処理を段階分けして流れ作業にする設計)、実行ユニット数、分岐予測、アウトオブオーダー実行などで伸びる。

キャッシュとメモリ待ち

命令やデータがキャッシュに乗るかどうかで、実行が止まってIPCが下がることがある。

命令の種類・分岐の多さ

単純計算中心か、分岐・依存関係が多いかでIPCは変動しやすい。

コンパイラ/最適化

ソフト側の最適化や命令の並べ方で、CPUが効よく並列実行できるかが変わる。

使うときの注意点

  • IPCは「CPUの固定の値」ではなく、ワークロード(処理内容)で大きく変わる
  • 世代比較で「IPCが○%向上」と言う場合、測定条件やベンチマークに依存する
  • 実用性能は、IPCだけでなくクロック、コア数、メモリ帯域、電力制限もセットで見るのが基本