【发布时间】:2015-07-29 13:10:21
【问题描述】:
上下文:
x86_64,英特尔酷睿 2 双核。
我搜索了 3 个英特尔文档卷,可能错过了正确的部分,因此提出了问题。
一个 tlb 最多可以有 4096 个条目,这在我的书中很多。但在 SMP 系统中,这毕竟不是那么多。特别是如果由于标签位而没有刷新 tlb -> 几乎一直都是满的。
想象一下您的内存在 4 个页表中正确映射的情况。想象一下,您有超过 4096 个条目(我知道..),显然,这对于 tlb 来说太多了。
我知道 x86 不会在 tlb 未命中时自动生成页面错误。
问题:
我是否应该确保 mmu 将遍历页表并自动替换其中一个条目(因为它已经正确映射)?
这是有道理的,因为在操作系统方面没有什么可做的,内存已经被映射了。
谢谢
【问题讨论】:
-
它可能在 TLB 条目patents.google.com/patent/US20100306499 上使用 pLRU 位
-
请参阅What happens after a L2 TLB miss? 了解其他除驱逐机制/替换政策之外的详细信息。
标签: x86 x86-64 intel cpu-architecture tlb