我解决了一些问题,其中页表条目大小只需要 26 位 - 22 位用于物理地址,4 位用于脏位等。但是它被四舍五入到 32 - 因为 26 不是 2 的幂。一定是我想念的简单的东西,但为什么我们必须这样做?谢谢!
问问题
250 次
2 回答
1
我认为在这里您需要意识到页表条目需要像任何其他数据一样访问。通常,这意味着它需要适合一个字节或一个字。
现在字节只保存 8 位,所以没有足够的空间。对于许多机器(我怀疑你的机器也是),字是 32 位的。
因此,页表条目被分配了 32 位空间。
于 2017-02-15T21:43:12.000 回答
0
页表条目中的条目数和大小是两件事。显然,大小等于条目数乘以单个条目的大小。页表条目可以告诉您哪个虚拟页面映射到哪个物理页面。这意味着,您在页表条目中需要的条目数是您拥有的虚拟页数。这可以通过将总可寻址空间除以页面大小来计算。(例如,32 位地址和 4k 页面大小为我们提供了 2 的 20 次方条目),条目的虚拟部分将是 20 位。物理部分条目的大小由可用的物理内存决定。通常页面大小保持不变。通过这种方式,您可以计算单个条目所需的位。然后你可以将它乘以条目数,你就得到了总大小。
于 2017-02-14T23:09:01.723 回答