三级页表中的页面条目

时间:2016-01-13 15:56:55

标签: memory-management operating-system paging virtual-memory page-tables

我发现了这个问题,但我无法弄清楚如何解决它。

  

您正在为新处理器设计内存管理单元(MMU)。处理器有一个字   64位的大小和指针的大小也是64位。   设计的以下部分已经确定:
  •    MMU将支持32kB的页面大小   •    它将使用3级分层页表执行地址转换   •    与x86计算机一样,页表的任何级别的每个表都占用一个页面   物理记忆级别3是根表,包含保存物理广告的条目   2级桌子的连衣裙。级别2表条目类似地指向级别1表和级别1表   条目指向物理页面或框架   •    所有页表条目的大小均为64位   •    物理地址空间的大小限制为52位(4096太字节),这应该足够了   暂时。
  这个问题的其余部分是关于这些设计决定的后果   问题:每个页面表页面中有多少条目?展示你的工作。

经过一些阅读后,我发现给定页面大小P=2^p和虚拟地址大小n,我们有一个p位的虚拟页面偏移量(VPO)和虚拟页面(n-p)位的数量。这样,1级页表中的PTE数量为:

2^n / 2^p = 2^(n-p)

k级别的页面表中,我需要将VPN拆分为k个不同的VPN,根据我的理解,这些VPN的长度都是(n-p)/k。这意味着每个页面表中的PTE数量为2^((n-p)/k)

现在,就我而言,我有P = 32kB = 2^15。这给了我一个15位的VPO。我缺少的是虚拟地址大小n 我知道字和指针的大小是64位。我可以假设虚拟地址是64位宽吗?在这种情况下,我会获得49/3位VPN,但49不能被3整除。

0 个答案:

没有答案