6

このトピックで説明されているように、Intel システムでできるように、AMD システムでハードウェア プリフェッチャーをプログラムで無効にする方法はありますか

特に AMD Opteron Barcelona または Istanbul アーキテクチャ向けです。

4

2 に答える 2

5

すべての AMD ファミリ 10h プロセッサ (バルセロナとイスタンブールを含む) には、2 つの異なるハードウェア プリフェッチャーがあります。

  1. 1 つ目は、昇順または降順のキャッシュ ライン アクセスの連続ストリームを認識する従来のデータ キャッシュ プリフェッチャーです。MSRC001_1022 のビット 13 を "1" にすることで無効にできます。

  2. もう 1 つのハードウェア プリフェッチャーは、「メモリ コントローラー プリフェッチャー」です。これはやや一般的なプリフェッチャーですが、メモリ コントローラー内でのみ動作します (つまり、プリフェッチされたデータをコアに送信するのではなく、コアが要求したときにメモリ コントローラーがより迅速にデータを返せるようにするだけです)。

    • このプリフェッチャーの主な制御は、PCI 構成空間、関数 2、オフセット 11Ch にあり、追加の制御は関数 2、バルセロナの後のプロセッサのオフセット 1B0h にあります。
    • /dev/mem デバイスドライバーを介して PCI 構成スペースの値を更新することにより、「ライブ」バルセロナシステムでこのプリフェッチャーを無効にして再度有効にすることに成功しました。(家でこれを試さないでください!)
    • メモリ コントローラー プリフェッチャーのアクティビティは、UnitMask 02 および 04 を使用したハードウェア パフォーマンス カウンター イベント 1F0h によって示されます。
    • Shanghai/Istanbul/MagnyCours のメモリ コントローラ プリフェッチャーは「コヒーレントに」動作する (キャッシュ コヒーレンス プローブ操作がメモリ プリフェッチと共に発行されることを意味する) のに対し、バルセロナのメモリ コントローラ プリフェッチャーはキャッシュ コヒーレンス操作を発行しない (それらは行わない) ことに注意してください。キャッシュ ラインに対するコアの要求がメモリ コントローラーに到達するまで発行されます)。

上記の内容は、ファミリ 10h プロセッサの BIOS およびカーネル開発者ガイドに記載されています: http://support.amd.com/us/Processor_TechDocs/31116.pdf

于 2012-03-12T20:11:19.643 に答える
0

p407 の AMD サポート ドキュメントで指定されているように、msr ツールを使用して DC_CFG ビットを変更します。

http://support.amd.com/us/Processor_TechDocs/31116.pdf

于 2010-02-25T06:31:34.087 に答える