刷新tlb的疑惑
个人理解:刷新tlb就是要保持各个cpu上的cache中的内容一致,不知道对不对另外,到底要什么时候去主动的刷新tlb呢?tlb会不会自动的刷新?谢谢,帮忙解答一下 回复 1# super皮波
tlb和内存的cache是两回事。tlb是页表的cache, 一般是页表发生变化时刷新,如任务切换。因为页表的改写都是高度受控的,因为没有必要定期刷新。这是我的理解。
内核不会去主动preload tlb entry,只会主动去invalid tlb entry(当前core invalid自己的tlb entry之后,会发送ipi让别的core也做invalid操作)
load由硬件自己去做,当硬件发现miss时会自己去load,arm是这样做的,mips貌似需要程序员自己手动去load(应该是在异常处理中做的)
页:
[1]