什么是SMP中的TLB击落?
我找不到有关此概念的大量信息。任何很好的例子将不胜感激。
什么是SMP中的TLB击落?
我找不到有关此概念的大量信息。任何很好的例子将不胜感激。
Answers:
我认为这个问题需要更详细的答案。
页表:一种存储虚拟内存(软件)和物理内存(硬件)之间的映射的数据结构
但是,页表可能很大,遍历页表(以查找虚拟地址的对应物理地址)可能是一个耗时的过程。为了使此过程更快,使用了称为TLB(转换后备缓冲区)的缓存,该缓存存储了最近访问的虚拟内存地址。
可以清楚地看到,TLB条目始终需要与其各自的页表条目保持同步。现在,TLB是每个内核的缓存,即。每个核心都有自己的TLB。
只要任何一个内核修改了页表条目,该特定的TLB条目就会在所有内核中失效。此过程称为TLB击落。
可以通过各种虚拟内存操作来触发TLB刷新,这些操作会更改页面表条目,例如页面迁移,释放页面等。
invlpg
指令。重新映射或取消映射确实需要无效,以阻止核心使用不再有效的TLB条目。