内存分页机制

原文请点这里

二级页面寻址过程

  1. 用虚拟地址的高10位乘4,作为页目录表内的偏移地址,加上页目录表的物理地址得到PDE的物理地址,读取PDE得到页表的物理地址。
  2. 用虚拟地址的中间10位乘4作为页表内的偏移地址,加上在上一步中得到的页表的物理地址,得到PTE,从PTE中读取到分配的物理页地址。
  3. 虚拟地址的高10位和中间10位分别是PDE和PTE的索引值,因此它们需要加以转换(左移2位),但低12位不需要左移,它直接与上一步中得到的物理页地址相加即可得到最终转换的物理地址

为什么虚拟地址的高10位乘4?

答:一个虚拟地址转换成物理地址的计算过程就是,处理器通过CR3找到当前页目录所在物理页,取虚拟地址的高10bit,然后把这10bit右移2bit(因为每个页目录项4个字节长,右移2bit相当于乘4)得到在该页中的地址,取出该地址处PDE(4个字节),就找到了该虚拟地址对应页表所在物理页,取虚拟地址第12位到第21位这10位,然后把这10bit右移2bit(因为每个页表项4个字节长,右移2bit相当于乘4)得到在该页中的地址,取出该地址处的PTE(4个字节),就找到了该虚拟地址对应物理页的地址,最后加上12bit的页内偏移得到了物理地址。

名词解释

名词含义
CR3控制寄存器3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值