多级页表计算

多级页表计算

在这里插入图片描述

页号 = 逻辑地址 / 页面长度 (取除法的整数部分)
页内偏移量 = 逻辑地址 % 页面长度(取除法的余数部分)

例如,某系统按字节编址,采用40位逻辑地址,页面大小是4KB,页表项大小是4B,假设采用纯页式存储,则采用几级页表,页内偏移量多少位

40位 = {28位页号={根据页表大小得到页号一级、二级},12位偏移量}

首先,这里的页表项大小已经给出来了,正常我们是可以自己算的,比如一块内存4GB,页面大小4KB,有多少个内存块呢,2^32 / 2^12 = 2^20 也就是我们最多要用20位才能表示一个内存块号,一般计算机都是8的整数倍,所以页表项占3B

回到题目,页内偏移量大小,就是指一个页面有几位
因为页面大小4KB 所以是12位

这里直接给出了页表项大小,一般来说知道页面大小,知道页表项有多大,就可以知道一个页面最多有多少个页表项
2^12 / 4 = 2^10 个页表项

注意各级页表的大小不能超过一个页面,超过要用多级页表

页号 = 40 - 12 = 28 位‘

因此至少分3级页表

注意,单级页表访存次数是2次,假设没有快表情况下,多级页表就是n+1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值