CPU访问内存方式、虚拟地址到物理地址转换、内存页表结构

CPU访问内存方式

CPU是这样寻址的:CPU任何时候,一切时候,发出的地址都是虚拟地址,通过MMU将虚拟地址转换成物理地址发送到cpu芯片引脚上。在这里插入图片描述

虚拟地址转换成物理地址的过程

cr3:页目录基地址寄存器 CR3含有存放页目录表页面的物理地址(注意,是物理地址!!!)
以下为32位系统二级页表:
在这里插入图片描述
1.Directory(22bit-31bit)作为偏移在页目录中查找下一级页表基址。
2.Talbe(12-21bit)作为偏移在下一级也表中查找页基址。
3.OFFSET(0-11bit)作为偏移,在页中访问最终要访问的物理地址

页目录每行记录是32bit,以下为一级目录的例子:
在这里插入图片描述
为什么采用多级页表?
为了节省存储页表的空间。
具体来说,32位系统下:
1.按1级页表,20+12 管理4GB地址,页目录需要占4M物理内存(2的20次方4)。说明:20是32-12(2的12次方是4KB)。每个目录项占4字节,所以乘以4。
2.按2级页表。10+10+12。部分不需要的页表可以不分配。
第一级:页目录占4KB内存。(2的10次方
4)
第二级:一个页表占4KB内存。可索引 4M(10244K)内存。
即:1个应用程序需要占100M内存。使用25个2级页表加1个一级页目录,104K(25
4+4)的页表大小就够了,不需要4M。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值