天天看點

Windows保護模式學習筆記(十三)—— PWT&PCD

Windows保護模式學習筆記(十三)—— PWT&PCD

    • 要點回顧
    • CPU緩存
      • CPU緩存與TLB的差別
    • PWT(Page Write Through)
    • PCD(Page Cache Disable)

要點回顧

在學習PDE與PTE的屬性時,我們對兩個位做了保留,并沒有說明其作用,那就是今天要學習的PWT位與PCD位

CPU緩存

描述:

  1. CPU緩存是位于CPU與實體記憶體之間的臨時存儲器,它的容量比記憶體小的多,但是交換速度(讀寫速度)比記憶體要快得多
  2. CPU緩存可以做的很大,有幾K、幾十K、幾百K、甚至上M,這決定于CPU的版本

CPU緩存與TLB的差別

TLB:

存儲了

線性位址

實體位址

之間的對應關系

CPU緩存:

存儲了

實體位址

内容

之間的對應關系

有了CPU緩存,當CPU再去查找/讀取某一個線性位址對應的實體頁時,就可以:

  1. 先查TLB,找到它的實體位址
  2. 再找CPU緩存,找到它的内容

CPU緩存的大小決定了CPU的執行速度(CPU緩存越大,速度越快,當然也會越貴)

注意:

  1. 更多關于CPU緩存的細節請參考Intel白皮書第三卷第11章
  2. 不同的版本,章節順序可能不一樣,請參考章節标題

PWT(Page Write Through)

PWT=1

:寫Cache的時候也要将資料寫入記憶體中

PWT=0

:寫Cache的時候就隻是寫Cache,是否要映射到記憶體由CPU緩存控制器自己決定

PCD(Page Cache Disable)

PCD=1

:禁止某個頁寫入緩存(直接寫入記憶體)

比如:做頁表用的頁,已經存儲在TLB中,可能就不需要再做緩存,而它的PCD一定為1

繼續閱讀