页面大小

时间:2014-12-04 18:13:23

标签: memory-management computer-architecture virtual-memory

我收到以下信息:

虚拟地址:32位

物理地址:30位

页面大小:8 KB

页表条目:4个字节

我正在尝试计算页面表的大小。是使用虚拟地址空间还是物理地址空间计算页表大小?

虚拟:
2 ^ 32/2 ^ 13 = 2 ^ 19页* 2 ^ 2条目大小= 2 ^ 21页面大小

物理:
2 ^ 30/2 ^ 13 = 2 ^ 17页* 2 ^ 2条目大小= 2 ^ 19页面大小

由于地址大小不同,我不确定物理内存地址空间是否会限制较大的虚拟地址空间。

鉴于问题提供的信息有限,我非常感谢有关这些方法之一的正确帮助。

2 个答案:

答案 0 :(得分:1)

谁给了你这个问题,给了你一个没有回答的人。人们问同样的问题而没有反复回答。我很想知道消息来源。

这个问题反映了对页表结构的基本缺乏理解。

在没有系统地址空间的情况下实现页表是不可能的。该问题没有解释地址空间如何划分,因为用户和系统。这使得这个问题荒谬。

如果页面表本身是可分页的,则物理限制不会影响页面大小。

虚拟限制只是限制。页表不必(并且很少)跨越整个虚拟地址空间。虚拟地址空间只会为大小设置一个高端。

我当然希望这个问题不在教科书中。

答案 1 :(得分:1)

物理地址大小(30位)是红色鲱鱼。

如果您有32位虚拟地址,每页为8KB(2 ^ 13),那么每个虚拟地址需要2 ^(32-13)页。

页表的大小是2 ^(32-13)= 2 ^ 19页地址多个每个条目的字节数,所以:

页面大小=(2 ^ 19)* 4 = 2 MB

2 ^ 19 * 1字节是1/2 MB

编辑: 要回答您的问题,请使用虚拟地址空间。