インテル® VTune™ プロファイラーのマイクロアーキテクチャー全般解析により提供される CPU マイクロアーキテクチャー・メトリックの μPipe 分布図を調べて、非効率な CPU 利用率を特定します。
マイクロアーキテクチャー全般解析の結果が収集されると、インテル® VTune™ プロファイラーはトップダウン・マイクロアーキテクチャー解析法 (TMA) に基づいて、ターゲット・アプリケーションのパフォーマンスの概要を示す [サマリー] ウィンドウを開きます。分布図を、次の比率に等しい出力フローを持つパイプとして扱います。実際にリタイアした命令/最大命令リタイアの可能性 (パイプ効率)。リタイアを低下させるパイプライン・ストールがあると、パイプの形状が狭くなります。
µPipe は、1 つのマイクロオペレーションを処理するために必要なハードウェア・リソースを表す CPU パイプライン・スロットを基にしています。通常、複数のパイプライン・スロットが利用可能です (パイプライン幅)。パイプライン・スロットがリタイアしない場合、ストールしていると考えられます。リタイアしたパイプライン・スロットの割合は、CPU マイクロアーキテクチャーの効率を示します。すべての CPU サイクルでストールが発生していない場合、CPU の実行効率は 100% であるとみなされます。
パイプライン・スロットが停止する理由は複数考えられ、その理由と根本的な原因を特定することが、TMA モデルに基づく CPU マイクロアーキテクチャーのパフォーマンス解析の目的です。
マイクロアーキテクチャー全般ビューポイントの µPipe では、上位レベルの CPU マイクロアーキテクチャー・メトリックをパイプライン内のスロット全体の割合として視覚化します。ここでは、すべてのストールはパイプを狭める問題として表示されます。
パイプは、3 つのカラムと 5 つの行に分割され、各行はパイプラインの高レベルのメトリックを示します。
パイプ全体の高さは一定値です。それぞれの行の高さは、対応するメトリックによって表される割合と同じです。
赤色はパフォーマンスの問題の可能性を示します。分布図の緑色の割合から、実行効率がどの程度良いか判断できます。パイプ形状は既存の CPU マイクロアーキテクチャーの問題を明確に示し、一般に次のパターンに区分することができます。
A | 重大な問題はありません |
B | メモリー依存の実行 |
C | コア依存の実行 |
D | フロントエンド依存の実行 |
E | 投機の問題 (分岐予測ミスなど) |
F | メモリーと投機の問題の組み合わせ |
これは、フロントエンド依存とコア依存の重大な問題を示すパイプの例であり、全体の効率が 24.4% に制限されています。
これは、フロントエンドの問題を持つ比較的良好な CPU 実行効率の例です。