什麼是翻譯後備緩衝區?

CPU 是極其複雜的野獸。有大量相互連接的部件,它們都必須完美協同工作才能達到我們所看到的性能水平。內存性能是現代 CPU 性能的關鍵因素,特別是作為限制因素。

為什麼內存速度如此重要?

CPU 的速度快得令人難以置信,最新一代在充分冷卻的情況下運行速度為 5.7GHz。這使他們每秒可以完成 57 億次操作。許多這些操作對需要存儲在內存中的某種類型的數據執行操作。

稱為 RAM 的主系統內存也非常快。不幸的是,與 CPU 以外的任何東西相比,它的速度都非常快。現代高端 RAM 的絕對延遲約為 60 納秒。不幸的是,這相當於大約 342 個 CPU 週期。為了加速內存訪問,使用了動態緩存數據的 CPU 緩存。該緩存位於 CPU 芯片本身上,並使用 SRAM 單元而不是 DRAM 單元,使其速度更快。不幸的是,CPU 緩存也比系統 RAM 小很多,通常總計不到 100MB。儘管如此,儘管它的體積很小,但分層 CPU 緩存系統極大地提高了系統性能。

虛擬內存來搞亂一切

現代計算機使用稱為虛擬內存的系統。不是為進程分配物理內存地址,而是使用虛擬內存地址。每個進程都有自己的虛擬內存地址空間。這有兩個好處。首先,它提供了屬於一個進程的內存和屬於另一個進程的內存之間的簡單分離。這有助於防止惡意軟件從其他軟件的內存中讀取數據從而可能訪問敏感信息的攻擊。它還對進程隱藏了物理內存結構。這允許 CPU 將很少使用的內存位移動到存儲上的頁面文件,而不必從虛擬 RAM 中卸載它。這允許計算機溫和地管理需要比物理內存更多 RAM 的場景。沒有虛擬內存,

不幸的是,如果您使用虛擬內存地址,計算機需要實際將這些虛擬內存地址轉換為物理內存地址才能讀取數據。這就需要一個表來存儲所有虛擬內存地址到物理內存地址的轉換。它的大小直接取決於使用的​​ RAM 量。它通常相當小,至少與系統 RAM 的容量相比是這樣。不幸的是,如果您將虛擬地址和物理地址之間的轉換存儲在 RAM 中,則需要為每個對 RAM 的請求向 RAM 發出兩次請求。一個找到要請求的物理地址,然後另一個實際訪問該位置。

輸入翻譯後備緩衝區

這個問題的解決方案是將翻譯表存儲在更快的地方。至少從速度的角度來看,CPU 緩存很適合這個要求。然而,這樣做的問題是 CPU 緩存很小,而且已經被大量使用。該表不僅不適合緩存,而且這樣做會破壞其已經決定性能的使用。

當然,如果緩存的原理已經適用於內存訪問,為什麼不重複一下翻譯表呢?這正是翻譯後備緩衝器 (Translation Lookaside Buffer, TLB) 的含義。它是最近地址轉換的高速緩存。它不足以存儲整個表,但它的小尺寸意味著它可以在單個時鐘週期內非常快速地響應。

任何內存請求都通過 TLB。如果有 TLB 命中,它可以為實際請求提供物理內存地址,通常會增加一個延遲週期。如果有 TLB 未命中,則必須從主內存執行查找。大約 5 個週期的 TLB 未命中會造成很小的性能損失,這種損失超過了內存訪問延遲。一旦從系統 RAM 中檢索到地址轉換,它就會被推入 TLB,然後立即通過 TLB 命中重複請求。

注意:TLB 驅逐有不同的方案。有些可能使用先進先出或 FIFO 方案。其他人可能會使用最不常用或 LFU 方案。

在地址轉換錶中沒有條目的極少數情況下,會導致頁面錯誤,因為請求的數據不在 RAM 中。然後操作系統必須處理故障並將數據從存儲器傳輸到 RAM,然後請求才能繼續。

結論

Translation Lookaside Buffer(TLB)是一種高速 CPU 高速緩存,專用於緩存系統 RAM 中頁面文件的最新地址轉換。這是必要的,因為在所有現代計算機中實現的虛擬內存系統都需要對 RAM 的每個請求兩次請求 RAM。一個將虛擬內存地址轉換為物理內存地址,另一個實際訪問物理地址。通過緩存最近的翻譯,內存延遲可以大大減少 TLB 命中。

必須注意確保緩存的翻譯與當前活動的進程相關。由於每個進程都有不同的虛擬地址空間,因此它們不能被重用。沒有嚴格限制這是 Meltdown 漏洞背後的原因。



Leave a Comment

什麼是 WPS?它是如何工作的?

什麼是 WPS?它是如何工作的?

通過此詳細教程了解 WPS 的全部內容,學習如何簡單安全地連接無線網絡。

LinkedIn:如何防止其他人知道您看到了他們的個人資料

LinkedIn:如何防止其他人知道您看到了他們的個人資料

了解如何使用LinkedIn的私人模式,防止其他人知道您查看了他們的個人資料。這裡有不同的解決方案,以確保您的隱私。

如何使用 Google Pixel Watch 追踪睡眠

如何使用 Google Pixel Watch 追踪睡眠

查看如何使用 Google Pixel Watch 來跟踪您的睡眠質量;另請參閱如何訪問收集到的信息。

在三星手機上使用和連接 AirPods

在三星手機上使用和連接 AirPods

如果您不確定是否為您的三星手機購買 AirPods,本指南當然可以提供幫助,涵蓋三星手機與 AirPods 的兼容性及使用方法。

Pioneer DEH-1700:如何設置時鐘

Pioneer DEH-1700:如何設置時鐘

在 Pioneer DEH-1700 汽車音響上設置時間的詳細步驟和提示,讓您的音響系統更便捷。

如何將游戲手柄與 Oculus Quest 2 連接

如何將游戲手柄與 Oculus Quest 2 連接

了解如何將游戲手柄無縫連接到Oculus Quest 2,提升您的遊戲體驗。

如何使用三星 Flow

如何使用三星 Flow

探索如何使用三星 Flow 將您的智能手機和平板電腦連接到 Windows PC,享受無縫的文件共享與通知同步。

什麼是 SLI?

什麼是 SLI?

SLI 或 Scalable Link Interface 是一種 Nvidia 技術,允許多個顯卡協同作業以提升性能。了解 SLI 的優缺點及最佳配置方法。

修復始終顯示在 Galaxy Watch 上不起作用的問題

修復始終顯示在 Galaxy Watch 上不起作用的問題

要修復三星 Galaxy Watch 上的“始終顯示”問題,請禁用省電模式並清除 Galaxy Wearable 應用程序緩存。我們提供了詳細的故障排除步驟。

如何關閉相機快門聲音 – Galaxy S 21 Plus

如何關閉相機快門聲音 – Galaxy S 21 Plus

在 Galaxy S21 Plus 上像忍者一樣拍攝照片並關閉快門聲。了解如何使用簡單的步驟來悄悄拍照。