首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >32位机内存>4GB?

32位机内存>4GB?
EN

Stack Overflow用户
提问于 2014-02-10 17:21:19
回答 1查看 1.1K关注 0票数 0

32位机器怎么能支持大于4GB的RAM?可以用32位进行寻址的虚拟内存是2^32,具有所有的间接(页表/页目录等)。这是怎么做的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-11 03:52:19

物理内存超过4GB的32位机器仍然只能寻址4GB的虚拟内存(指针保持32位)。但是,请记住,每个进程都有自己的一组页表,因此每个进程都有可能对物理内存的不同部分进行映射--所有进程寻址的总物理内存可能大于4GB。

在物理地址扩展( x86 PAE )的具体情况下,将处理器置于PAE模式会改变页面表的结构。它不使用具有4字节页表条目的两级页表方案,而是使用具有8字节页表项的三级页表方案。每个页面仍然是4KB,但是它们的物理基地址(存储在页面表条目中)现在是64位。

在PAE模式下,32位线性(“虚拟”)地址被分成4部分.从最重要位到最小有效位,前2位用作4条目页目录指针表的索引。该表中的条目每个为8个字节,每个字节包含一个页目录的64位物理基地址。接下来的9位虚拟地址被用作页面目录的索引,并且这个表中的条目同样包含一个页面表的64位物理基地址。接下来的9位虚拟地址被用作页面表的索引,每个页面表条目都包含页帧的64位物理基地址。虚拟地址的12个最小有效位用作页面帧内的字节偏移量。

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

https://stackoverflow.com/questions/21683801

复制
相关文章

相似问题

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