什么是TLB击球?

什么是SMP中的TLB击落? 我无法找到有关此概念的更多信息。任何好的例子都会非常感激。     
已邀请:
一个简单的例子: 您的系统中的所有处理器都共享了一些内存。 您的一个处理器限制访问该共享内存的页面。 现在,所有处理器都必须刷新TLB,以便允许访问该页面的TLB不再这样做。 导致TLB在其他处理器上刷新的一个处理器的动作是所谓的TLB击落。     
TLB(Translation Lookaside Buffer)是从虚拟内存地址到物理内存地址的转换缓存。当处理器更改地址的虚拟到物理映射时,它需要告知其他处理器使其缓存中的映射无效。 这个过程被称为“TLB击落”。     
我认为这个问题需要更详细的答案。 page table:存储虚拟内存(软件)和物理内存(硬件)之间映射的数据结构 但是,页表可能非常大并且遍历页表(以查找虚拟地址的相应物理地址)可能是一个耗时的过程。为了使这个过程更快,使用了一个名为TLB(Translation Lookaside Buffer)的缓存,它存储了最近访问的虚拟内存地址。 可以清楚地看到,TLB条目需要始终与它们各自的页表条目同步。现在TLB是一个每核心缓存即。每个核心都有自己的TLB。 每当任何核心修改页表条目时,该特定TLB条目在所有核中都无效。这个过程称为TLB击落。 TLB刷新可以由各种虚拟内存操作触发,这些操作可以更改页面表条目,例如页面迁移,释放页面等。     

要回复问题请先登录注册