首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >虚拟地址是如何翻译的?

虚拟地址是如何翻译的?
EN

Stack Overflow用户
提问于 2012-04-06 04:14:02
回答 1查看 658关注 0票数 0

我知道(对于英特尔)虚拟地址转换过程是:

1.传入的虚拟地址分为页表号、页码和偏移量。

2. CPU中的进程解写基寄存器(PDBR)指示目录从何处开始。

3.页面表号乘以4作为偏移量进入目录,并查找目录条目。

4.目录条目包含页表的地址、有效性和保护信息。如果这些信息显示页面表不在内存中,或者保护不正常,则转换停止并引发异常。

5.页号乘以4作为页面表中的偏移量,并查找页面表条目。

6.页表条目包含页的地址、有效性和保护信息。如果这些信息显示页面不在内存中,或者保护不正常,则转换停止并引发异常。

7.偏移量用作页面的索引。

8.数据在最终到达的地址。

对于步骤6来说,这一切都是有意义的,因为表条目格式只为物理页帧地址指定了20位,这意味着它只能访问1MB的,还是移动了12位(乘以4096:页面大小)才能访问4千兆字节。

EN

回答 1

Stack Overflow用户

发布于 2012-04-06 04:41:40

这是32位的翻译过程.每个页面表条目为32位,但低12位用于标记。上面的20位是页面地址。

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

https://stackoverflow.com/questions/10039040

复制
相关文章

相似问题

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