4

CPU キャッシュにアクセスできるようにする機能が C# に実装されているかどうかを知りたいです。私にとっては興味深いことですが、現時点ではCPUキャッシュとは何の関係もありません。だから私はそれがシステム限定のアクセスなのか、それともユーザーにも利用できるのか疑問に思っていました. 私はL1/L2またはそれらが呼ばれるものについて話している!

コメント、外部リンク、コード スニペットなどをお待ちしております。ありがとう。

4

3 に答える 3

11

CPUキャッシュに直接アクセスできるプログラミング言語はありません。キャッシュの読み取りと書き込みは、ハードウェアによって自動的に行われるものです。キャッシュを任意の種類の個別のエンティティとして扱う命令を作成する方法はありません。キャッシュへの読み取りと書き込みは、メモリにアクセスするすべての命令の副作用として発生します。

于 2011-05-27T12:15:31.323 に答える
4

C# は、この種のアクティビティには少しレベルが高すぎます。C/ASM で書かれた他のライブラリを呼び出す場合を除きます =) もちろん、一般的にキャッシュを操作することはかなりあいまいなトピックであり、ほとんどの場合、ハードウェアによって完全に制御されます。一方で、SO に関する非常に興味深い質問や議論がいくつかあり、すでに出くわしている可能性があります。

C++ キャッシュ対応プログラミング
x86 Windows で CPU キャッシュ フラッシュを実行するにはどうすればよいですか?

いずれにせよ、制限があるにもかかわらず、キャッシュが何をするかを (ある程度) 予測し、それを特別なアプリケーションに利用することができます。

于 2011-05-27T12:18:29.473 に答える