我了解(对于英特尔)虚拟地址转换过程是:
1.传入的虚拟地址分为页表号、页号、偏移量。
2. CPU 中的进程描述符基址寄存器(PDBR)告诉目录从哪里开始。
3.页表号乘以4作为到目录的偏移量,并查找目录条目。
4.目录条目包含页表的地址,以及有效性和保护信息。如果此信息表明内存中不存在页表或保护不正确,则转换停止并引发异常。
5.页号乘以四作为页表的偏移量,并查找页表条目。
6.页表项包含页的地址、有效性和保护信息。如果此信息表明该页面不存在于内存中或保护不正确,则翻译停止并引发异常。
7.偏移量用作页面的索引。
8.数据在最后到达的地址。
直到第 6 步,我才感到困惑,因为表条目格式只为物理页框地址指定20 位,这意味着它最多只能访问1 兆字节,或者它是左移 12 位(乘以 4096 : 页面大小) 能够访问4 GB