2013-08-29 78 views
5

CPU緩存處理物理或虛擬地址嗎?如果它處理虛擬地址,這是否意味着它必須清空上下文切換,假設新線程來自另一個進程。CPU緩存條目是否包含物理或虛擬地址?

+0

它不需要在線程交換機上清空(如果處理虛擬地址),只是其條目變得陳舊,並且最終將被覆蓋並重用。順便說一句,你的問題只依賴於硬件(並且與'C','Linux'或'gcc' ......無關)。 –

回答

1

CPU只能理解虛擬地址。硬件負責虛擬到物理地址轉換。當然,虛擬地址必然會被綁定到一個特定的進程。

+2

這取決於處理器的型號。 –

3

這取決於處理器型號。 Some processors use both.(請參閱「Virtual tags and vhints」部分中的「SPARC」。)

您已使用x86-64標記此問題,並且可以爲所有x86-64模型給出答案,但我不是確定架構規範是否指定符合規範的處理器是否必須使用一個或另一個來獲取緩存信息。

相關問題