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

SMC マシンクリア

メトリックの説明

ある種のイベントは、パイプライン全体をクリアして、最後にリタイアした命令の直後から再開する必要があります。このメトリックは自己修正コード (SMC) イベントのみを測定します。このイベントは、プログラムがほかのプロセッサーや、データページとして共有される自身のコード領域に書き込みを行う回数をカウントして、パイプライン全体とトレースキャッシュをクリアします。自己修正コードは、インテル® アーキテクチャー・ベースのすべてのプロセッサーで深刻なペナルティーを引き起こします。

考えられる問題

実行時間の大部分が、自己修正コードイベントによって発生したマシンクリアの処理に費やされています。動的に変更されるコード (例えば、ターゲット修正) は、SMC によるパフォーマンスの低下につながる可能性があります。これを避けるには、間接分岐とレジスター間接呼び出しを利用してデータページ (コードページではなく) 上のデータテーブルを使用します。

関連情報