ucore-project5:mm(3)

32 篇文章 0 订阅
6 篇文章 0 订阅

paging由x86 cpu控制寄存器中的三个bit控制:

CR0 bit31:PG位,控制是否启用paging

CR4 bit4:PSE位,页大小扩展,允许4M大小的页面

CR4 bit5:PAE位,物理地址扩展

 

先看32位的paging处理,就是PSE=PAE=0,而PG=1时的情况。

 

一个线性地址被分为3部分,第一部分是页目录表项索引,高10位(bit31-bit22),第二部分是页表表项索引,中间10位(bit21-bit12),最后部分是页内偏移地址,低12位(bit11-bit0)。由此,一个页目录表最多有2^10 = 1024项,一个页表最多有2^10=1024项,一个页大小为2^12=4096字节。每个页目录表项和每个页表项大小都是4字节,因此每个页目录表和每个页表的大小正好是4*1024=4096字节,也就是正好占一页。

 

每个页目录项和每个页表项的结构类似,首先是一个页表或一个页的物理地址,页表和页大小都是2^12=4096字节,因此其物理地址都是4096字节对齐,因此物理地址的低12位全部为0,所以这低12位可以用来作为属性位。

 

主要的属性位有如下几个:

P:物理内存中存在标志位

D:dirty,已经被写过

A:accessed,已经被读或写过

PCD:page cache disabled,缓存禁止

WT:缓存write through

U/S:user/supervisor,0表示管理员态,1表示用户态

R/W:只读,还是可读写

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值