到目前为止我得到了这个:
对于VADDR = 0x5ddb
,二进制表示为0101 1101 1101 1011
,因此我们知道VPN = 101 = 5
。
下一步是什么?
答案 0 :(得分:2)
最重要的三位构成虚拟页码,其余十二位构成页框中的偏移量
在您的具体示例中,正如您正确提到的那样,虚拟页码为5
,偏移量为
1101 1101 1011 = 0xddb = 3547
现在就这样进行:
使用虚拟页码作为页表的索引。 5 th (从零开始)是0x80000006
。
检查有效位。它已设置,因此页面条目有效。如果不,页面将不在内存中,并且会发生页面错误。
如图所示,条目的其余部分是页面框架编号。它是6 th 页面框架,因此您可以通过将此数字乘以页面框架的大小(即4 KiB)来计算页面框架的物理地址。因此,物理地址是
6 * 4 KiB = 24 KiB = 24576
将偏移量添加到页面框架的物理地址:
24576 + 3547 = 28123
你有自己的地址。
虚拟地址0x5ddb
对应于所述系统中的物理地址28123 = 0x6ddb
。