後備緩衝器


尋呼的缺點

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