奔騰尋呼
在開發 Pentium 時,記憶體大小以及執行它們的程式越來越大。作業系統必須做更多的工作來維護分頁子系統,只需要在使用大型程式或資料集時需要更新的頁面索引數量。
因此,Pentium 設計人員新增了一個簡單的技巧:他們在頁面目錄的條目中新增了一個額外的位,指示下一級是否是頁面表(如前所述) - 或直接轉到 4 MB 頁面! 通過具有 4 MB 頁面的概念,作業系統不必建立頁面表並填充 1,024 個條目,這些條目基本上將地址索引 4K 比前一個更高。
地址佈局
+-----------+----------------------+
| Dir Index | 4MB Byte Index |
+-----------+----------------------+
3 2 2 0 Bit
1 2 1 0 number
目錄條目佈局
+-----------+----+---+------+-----+---+---+
| Page Addr | OS | S | Used | Sup | W | P |
+-----------+----+---+------+-----+---+---+
Page Addr = Top 20 bits of Page Table or Page address
OS = Available for OS use
S = Size of Next Level: 0 = Page Table, 1 = 4 MB Page
Used = Whether this page has been accessed or written to
Sup = Whether this page is Supervisory - onlly accessible by the OS
W = Whether this page is allowed to be Written
P = Whether this page is even Present
當然,這有一些後果:
- 4 MB 頁面必須從 4 MB 地址邊界開始,就像 4K 頁面必須從 4K 地址邊界開始一樣。
- 所有 4 MB 必須屬於一個程式 - 或由多個程式共享。
這非常適合用於大記憶體外圍裝置,例如圖形介面卡,它具有需要對映以供作業系統使用的大型地址空間視窗。