Memory 计算页面映射表的总大小

Memory 计算页面映射表的总大小,memory,Memory,我已获得页面表条目的格式: 位23:有效位 位22:修改位 位22-18:LRU位 位17-0:帧编号 Im告知系统使用32位虚拟地址和8192字节大小的页面 页面映射表的总大小(以字节为单位)是多少 如果使用反向页面映射表,如果每个PTE中的LRU字段减少到3位,则其总大小(字节)是多少 我得到了这个问题的帮助,并计算出系统的最大物理内存为2GB。我不确定在计算页面映射表的总大小时是否需要考虑给定的32位虚拟地址数据。似乎没有足够的信息来回答此问题 请参见,页表大小等于其中的条目数乘以

我已获得页面表条目的格式:

  • 位23:有效位
  • 位22:修改位
  • 位22-18:LRU位
  • 位17-0:帧编号
Im告知系统使用32位虚拟地址和8192字节大小的页面

  • 页面映射表的总大小(以字节为单位)是多少
  • 如果使用反向页面映射表,如果每个PTE中的LRU字段减少到3位,则其总大小(字节)是多少

我得到了这个问题的帮助,并计算出系统的最大物理内存为2GB。我不确定在计算页面映射表的总大小时是否需要考虑给定的32位虚拟地址数据。

似乎没有足够的信息来回答此问题

请参见,页表大小等于其中的条目数乘以每个条目的大小

首先,我不知道页面表条目是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个条目,前提是页面表和页面目录中的条目相同


根据提供的信息,这里没有明确的答案,只是猜测。

我认为计算页表大小的公式是(虚拟地址空间/pagesize)*页表条目大小。鉴于此,我想说((2^32)/8192)*页表条目大小将给出页映射表大小。有人能评论吗?我不确定页面表条目的大小。嘿,谢谢!我和另一个人一起工作,我认为页表条目是24位的,因为页表条目的格式是给定的。帧/页码包含18位,lru包含5位,修改位为1位,有效位为1,等于24。这有用吗?你似乎很擅长这门学科。这些信息有帮助吗?正如我所说,页面表通常是页面大小,包含两个条目的幂。对于我来说,在8192字节长的页面表中有3字节的条目(不是两个大小的幂,甚至不是偶数大小)看起来非常奇怪-它将有2730个条目和2个未使用的字节。没有一个理智的工程师/架构师会设计这样一个页面表。使用起来很不方便。3字节的条目是什么意思?你是在说LRU吗?我同意你的看法,这只是一个硬件问题,所以我猜教授只是编造了一些东西。如果你能帮我看完这篇文章,我一定会很感激的,根据给出的数据。24位=3个字节(假设一个字节是8位)。啊,我明白了。基于页面表条目是24位的事实,你能帮我解决这个问题吗?我以为他会给我们所需要的一切。我甚至不知道32位虚拟地址块在这里有什么帮助。我想你帮我解决了这个问题的2GB最大物理内存部分。