奔腾寻呼
在开发 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 必须属于一个程序 - 或由多个程序共享。
这非常适合用于大内存外围设备,例如图形适配器,它具有需要映射以供操作系统使用的大型地址空间窗口。