首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算分层配置中的页表大小

如何计算分层配置中的页表大小
EN

Stack Overflow用户
提问于 2013-10-17 22:25:52
回答 1查看 1.1K关注 0票数 0

例如,如果我们有以下配置,我们如何计算页表的大小

计算机使用46位虚拟地址、32位物理地址和三级页表组织。页表基址寄存器存储恰好占据一页的第一级表的基址。第一级页面表的每个条目存储第二级页面表的页的基地址。第二级页面表的每个条目存储第三级页面表的页的基地址。第三级页表的每个条目存储一个页表条目(PTE)。PTE的大小为32位。计算机中使用的处理器具有1 MB 16路组关联虚拟索引的物理标记高速缓存。高速缓存块大小为64字节。

EN

回答 1

Stack Overflow用户

发布于 2013-10-31 00:01:18

首先查找页面大小。然后,您可以从中计算页表大小。

所有页表都驻留在物理存储器( RAM )中,因为物理地址是32位可寻址的,所以每级表保存RAM的32位(4字节)地址

假设页面的大小是x字节。(我们需要找到它)

由于1级表的大小也是x(如问题1级表恰好容纳一个页面所给出的),它可以保存x/4个2级表的x/4个基址(其也恰好容纳1个页),并且每个2级表保存x/4个3级表的基址。

3级表具有等于2^46/x的实体

即。(x/4)(x/4)(x/4) = 2^46/x

SO8192/1024=8K字节x=8192的求解

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19429434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档