インテル® VTune™ Amplifier 2018 ヘルプ

リタイアした命令イベント

リタイアした命令は、実行を完了した命令数を示す重要なハードウェア・パフォーマンス・イベントです。

現代のプロセッサーは、プログラムフローが必要とするよりも多くの命令を実行することができます。これは、投機的実行 (speculative execution) と呼ばれます。プログラムの実行フローで確実に必要であると「証明された」命令は、「リタイア」します。

コアのアウトオブオーダー (OOO) パイプラインにおいて、リタイアメント・ユニットを離れるということは、命令が実行され、その結果が正しく、インオーダーで実行された場合と同様にアーキテクチャー状態で見えることを意味します。

リタイアメントと可視レジスターへの状態のライトバックは、命令とマイクロオペレーションが正しい実行パスで完了した時にのみ行われます。誤って予測されたパスの命令とマイクロオペレーションは、予測ミスとしてフラッシュされ、正しいパスが続行されます。正しく実行されたパスの命令リタイアは、次の 2 つの条件が満たされたときに行われます。

インテル® VTune™ Amplifier は、サンプリング・モードではパフォーマンス・モニタリング・カウンター (PMC) 解析として知られる、ハードウェア・イベントベース・サンプリング (EBS) に基づくすべての解析タイプのリタイアした命令イベントをモニターします。リタイアした命令イベントは、アプリケーションの実行に影響するレイテンシー量を示す Clockticks per Instructions Retired (CPI) (リタイアした命令ごとのクロック数) 基本メトリックの一部でもあります。

パフォーマンス解析では、OOO パイプラインで実行を開始した命令数 (ISSUED カウンター、または EXECUTED カウンター) をチェックし、リタイアした命令数と比較します。比較の差が大きい場合、CPU は不必要なワークを実行し、電力を浪費していることを示します。

関連情報