參考來源:
Intel 64 and IA-32 Architectures Software Developer Manuals
AMD64 Architecture Programmer's Manual
The Intel Microprocessors by Barry B.Brey
Paging Registers
Paging行為主要由 control register所控制。
若CR0的 PG(Paging)=0,程式所使用的 linear address就是 physical address。
PG=1,則 linear address會透過 Paging的機制轉換成 physical address。
CR3的PCD(Page-level Cache Disable)與 PWT(Page-level Write-Through) bit控制Page
Directory 的 cache type。
PCD=0為cachable,PCD=1為not cachable。PWT=0 cache type為 writeback,PCD=1 為
writethrough。
Page-Directory Base指向 Page Directory 的 physical address。
linear address由 page directory entry、page table entry及 memory page offset
address組成。page directory entry(10 bits)為 1024(2^10) 個 page directory的 index。
每個 page directory entry可表示 4M的記憶體(1024個page table * 4k)。
而page table entry(10 bits)為 1024(2^10)個 page table的 index。page table會指向某段4K 記憶體。
memory page offset address(12 bits) 為該段 4K記憶體的offset。