我注意到CR4寄存器中的PAE位在我的
Linux(3.19)x86-64机器上打开了. PAE功能允许访问高达64gb的物理地址,但我不明白为什么在启用长模式时需要它.我已经查了一会儿,但没有找到任何令人满意的答案.
有什么建议?
解决方法
它使用IA-32e分页.
A logical processor uses IA-32e paging if CR0.PG = 1,CR4.PAE = 1,and IA32_EFER.LME = 1. With IA-32e paging,linear address are translated using a hierarchy of in-memory paging structures located using the contents of CR3. IA-32e paging translates 48-bit linear addresses to 52-bit physical addresses. Although 52 bits corresponds to 4 PBytes,linear addresses are limited to 48 bits; at most 256 TBytes of linear-address space may be accessed at any given time.
x86处理器支持三种分页模式:
> 32位分页(CR0.PG = 1,CR4.PAE = 0) > PAE分页(CR0.PG = 1,CR4.PAE = 1,IA32_EFER.LME = 0) > IA-32e寻呼(CR0.PG = 1,IA32_EFER.LME = 1)
这里报告了一个总结差异的表格(不幸的是,图像)
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|