1
您可能會將這些位識別爲已訪問位和髒位。現在x86 PTE包含這些位。比方說,TLB也包含這些位。在TLB命中的情況下,如果訪問或修改它們所涉及的頁面框架,這些位將由硬件設置。我的問題是這些位什麼時候被硬件複製回PTE,以及這些位何時完成(特別是在軟件託管TLB的情況下)?TLB和PTE中的引用位和已修改位
PS - 我想知道這一點,因爲我試圖設計和測試頁面替換算法。
您可能會將這些位識別爲已訪問位和髒位。現在x86 PTE包含這些位。比方說,TLB也包含這些位。在TLB命中的情況下,如果訪問或修改它們所涉及的頁面框架,這些位將由硬件設置。我的問題是這些位什麼時候被硬件複製回PTE,以及這些位何時完成(特別是在軟件託管TLB的情況下)?TLB和PTE中的引用位和已修改位
PS - 我想知道這一點,因爲我試圖設計和測試頁面替換算法。
x86 CPU沒有軟件託管的TLB。如果你想模擬這樣的事情,你需要在普通的TLB之上實現它,就像你將物理頁映射和解映射到虛擬地址空間一樣:攔截頁錯誤處理器中的頁面訪問,修改PDE/PTE,根據需要使TLB條目無效,並在多處理器系統的情況下特別小心。
由CPU將訪問和髒位設置爲1對軟件是透明的,因此,一旦訪問了頁面,您應該立即看到更改。
有關更多詳細信息,請參閱「英特爾®64和IA-32架構軟件開發人員手冊」。獲得結合第1捲到第3卷的pdf,以便在一個地方獲得所有必要的信息。