バスロック

同カテゴリーの次の記事

主要な概念

この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Bus Lock」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS 環境でも十分ご利用いただけます。また、構成は英語版のヘルプと同じ階層構造にしてあります。


メトリックの説明

インテル® プロセッサーは、クリティカルなメモリー操作の間システムバスや同等なリンクをロックするため、自動的にアサートされる LOCK# シグナルを備えています。この出力シグナルがアサートされていると、ほかのプロセッサーやバス・エージェントからのバス制御要求はブロックされます。このメトリックは、バス上に LOCK# シグナルがアサートされている間のバスサイクル比率を測定します。キャッシュ不可なメモリーによるロックされたメモリーアクセス、2 つのキャッシュラインにまたがるロックされた操作、およびキャッシュ不可なページテーブルからのページウォークがある場合、LOCK# シグナルがアサートされます。

問題の可能性

バスロックには非常に高いパフォーマンス上のペナルティーが課せられます。メモリーの並行性を高めるため、ロックされたメモリーアクセスを使用しないことを強く推奨します。[Source (ソース)]/[Assembly (アセンブリー)] ビューで BUS_LOCK_CLOCKS.SELF イベントを調べることで、どこで LOCK# シグナルがアサートされているか分かります。自身がアサートしている場合、メモリー・レイテンシーや再発行などのバックエンドの問題を調べてください。イベントスキッドの原因となります。

関連項目

パフォーマンス・メトリックのリファレンス (英語)

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • ソースの表示ソースの表示 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Viewing Source」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • 結果の比較結果の比較 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Comparing Results」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • インテル® MIC アーキテクチャー解析のワークフローインテル® MIC アーキテクチャー解析のワークフロー この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Intel® Xeon Phi™ Processor (Code Name: Knights Landing) Analysis Workflow」の日本語参考訳です。Windows* […]
  • インテル® MIC アーキテクチャー解析のワークフローインテル® MIC アーキテクチャー解析のワークフロー この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Intel® Xeon Phi™ Processor (Code Name: Knights Landing) Analysis Workflow」の日本語参考訳です。Windows* […]
  • オプションの説明と一般的な規則オプションの説明と一般的な規則 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Option Descriptions and General Rule」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]