【发布时间】:2021-09-04 12:00:32
【问题描述】:
我正在尝试计算支持 35 个虚拟地址位所需的页表级别数。
输入给了我: 分页单元使用 16B 的页面描述符,页面大小为 2KiB。描述符表中存储的描述符数量为 128 个。
对于页表级别给出的正确答案是 4。
我尝试使用各种方法计算它,但没有成功。
我也试过这个公式(虚拟地址空间大小)/(页面大小)
有人可以帮我吗?
【问题讨论】:
-
128 = 2^7 表中的条目意味着每个级别处理页码位中的 7 位。就像 x86-64 如何使用 9 位每层和 4 层一样,它的 4k 页:How do AMD64 page entry base address fields encode a 52-bit address in 40 bits?。请记住,您不需要翻译页内偏移位。
-
仍然,我不知道如何解决这个问题@PeterCordes,您能否进一步提供帮助?
标签: operating-system computer-science cpu-architecture page-tables