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

文章详细阐述了在24位虚拟地址空间的多级页表系统中,TLB如何存储24位虚拟页号到物理页号的映射,以及在TLB缺失时处理器如何通过一级和二级页表获取映射。同时介绍了快表在地址转换过程中的作用,即通过缓存页表信息加速访问。在快表未命中时,CPU会访问页表并更新快表内容。
摘要由CSDN通过智能技术生成

在多级页表系统中,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将一级页表索引,二级页表索引和物理页帧号的组合添加到快表中,以便下次可以直接从快表中获取这些信息,而无需访问页表。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值