在看二级页表的时候,一直卡在下面这个地方不太理解。后面想通了,记录一下。
先看下页表项的格式:
本例中页内偏移量为12位,所以页面大小为4KB。每个二级页表项覆盖的地址空间为4KB。每个页表项32bit,占4个字节,所以一个页可以容纳1024个页表项,一个一级页表项覆盖的地址空间为1024*4KB(4MB)。一级页表共有1024个页表项,可寻址范围为0~4GB。
对于虚拟地址0x00403004,PT1=1,PT2=3,Offset=4,寻址步骤分为三步:
1、 根据PT1的值索引顶级页表,在表项1中可以取出二级页表的地址(页框号);
2、 根据1)中检索出的二级页表地址加PT2的值检索出一个二级页表项,该表项中包含页框号;
3、 2)检索出的页框号加Offset偏移量得出物理地址。