处理器使用 36 位物理地址和 32 位虚拟地址,页框大小为 4 KB。每个页表条目的大小为 4 个字节。一个三级页表用于虚拟到物理地址的转换,其中虚拟地址的使用如下
• 位 30-31 用于索引到第一级页表
• 位 21-29 用于索引到二级页表
• 位 12-20 用于索引到第三级页表,以及
• 位 0-11 用作页面内的偏移量
一级、二级、三级页表的页表项中寻址下一级页表(或页框)所需的位数分别为。
(A) 20、20 和 20
(B) 24、24 和 24
(C) 24、24 和 20
(D) 25、25 和 24答案: (D)
说明:虚拟地址大小 = 32 位
物理地址大小 = 36 位
物理内存大小 = 2^36 字节
页框大小 = 4K 字节 = 2^12 字节
偏移的位数(或访问页框内的位置所需的位数)= 12。
访问物理内存帧所需的位数 = 36 – 12 = 24
所以在第三级页表中,访问一个条目需要 24 位。
9 位虚拟地址用于访问二级页表条目,二级页的大小为 4 个字节。所以二级页表的大小是 (2^9)*4 = 2^11 字节。这意味着有 (2^36)/(2^11) 个可能的位置来存储这个页表。因此,第二个页表需要 25 位来寻址。
同样,第一个页表需要 25 位来寻址。
这个问题的测验