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

前端之家收集整理的这篇文章主要介绍了linux-kernel – x86-64位处理器中的PAE – Linux内核前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到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)

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

猜你在找的Linux相关文章