手撕烂笔头-arm和intel的页表目录基地址寄存器

CPU通过MMU进行内存访问,当TLB未命中时,Intel处理器使用CR3获取页表目录,结合虚拟地址的分段信息读取页表,得到物理地址。若页表项指示页面不在RAM,则触发缺页异常,处理后将页表项写入RAM。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

列表及地址寄存器存储了当前进程的页表目录地址page directory base register PDBG

 

arm是TTBRx

intel是CR3

 

cpu访存获取物理地址流程 如果mmu发现tlb里面miss就通过pdbg拿pa物理地址

 

intel为例子:

- 从cr3拿到当前进程的一级页表目录基地址

- 从虚拟地址va拿到高10b的pdt偏移 加上cr3,读取到当前va对应二级页表基地址

- 从虚拟地址va中间10b的pmt偏移 读取二级页表基地址 相加 然后读取va对应的pte

-从va读取页内偏移offset 加上读取到的pte 然后的地址 读取到pa

 

有个特例如果pte偏移看到当前页面不在ram 会触发缺页异常 触发缺页中断 该中断从映射页表到ram 写入pte

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值