【发布时间】:2020-06-12 14:16:18
【问题描述】:
作为在进程上下文切换的情况下刷新TLB,为什么每个进程在给定电荷时在TLB中从头开始。
我们为什么不填写 TLB 中的前几个页表条目,因为它的工作方式与我们在内存管理中使用局部性引用的方式相同,即当一个进程开始执行时,它很可能会从指令 1 或加载到主存储器的前几页的第一条指令开始?
它可以减少执行过程中填充TLB的问题n加速系统。
【问题讨论】:
标签: operating-system paging tlb
作为在进程上下文切换的情况下刷新TLB,为什么每个进程在给定电荷时在TLB中从头开始。
我们为什么不填写 TLB 中的前几个页表条目,因为它的工作方式与我们在内存管理中使用局部性引用的方式相同,即当一个进程开始执行时,它很可能会从指令 1 或加载到主存储器的前几页的第一条指令开始?
它可以减少执行过程中填充TLB的问题n加速系统。
【问题讨论】:
标签: operating-system paging tlb
CPU产生虚拟地址时,会在TLB中查找对应的page,如果TLB中不存在,则在下一级内存中查找,然后按如下方式放入TLB合适的替换算法。
系统无法预测包含所谓“指令 1”的页面放置在哪个框架中。如果是这种情况,那么就不需要任何页面替换算法,而是可以按顺序替换所有需要的页面,例如用第一条指令的页面,用第二条指令的页面......等等。
【讨论】: