Chinaunix
标题:
PAE是怎么实现64GB的ram映射的?
[打印本页]
作者:
etoux
时间:
2010-04-26 22:04
标题:
PAE是怎么实现64GB的ram映射的?
在看ULK
PAE分页机制跟普通分页有什么区别呢。32位的线性地址要映射64GB的RAM只要使用不同CR3不是就可以了么,为什么还要采用PAE分页机制呢?
而且我也没看懂,如果要用一个32位的线性地址去映射64GB空间,这是怎么做到的?
作者:
mik
时间:
2010-04-26 22:15
在 PAE 模式下的 paging
所有 page translation-table 结构都被扩展为 8 bytes 64 位。
在 Intel 实现下,它的 PDPE, PDE, PTE 结构里的 base address 有效位数是 40 位,因此:可以允许定位在 40 位的 physcial address 空间。
SO,能实现 64G 的物理寻址,但是 virtual address 仍是 32 位的
作者:
accessory
时间:
2010-04-26 22:29
http://en.wikipedia.org/wiki/Physical_Address_Extension
建议LZ以后自己先GOOGLE下,表示下问问题的诚意
作者:
lgj1107
时间:
2010-04-27 10:51
开启PAE 地址线是36个,而不是32了哦 ,因此物理地址空间是2的36次方 也就是64G了
作者:
etoux
时间:
2010-04-27 11:14
回复
3#
accessory
我百度了一下,什么也没有。不好意思,我并不想打扰各位cuer,只是百思不得其解
作者:
shell2522
时间:
2013-02-27 17:03
挖下坟:wink:
楼主既然说ULK,那么在第三版的57页,有说“页表项的物理地址字段从20位扩展到了24位”,那么利用这种页表项便就可以实现2^24个页框的寻址了,所以寻址能力上,是64GB级别的
但是,如楼主所言,进程的线性地址空间依然是2^32即4GB,PAE实现的只是对64GB大容量物理内存的充分利用而已。
因为,通过:
(1)设置新的CR3
(2)修改PDPT的内容
这两种方式,都可以使进程获得另外的4GB物理空间。
所以,PAE只是实现对大内存的充分使用,如果不使用PAE技术,那么所有进程都只能使用大内存的前4GB。
个人理解,欢迎大牛拍砖
作者:
帅绝人寰
时间:
2013-02-27 17:24
PAE的设计者应该 开除
就找不出第二个这么 丑陋的、愚蠢的、乱伦的──以上形容词引自Linus,虽然他评价的不是PAE ── 设计
当然,sysenter/sysexit这套 也差不多的恶心
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2