問題タブ [msr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
intel - wrmsr操作は例外を許可されていませんか?
私は、HPC システムの研究プロジェクトの 1 つに電力を節約するためにプロセッサ周波数を操作するための msr レジスタに取り組んでいました。私は次のことをしました:
Intel が Github で提供している msr-tools-master コードを使用して変更したいと考えています。次のことを行いました。
オペレーティングシステムは次のとおりです。
プロセッサの詳細:
次のデバッグを試してみましたが、うまくいきませんでした:
ファイルの前提条件は次のとおりです。
今、私たちは立ち往生しています。どんな助けでも大歓迎です。
ありがとう。
x86 - 最新の x86/amd64 チップで L1、L2、L3 CPU キャッシュをオフにするにはどうすればよいですか?
x86/x86_64 アーキテクチャのすべての最新の高性能 CPU には、L1、L2、場合によっては L3 (非常にまれなケースでは L4) というデータ キャッシュの階層があり、メイン RAM から読み込んだデータはそれらのいくつかにキャッシュされます。
プログラマーは、一部またはすべてのキャッシュ レベルで一部のデータをキャッシュしないようにする場合があります (たとえば、16 GB の RAM を memset し、一部のデータをキャッシュに保持したい場合)。これは MOVNTDQA のようです ( https://stackoverflow.com/a/37092 http://lwn.net/Articles/255364/ )
しかし、キャッシュの一部またはすべてのレベルを完全に (ただし一時的に) オフにして、すべてのメモリをアクセス命令 (グローバルまたは一部のアプリケーション / RAM の領域) はメモリ階層を使用しますか? 例: L1 をオフにし、L1 と L2 をオフにしますか? または、すべてのメモリ アクセス タイプを「キャッシュされていない」UC (CR0 の CD+NW ビット??? SDM vol3a ページ423 424、425および「第 3 レベル キャッシュ無効化フラグ、IA32_MISC_ENABLE MSR のビット 6 (ベースのプロセッサでのみ使用可能) Intel NetBurst マイクロアーキテクチャ) — L1 および L2 キャッシュとは関係なく、L3 キャッシュを無効および有効にできます。")
このようなアクションは、AES キーの盗難、隠しキャッシュ チャネル、Meltdown/Spectre などのキャッシュ サイド チャネル攻撃/リークからデータを保護するのに役立つと思います。ただし、この無効化には膨大なパフォーマンス コストがかかります。
PS: 何年も前に技術ニュース Web サイトにそのようなプログラムが投稿されたことを覚えていますが、今は見つかりません。いくつかの魔法の値を MSR に書き込み、その後実行されるすべての Windows プログラムを非常に遅くするのは、単なる Windows exe でした。キャッシュは、再起動するか、「元に戻す」オプションでプログラムを開始するまでオフになっていました。