X86 TLB刷新和页面全局位
在“英特尔页表”结构中,有一个“页全局”位,表示 页表条目被全局使用。 据我所知,此全球条目不会刷新 由于覆盖CR3而导致TLB刷新期间。X86 TLB刷新和页面全局位,x86,paging,tlb,X86,Paging,Tlb,在“英特尔页表”结构中,有一个“页全局”位,表示 页表条目被全局使用。 据我所知,此全球条目不会刷新 由于覆盖CR3而导致TLB刷新期间。 我的问题是,我们是否可以假设,一旦设置了全局PTE条目,它就永远不会从TLB中刷新?您不能这样假设。刷新TLB条目的原因有很多,例如: TLB已满,需要缓存一个新条目,并将有问题的条目替换为新条目 有一条指令可以显式地使TLB条目无效,这也可以用于此类页面 在许多其他情况下,HW将完全冲洗TLB,以便出于CR3以外的原因保持一致性 简言之,您不能假设页面
我的问题是,我们是否可以假设,一旦设置了全局PTE条目,它就永远不会从TLB中刷新?您不能这样假设。刷新TLB条目的原因有很多,例如:
- TLB已满,需要缓存一个新条目,并将有问题的条目替换为新条目
- 有一条指令可以显式地使TLB条目无效,这也可以用于此类页面
- 在许多其他情况下,HW将完全冲洗TLB,以便出于CR3以外的原因保持一致性
简言之,您不能假设页面翻译一旦在TLB中,它将始终保持在那里。您不能假设。刷新TLB条目的原因有很多,例如:
- TLB已满,需要缓存一个新条目,并将有问题的条目替换为新条目
- 有一条指令可以显式地使TLB条目无效,这也可以用于此类页面
- 在许多其他情况下,HW将完全冲洗TLB,以便出于CR3以外的原因保持一致性
简而言之,您不能假设页面翻译一旦在TLB中,它将始终保持在那里。当TLB条目由于空间限制而被逐出时,我很确定它不会被称为TLB刷新。当TLB条目由于空间限制而被逐出时,我很确定它不会被称为TLB刷新。