0

我了解(对于英特尔)虚拟地址转换过程是:

1.传入的虚拟地址分为页表号、页号、偏移量。

2. CPU 中的进程描述符基址寄存器(PDBR)告诉目录从哪里开始。

3.页表号乘以4作为到目录的偏移量,并查找目录条目。

4.目录条目包含页表的地址,以及有效性和保护信息。如果此信息表明内存中不存在页表或保护不正确,则转换停止并引发异常。

5.页号乘以四作为页表的偏移量,并查找页表条目。

6.页表项包含页的地址、有效性和保护信息。如果此信息表明该页面不存在于内存中或保护不正确,则翻译停止并引发异常。

7.偏移量用作页面的索引。

8.数据在最后到达的地址。

直到第 6 步,我才感到困惑,因为表条目格式只为物理页框地址指定20 位,这意味着它最多只能访问1 兆字节,或者它是左移 12 位(乘以 4096 : 页面大小) 能够访问4 GB

4

1 回答 1

0

这是 32 位转换过程。每个页表条目是 32 位,但低 12 位用于标志。高 20 位是页地址。

于 2012-04-06T04:41:40.113 回答