2013-08-29 13 views
5

CPUキャッシュは物理アドレスまたは仮想アドレスを処理しますか?仮想アドレスを扱う場合、新しいスレッドが別のプロセスからのものであると仮定して、コンテキストスイッチで空にすることを意味しますか?CPUキャッシュエントリに物理アドレスまたは仮想アドレスが含まれていますか?

+0

スレッドスイッチで(仮想アドレスを扱っている場合)空にする必要はありません。そのエントリだけが失効し、最終的に上書きされて再利用されます。ところで、あなたの質問はハードウェアにのみ依存しています( 'C'、' Linux'、 'gcc'などとは関係ありません)。 –

答えて

1

CPUは仮想アドレスのみを認識できます。 MMUハードウェアは仮想アドレスから物理アドレスへの変換を担当します。もちろん、仮想アドレスは特定のプロセスにバインドされています。

+2

これはプロセッサモデルによって異なります。 –

3

これはプロセッサモデルによって異なります。 Some processors use both.(「バーチャルタグとvhints」の「SPARC」を参照してください)

この質問にはx86-64というタグが付けられていますが、これまでのすべてのx86-64モデルについて回答が得られましたが、アーキテクチャ仕様が、仕様に準拠するプロセッサがキャッシュ情報にどちらか一方を使用する必要があるかどうかを指定するかどうかを確認してください。

関連する問題