RT,在wiki上看有关PAE(Physical Address Extension)--物理地址扩展有这样一个疑惑。从图:来看,进程依旧是用32位来寻址,看不出来将页表和页目录中的表项从32位扩为64位体现的作用啊。
其实原因很简单,你思考一下, 4kb的页表可以装1024个32位的页表项,或者512个64位页表项那么请问:如果页表项是36位,那么应该装多少个页表项呢?所以答案都知道,如果页表项做成是36位,是无法整数倍完美装载的。为了完美装载也就是对齐,装载的页表项个数一定是被2^n表达。所以为了对齐的原因,就只能装载512个表项,换句话说页表项位数扩展了一倍,也就是64位了。
简而言之,不是因为64位页表项,才装了512个页表项。而是为了对齐512个页表项,必须把页表项扩展一倍。这里面就体现了设计的思路问题。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(1)
其实原因很简单,你思考一下, 4kb的页表可以装1024个32位的页表项,或者512个64位页表项那么请问:
如果页表项是36位,那么应该装多少个页表项呢?
所以答案都知道,如果页表项做成是36位,是无法整数倍完美装载的。为了完美装载也就是对齐,装载的页表项个数一定是被2^n表达。所以为了对齐的原因,就只能装载512个表项,换句话说页表项位数扩展了一倍,也就是64位了。
简而言之,不是因为64位页表项,才装了512个页表项。而是为了对齐512个页表项,必须把页表项扩展一倍。这里面就体现了设计的思路问题。