後備緩衝器

尋呼的缺點

  • 頁表的大小可能非常大,因此浪費了主存。
  • 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命中率提高,有效訪問時間將會減少。
  • 在多級尋呼的情況下,有效的訪問時間將會增加。

上一篇: 虛擬記憶體 下一篇: 按需分頁