IPCEditの計算
IPCの計算は、一連のコードを実行し、それを完了するのに必要なマシンレベルの命令数を計算し、次に高性能タイマを使って実際のハードウェアでそれを完了するのに必要なクロックサイクル数を計算することによって行われます。 最終的な結果は、命令数をCPUクロックサイクルで割ったものになります。
プロセッサの 1 秒あたりの命令数と 1 秒あたりの浮動小数点演算数は、1 サイクルあたりの命令数と当該プロセッサのクロック レート(ヘルツで与えられる 1 秒あたりのサイクル)を掛け合わせることによって導き出すことができる。 実行中の特定のソフトウェアがプロセッサとどのように相互作用するか、そして実際にマシン全体、特にメモリ階層とどのように相互作用するかに依存します。 しかし、プロセッサの特徴によっては、平均よりも高いIPC値を持つ設計になる傾向があります。複数の算術論理演算ユニット(ALUは、初等的な算術演算と論理演算を実行できるプロセッササブシステム)の存在や、短いパイプラインが挙げられます。 異なる命令セットを比較する場合、同じチップ技術でより複雑な命令セットを実装した場合、より単純な命令セットの方がIPC値が高くなることがあります。しかし、より複雑な命令セットの方が、より少ない命令でより有用な作業を実現できる可能性があります。 IPCEdit
1 秒あたりの所定のレベルの命令は、高い IPC と低いクロック速度 (AMD Athlon や初期の Intel の Core Series など) からも、低い IPC と高いクロック速度 (Intel Pentium 4 やより少ない程度ですが AMD Bulldozer など) からも達成可能です。 どちらも有効なプロセッサ設計であり、この2つの選択は、歴史、エンジニアリングの制約、またはマーケティングの圧力によって決まることが多いのです。 しかし、高い IPC と高い周波数は、常に最高のパフォーマンスをもたらします。