TLB刷新和页面全局位

dae*_*hee 1 paging x86 tlb

在Intel页表结构中,有"页面全局"位表示页表条目是全局使用的.根据我的理解,在覆盖CR3引起的TLB刷新期间,这个全局条目不会被刷新.我的问题是,我们可以假设全局PTE条目一旦设置就永远不会从TLB刷新吗?

Nat*_*man 5

你不能假设.刷新TLB条目有很多原因,例如:

  • TLB已满,需要缓存新条目,并使用新条目替换相关条目.
  • 有一条指令显式地使TLB条目无效,该条目也可用于此类页面.
  • 还有许多其他条件,HW将完全刷新TLB,以便保持CR3以外的原因的一致性.

简而言之,您不能假设一旦页面翻译在TLB中,它将始终保持在那里.