CPUキャッシュは物理アドレスまたは仮想アドレスを処理しますか?仮想アドレスを扱う場合、新しいスレッドが別のプロセスからのものであると仮定して、コンテキストスイッチで空にすることを意味しますか?CPUキャッシュエントリに物理アドレスまたは仮想アドレスが含まれていますか?
5
A
答えて
1
CPU
は仮想アドレスのみを認識できます。 MMU
ハードウェアは仮想アドレスから物理アドレスへの変換を担当します。もちろん、仮想アドレスは特定のプロセスにバインドされています。
+2
これはプロセッサモデルによって異なります。 –
3
これはプロセッサモデルによって異なります。 Some processors use both.(「バーチャルタグとvhints」の「SPARC」を参照してください)
この質問にはx86-64というタグが付けられていますが、これまでのすべてのx86-64モデルについて回答が得られましたが、アーキテクチャ仕様が、仕様に準拠するプロセッサがキャッシュ情報にどちらか一方を使用する必要があるかどうかを指定するかどうかを確認してください。
関連する問題
- 1. 仮想アドレスを物理アドレスに戻してマップします
- 2. 関数ポインタ:物理アドレスまたは仮想アドレス
- 3. MACアドレスがLinux上の物理アドレスか仮想アドレスかを判断します
- 4. GDB CallStack仮想または物理アドレスを指定しますか?
- 5. Linuxのsk_buffでは、skb-> dataは物理アドレスか仮想アドレスですか?
- 6. キャッシュメモリを考慮した仮想アドレスから物理アドレスへの変換
- 7. 仮想アドレスと仮想アドレス空間の理解
- 8. は、仮想アドレス
- 9. MACアドレスなどの仮想マシンの仮想マシンから物理ホスト情報を取得します。
- 10. Linuxの物理アドレスを仮想アドレスに変換し、その内容を読み取ってください。
- 11. リモートIPアドレスと物理アドレスの違い
- 12. 仮想アドレスはプロセス固有ですか?
- 13. x86の仮想アドレス長
- 14. リンカスクリプトのロードと仮想アドレス
- 15. カーネル仮想アドレス変換
- 16. 自動仮想アドレスをメモリアドレスに変換しますか?
- 17. CPUは周辺デバイスの物理アドレス範囲をどのように知っていますか?例えば
- 18. 仮想アドレスにイメージをロードする0X00000
- 19. 仮想アドレスの割り当て方法
- 20. 仮想呼び出しは、純粋仮想メンバーのアドレスを使用します。それは合法ですか?
- 21. Android仮想アドレスの検索方法は?
- 22. 仮想アドレス0x1FE0C0が "行"より下か、行の上にありますか?
- 23. GeoLocation UKへの物理アドレス
- 24. Genymotionは仮想ボックスからIPアドレスを取得しませんでした
- 25. ローカルの「購入先」情報、IPアドレス、または物理アドレスを表示するには、どのような方法が適していますか?
- 26. mips:アドレスにも値も含まれています
- 27. Java仮想マシンはすべてのJavaソフトウェアに含まれていますか?
- 28. プロセスのアドレス空間と仮想メモリ
- 29. 複数のスレッドの仮想アドレス空間?
- 30. カーネル関数は異なる仮想アドレスを持つことができます
スレッドスイッチで(仮想アドレスを扱っている場合)空にする必要はありません。そのエントリだけが失効し、最終的に上書きされて再利用されます。ところで、あなたの質問はハードウェアにのみ依存しています( 'C'、' Linux'、 'gcc'などとは関係ありません)。 –