背景:
x86_64,intel core 2 duo .
我搜索了3个英特尔文档卷,可能错过了正确的部分,因此问题 .
一个tlb最多可以有4096个条目,这在我的书中很多 . 但毕竟在SMP系统中并没有那么多 . 特别是如果由于标签位而没有刷新tlb - >几乎都是满的 .
想象一下,在整个4页表中正确映射内存的情况 . 想象一下,你有超过4096个条目(我知道......),显然,这对tlb来说太过分了 .
我知道x86不会在tlb miss上自动生成页面错误 .
问题:
我是否应该确保mmu将遍历页表并替换其中一个条目 automatically (因为它已经正确映射)?
这是有道理的,因为在操作系统方面没有更多的事情要做,内存已经被映射了 .
谢谢
1 回答
是的,在TLB未命中时,如果没有可用于保存新条目的空白空间,MMU将遍历页表并替换现有TLB条目 .
如果页面不在内存中,则TLB未命中将仅导致页面错误 .