页目录项和页表项——《x86汇编语言:从实模式到保护模式》读书笔记43
頁目錄項(xiàng)和頁表項(xiàng)
上圖就是頁目錄項(xiàng)和頁表項(xiàng)的格式??梢钥闯?#xff0c;由于頁表或者頁的物理地址都是4KB對齊的(低12位全是零),所以上圖中只保留了物理基地址的高20位(bit[31:12])。低12位可以安排其他用途。
【P】:存在位。為1表示頁表或者頁位于內(nèi)存中。否則,表示不在內(nèi)存中,必須先予以創(chuàng)建或者從磁盤調(diào)入內(nèi)存后方可使用。
【R/W】:讀寫標(biāo)志。為1表示頁面可以被讀寫,為0表示只讀。當(dāng)處理器運(yùn)行在0、1、2特權(quán)級時(shí),此位不起作用。頁目錄中的這個(gè)位對其所映射的所有頁面起作用。
【U/S】:用戶/超級用戶標(biāo)志。為1時(shí),允許所有特權(quán)級別的程序訪問;為0時(shí),僅允許特權(quán)級為0、1、2的程序訪問。頁目錄中的這個(gè)位對其所映射的所有頁面起作用。
【PWT】:Page級的Write-Through標(biāo)志位。為1時(shí)使用Write-Through的Cache類型;為0時(shí)使用Write-Back的Cache類型。當(dāng)CR0.CD=1時(shí)(Cache被Disable掉),此標(biāo)志被忽略。對于我們的實(shí)驗(yàn),此位清零。
【PCD】:Page級的Cache Disable標(biāo)志位。為1時(shí),物理頁面是不能被Cache的;為0時(shí)允許Cache。當(dāng)CR0.CD=1時(shí),此標(biāo)志被忽略。對于我們的實(shí)驗(yàn),此位清零。
【A】:訪問位。該位由處理器固件設(shè)置,用來指示此表項(xiàng)所指向的頁是否已被訪問(讀或?qū)?#xff09;,一旦置位,處理器從不清這個(gè)標(biāo)志位。這個(gè)位可以被操作系統(tǒng)用來監(jiān)視頁的使用頻率。
【D】:臟位。該位由處理器固件設(shè)置,用來指示此表項(xiàng)所指向的頁是否寫過數(shù)據(jù)。
【PS】:Page Size位。為0時(shí),頁的大小是4KB;為1時(shí),頁的大小是4MB(for normal 32-bit addressing )或者2MB(if extended physical addressing is enabled).
【G】:全局位。如果頁是全局的,那么它將在高速緩存中一直保存。當(dāng)CR4.PGE=1時(shí),可以設(shè)置此位為1,指示Page是全局Page,在CR3被更新時(shí),TLB內(nèi)的全局Page不會被刷新。
【AVL】:被處理器忽略,軟件可以使用。
總結(jié)
以上是生活随笔為你收集整理的页目录项和页表项——《x86汇编语言:从实模式到保护模式》读书笔记43的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP中使用八进制 可以在前面加,PHP
- 下一篇: 开启分页机制———《x86汇编语言:从实