インテル® VTune™ プロファイラー・ユーザーガイド

バックエンド依存

メトリックの説明

バックエンド依存のメトリックは、バックエンドで新しい uOps を受け入れるリソースが不足しているため、uOps が転送されないパイプライン・スロットの比率を表します。バックエンドはプロセッサー・コアの一部であり、準備が整った uOps をアウトオブオーダー・スケジューラーが対応する実行ユニットにディスパッチし、操作が完了すると、uOps はプログラムの順番でリタイアしていきます。例えば、データキャッシュのミスによるストールや、除算器への高負荷によるストールは、どちらもバックエンド依存に分類されます。バックエンド依存はさらにメモリー依存とコア依存の 2 つのカテゴリーに分類されます。

考えられる問題

パイプライン・スロットの大部分は空のままです。バックエンドで操作に長い時間を要すると、パイプラインにバブルが生じて、マシンがサポートするよりも、サイクルごとにリタイアされる有用なワークを含むスロットが少なくなります。その結果実行が遅くなります。除算やメモリー操作など長いレイテンシーの操作は、単一の実行ポートに多くの操作が送られると (例えば、実行ユニットがサイクルあたりにサポートできるよりも、多くの乗算操作がバックエンドに割り当てられる場合)、この原因となります。

関連情報