正在计算 outer/2nd-level 页 table 的大小
Calculating size of outer/2nd-level page table
有点家庭作业的问题,但我更想围绕这个概念思考:
如果我在二级分页系统中有一个 32 位的虚拟地址,其中页面大小为 8KB,外部 table 有 1024 个条目,我如何计算要表示多少位(大小) 第二 level/outer 页 table?
答案应该是 9 位,但我不确定如何计算这个或公式是什么。
虚拟地址分为:
PTI - 页面 Table 索引
1st PTI | 2nd PTI | Page Offset
第一个 PTI "outer page table" 有 1024 个条目。 需要 10 位 来表示 1024 种不同的状态,因为 2^10 = 1024
.
页面偏移量必须能够索引 8 KiB 字节,因此它是 13 位 大。 8 KiB对应8192个不同的地址和2^13 = 8192
.
现在,还剩第 2nd 页 table。我们可以通过减法轻松计算出它的大小:
32 = 10 + 13 + x = 23 + x | - 23
9 = x
x = 9
因此 "inner" 页面 table 最多可以容纳 2^9 = 512
个条目。
有点家庭作业的问题,但我更想围绕这个概念思考:
如果我在二级分页系统中有一个 32 位的虚拟地址,其中页面大小为 8KB,外部 table 有 1024 个条目,我如何计算要表示多少位(大小) 第二 level/outer 页 table?
答案应该是 9 位,但我不确定如何计算这个或公式是什么。
虚拟地址分为:
PTI - 页面 Table 索引
1st PTI | 2nd PTI | Page Offset
第一个 PTI "outer page table" 有 1024 个条目。 需要 10 位 来表示 1024 种不同的状态,因为 2^10 = 1024
.
页面偏移量必须能够索引 8 KiB 字节,因此它是 13 位 大。 8 KiB对应8192个不同的地址和2^13 = 8192
.
现在,还剩第 2nd 页 table。我们可以通过减法轻松计算出它的大小:
32 = 10 + 13 + x = 23 + x | - 23
9 = x
x = 9
因此 "inner" 页面 table 最多可以容纳 2^9 = 512
个条目。