当前位置:  开发笔记 > 编程语言 > 正文

x86-64位处理器中的PAE - Linux内核

如何解决《x86-64位处理器中的PAE-Linux内核》经验,为你挑选了1个好方法。

我注意到CR4寄存器中的PAE位在我的Linux(3.19)x86-64机器上打开了.PAE功能允许访问高达64gb的物理地址,但我不明白为什么在启用长模式时需要它.我已经查了一会儿,但没有找到任何令人满意的答案.

有什么建议?



1> Margaret Blo..:

它使用IA-32e分页.

逻辑处理器使用IA-32E寻呼如果CR0.PG = 1,CR4.PAE = 1,和IA32_EFER.LME = 1
随着IA-32e的寻呼,线性地址使用使用位于存储器分页结构的层次结构被翻译的CR3的内容.
IA-32e分页将48位线性地址转换为52位物理地址.
虽然52位对应4个PBytes,但线性地址限制为48位; 在任何给定时间都可以访问最多256 TB的线性地址空间.


x86处理器支持三种分页模式:

    32位分页(CR0.PG = 1且CR4.PAE = 0)

    PAE分页(CR0.PG = 1,CR4.PAE = 1,IA32_EFER.LME = 0)

    IA-32e寻呼(CR0.PG = 1,CR4.PAE = 1,IA32_EFER.LME = 1)

这里报告了一个总结差异的表格(不幸的是,图像)

x86上三种分页模式之间的差异

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有