如果使用多级页表(例如二级页表),那么快表里面存储的是什么?

在多级页表系统中,TLB(Translation Lookaside Buffer)存储的是最终的虚拟页号(VPN)到物理页号(PPN)的映射,而不是单独的一级或二级页表的映射。在24位虚拟地址空间中(12位一级页表,12位二级页表,10位块内偏移),TLB的映射是基于完整的24位虚拟页号的。

当发生TLB缺失时,处理器需要访问一级和二级页表来获取映射。首先,处理器使用前12位访问一级页表,获取二级页表的地址。然后,使用后12位访问二级页表,获取物理页号。这个24位虚拟页号到物理页号的映射然后被添加到TLB中。

因此,在这个系统中,虽然一级和二级页表分别使用12位地址,但TLB中的映射是基于完整的24位虚拟页号的。这样,即使二级页表中的页号可能与一级页表中的页号不同,但在TLB中,它们都是基于完整的虚拟页号的。

假设我们有一个二级页表系统,并且我们有一个快表。以下是一个虚拟地址到物理地址的转换过程:

  1. CPU生成一个虚拟地址。这个虚拟地址被分为三部分:一级页表索引,二级页表索引和页内偏移。

  2. CPU首先使用一级页表索引和二级页表索引来查找快表。如果在快表中找到了匹配的项(即快表命中),则使用快表中的物理页帧号和页内偏移来生成物理地址。

  3. 如果在快表中没有找到匹配的项(即快表未命中),则CPU使用一级页表索引来访问一级页表。一级页表中的条目指向二级页表。

  4. CPU使用二级页表索引来访问二级页表。二级页表中的条目包含物理页帧号。

  5. CPU将二级页表中的物理页帧号和页内偏移组合起来生成物理地址。

  6. 同时,CPU将一级页表索引,二级页表索引和物理页帧号的组合添加到快表中,以便下次可以直接从快表中获取这些信息,而无需访问页表。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值