Windows保護模式學習筆記(十三)—— PWT&PCD
-
- 要點回顧
- CPU緩存
-
- CPU緩存與TLB的差別
- PWT(Page Write Through)
- PCD(Page Cache Disable)
要點回顧
在學習PDE與PTE的屬性時,我們對兩個位做了保留,并沒有說明其作用,那就是今天要學習的PWT位與PCD位
CPU緩存
描述:
- CPU緩存是位于CPU與實體記憶體之間的臨時存儲器,它的容量比記憶體小的多,但是交換速度(讀寫速度)比記憶體要快得多
- CPU緩存可以做的很大,有幾K、幾十K、幾百K、甚至上M,這決定于CPU的版本
CPU緩存與TLB的差別
TLB:
存儲了與
線性位址
之間的對應關系
實體位址
CPU緩存:
存儲了與
實體位址
之間的對應關系
内容
有了CPU緩存,當CPU再去查找/讀取某一個線性位址對應的實體頁時,就可以:
- 先查TLB,找到它的實體位址
- 再找CPU緩存,找到它的内容
CPU緩存的大小決定了CPU的執行速度(CPU緩存越大,速度越快,當然也會越貴)
注意:
- 更多關于CPU緩存的細節請參考Intel白皮書第三卷第11章
- 不同的版本,章節順序可能不一樣,請參考章節标題
PWT(Page Write Through)
PWT=1
:寫Cache的時候也要将資料寫入記憶體中
PWT=0
:寫Cache的時候就隻是寫Cache,是否要映射到記憶體由CPU緩存控制器自己決定
PCD(Page Cache Disable)
PCD=1
:禁止某個頁寫入緩存(直接寫入記憶體)
比如:做頁表用的頁,已經存儲在TLB中,可能就不需要再做緩存,而它的PCD一定為1