OS 基础教程

进程管理

同步

死锁

内存管理

文件管理

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/os-translation-look-aside-buffer.html

后备缓冲器


寻呼的缺点

  • 页表的大小可能非常大,因此浪费了主存。
  • CPU将花费更多时间从主存储器中读取单个字。

如何减少页面大小

  • 页面大小可以通过增加页面大小来减小,但会导致内部碎片,并且也会导致页面浪费。
  • 其他方式是使用多级分页,但增加了有效访问时间,因此这不是一个实际的方法。

如何减少有效的访问时间

  • CPU可以使用一个寄存器,里面存储页表,这样访问页表的访问时间可以变得非常少,但是寄存器并不便宜,并且与页表大小相比非常小,因此这也不是 实用的方法。

  • 为了克服分页中的这些缺点,我们寻找一种比寄存器便宜并且比主存更快的存储器,以便CPU可以一次又一次地访问页表所需的时间可以减少,并且它只能聚焦 访问实际的单词。

参考地点

在操作系统中,引用局部性的概念表明,OS不能将整个进程加载到主存储器中,而只能加载主存储器中经常由CPU访问的那些页面数量,以及OS 也可以仅加载那些对应于那些许多页面的页表项。

转换后备缓冲器(TLB)

可将转换后备缓冲区定义为内存缓存,可用于减少一次又一次访问页表所需的时间。

它是一个更靠近CPU的内存缓存,CPU访问TLB所用的时间少于访问主内存所花费的时间。

换句话说,TLB比主存更快更小,但比寄存器更便宜,更大。

TLB遵循参考位置的概念,这意味着它仅包含CPU经常访问的那些许多页面项。

EAT = P (t + m) + (1 - p) (t + k.m + m)

其中,p→TLB命中率,t→访问TLB的时间,m→访问主存储器所需的时间k = 1,如果已实现单层寻呼。

通过公式,就可以清楚地知道了。

  • 如果TLB命中率提高,有效访问时间将会减少。
  • 在多级寻呼的情况下,有效的访问时间将会增加。