我获得了页表条目的格式:
我告诉系统使用32位虚拟地址和大小为8192字节的页面。
我已经帮助解决了这个问题,并计算出系统的最大物理内存为2GB。在计算页面映射表的总大小时,我不确定是否需要考虑32位虚拟地址数据。
答案 0 :(得分:1)
看起来没有足够的信息来回答这个问题。
请参阅,页表大小等于其中的条目数乘以每个条目的大小。
首先,我不知道页表条目是24位长还是32位长或更大。这没有明确说明。
其次,如果在将虚拟地址转换为物理地址时只涉及一个页表,则页表必须覆盖虚拟地址的整个32位。由于单个PTE仅处理13(因为页面大小为2 ^ 13 = 8192字节),在这种情况下您需要2 ^(32-13)= 2 ^ 19个条目。
现在,如果翻译中涉及页面表的层次结构,换句话说,第一页表(通常称为页目录)的条目指向第二级页表,那些指向代码/数据页面或第三级页面表等等,你明白了......在这种情况下,答案将会有所不同。但是没有指定是只有一个页表还是多个页表链。
在我看来,不太可能有2 ^ 19个条目的页表。页表通常是单个页面的大小(有时更小)。因此,例如,如果PTE是32位,则PT中有8192/4 = 2048个PTE,并且在虚拟地址的剩余32-13 = 19位中仅覆盖11(2 ^ 11 = 2048) 。虚拟地址的其他19-11 = 8位必须由另一个页表,页目录处理,只有2 ^ 8 = 256个条目,前提是页表和页目录中的条目相同。
鉴于提供的信息,这里没有明确的答案,只有猜测。