📅  最后修改于: 2020-12-15 03:44:09             🧑  作者: Mango
在操作系统中,引用局部性的概念指出,与其将整个进程加载到主存储器中,不如将OS加载到CPU中频繁访问的主存储器中的页面数,以及与此相关的OS还可以仅加载与许多页面相对应的那些页面表条目。
转换后备缓冲区可以定义为内存缓存,可用于减少一次又一次访问页表所花费的时间。
它是一个更靠近CPU的内存缓存,CPU访问TLB所花费的时间比访问主内存所花费的时间短。
换句话说,我们可以说TLB比主存储器更快,更小,但比寄存器便宜且更大。
TLB遵循引用局部性的概念,这意味着它仅包含CPU经常访问的许多页面的条目。
在翻译后备缓冲区中,有标记和键,借助它们可以完成映射。
TLB命中是在翻译后备缓冲区中找到所需条目的条件。如果发生这种情况,则CPU只需访问主存储器中的实际位置。
但是,如果在TLB中找不到条目(TLB丢失),则CPU必须访问主存储器中的页表,然后访问主存储器中的实际帧。
因此,在TLB命中的情况下,有效访问时间将比TLB未命中的情况要短。
如果TLB命中的概率为P%(TLB命中率),则TLB未命中的概率(TLB未命中率)将为(1-P)%。
因此,有效访问时间可以定义为:
EAT = P (t + m) + (1 - p) (t + k.m + m)
如果已实现单级分页,则p→TLB命中率,t→访问TLB所需的时间,m→访问主存储器所需的时间k = 1。
通过公式,我们知道