如何计算分层配置中页表的大小

时间:2013-10-17 14:25:52

标签: architecture operating-system paging virtual-memory

如果我们有以下配置,例如,我们如何计算页表的大小

计算机使用46位虚拟地址,32位物理地址和三级页表组织。页表基址寄存器存储第一级表的基地址,它只占用一页。第一级页表的每个条目存储第二级表的页面的基地址。第二级页表的每个条目存储第三级表的页面的基地址。第三级页表的每个条目存储页表条目(PTE)。 PTE的大小为32位。计算机中使用的处理器具有1 MB 16路组关联虚拟索引物理标记缓存。缓存块大小为64字节。

1 个答案:

答案 0 :(得分:0)

首先查找页面大小。然后,您可以从中计算页表大小。

所有页表都驻留在物理内存(RAM)中,因为物理地址是32位可寻址的,每个级别表保存一个32位(4字节)的RAM地址

假设页面大小为x个字节。 (我们需要找到)

由于1级表的大小也是x(如1级表正好适应页面的问题所示),它可以容纳x / 4级2个表的x / 4个基址(也可以容纳一个页面) )并且每个2级表保存x / 4级3表的基址。

3级表的实体等于2 ^ 46 / x

即。 (x / 4)(x / 4)(x / 4)= 2 ^ 46 / x

解决x = 8192,以字节为单位,因此8192/1024 = 8 K字节