Linuxを実行するIntel x86プラットフォームでは、C/C++では、L1/L2キャッシュに値(uint32など)を格納するようにOSとハードウェアに指示する方法L2キャッシュ、システムメモリにはありませんか?たとえば、セキュリティやパフォーマンス上の理由から、32ビットのキー(32ビットの符号なしint)をDRAMに格納する必要はなく、代わりにプロセッサのキャッシュにのみ格納したいと考えています。これどうやってするの?私はIntel XeonプロセッサでFedora 16(Linux 3.1とgcc 4.6.2)を使用しています。システムメモリの代わりにプロセッサキャッシュにC/C++変数を格納する
ご協力いただきありがとうございます。
短い回答:できません。データをキャッシュに保持する "トリック"をすることはできますが、キャッシュには何も固定することはできません。 – Mysticial
セキュリティ上の理由から、プログラムを簡単に逆アセンブルできれば、それをキャッシュに隠すことを試みても大して役に立たないでしょう。 –
それを置いても、永久的ではありません。それをキャッシュに入れてキーを読んでどこから始めるのですか? –