Memory management 页表大小

Memory management 页表大小,memory-management,computer-architecture,virtual-memory,Memory Management,Computer Architecture,Virtual Memory,我得到以下信息: 虚拟地址:32位 物理地址:30位 页面大小:8KB 页表条目:4字节 我试图计算页面表的大小。页表大小是使用虚拟地址空间还是物理地址空间计算的 虚拟: 2^32/2^13=2^19页*2^2条目大小=2^21页表格大小 物理: 2^30/2^13=2^17页*2^2条目大小=2^19页表格大小 由于地址大小的差异,我不确定物理内存地址空间是否会限制较大的虚拟地址空间 鉴于问题提供的信息有限,我非常感谢您对这些方法中哪一种是正确的提供帮助。无论是谁给了您问题,他都给了您一个没有

我得到以下信息:

虚拟地址:32位

物理地址:30位

页面大小:8KB

页表条目:4字节

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

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

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

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


鉴于问题提供的信息有限,我非常感谢您对这些方法中哪一种是正确的提供帮助。

无论是谁给了您问题,他都给了您一个没有答案的答案。人们反复问同样的问题,却没有回答。我很想知道来源

这个问题反映了对页表结构的根本性理解不足

如果没有系统地址空间,就不可能实现页表。由于用户和系统的原因,这个问题没有解释地址空间是如何划分的。这使这个问题变得毫无意义

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

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

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

物理地址大小(30位)是一个令人费解的问题

如果您有32位虚拟地址,并且每个页面为8KB(2^13),则需要2^(32-13)个页面来存储每个虚拟地址

页表的大小为2^(32-13)=2^19页地址乘以每个条目的字节数,因此:

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

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

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

类似的主题?问问自己页表是用来做什么的。提示:它要么用于将虚拟页面映射到物理页面,要么用于将物理页面映射到虚拟页面(但通常不是两者都映射)。如果您知道其中哪一个是正确的,那么应该会告诉您需要多少个映射来覆盖整个地址空间,并且从中可以计算出一个完整的页表将占用多少内存……不幸的是,我不知道哪一个是正确的。我的猜测是,表的大小只需要容纳物理地址空间。