2014-12-07 26 views
-1

你如何回答以下问题:如何查找可用于特定虚拟物理地址映射的最大页面大小?

“如果我们有其中的虚拟地址映射0x52D2C3A3到物理地址0x13A103A3的系统,什么是可能被用于此映射的最大页面大小?”。

不要跳过细节,我试图理解。我也不只是需要答案,我已经有了答案。我只想知道你是如何解决这个问题的。

+0

在你的作业问题中删掉上下文中的一句话没有任何意义,也不包括如何找到正确答案的提示。它与http://stackoverflow.com/a/26800888/2626313 – xmojmr 2014-12-07 19:55:52

+1

很好地一致。告诉我一些关于它的句子。这是问题,没有别的。没有任何暗示,没有任何东西。 答案是:“最大的页面大小将是16K,因为14个低位是相同的,2^14 = 16,384 = 16K。低位位组成页面偏移,它总是相同的虚拟地址及其映射到物理地址。“但我不明白你是怎么想出来的。 – user2997154 2014-12-07 20:13:26

+0

假设这不是抽象CPU上的假设寻址,并且假定操作系统是Linux,那么在阅读http://www.cs.utexas.edu/users/witchel/372/lectures/15.VirtualMemory.pdf后,如果你理所当然地认为虚拟地址是'(页码,偏移量)'而物理地址是'(帧号,偏移量)',并且所有的地址转换都将'页码'映射到'帧号' – xmojmr 2014-12-08 13:25:38

回答

0

低位位组成了虚拟地址和映射到物理地址之间始终相同的页面偏移量。因此,我们需要找到给定的十六进制值的低位。

0x52D2C3A3 = 0000 0000 0101 0010 1101 0010 1100 0011 1010 0011

0x13A103A3 = 0000 0000 0001 0011 1010 0001 0000 0011 1010 0011

由于第一14个比特是相同的,最大页面大小2exp14 = 16 384 = 16k。

相关问题