什麼是翻譯後備緩衝區?

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

如果 Powerbeats Pro 无法在充电盒中充电,该怎么办

如果 Powerbeats Pro 无法在充电盒中充电,该怎么办

如果您的 Powerbeats Pro 无法充电,请使用其他电源并清洁耳塞。充电时请保持充电盒打开。

3D打印基础知识:必读的维护清单

3D打印基础知识:必读的维护清单

保持设备良好的状态是必须的。以下是一些有用的提示,可以帮助您保持您的3D打印机处于最佳状态。

佳能 Pixma MG5220:无需墨水扫描

佳能 Pixma MG5220:无需墨水扫描

当佳能 Pixma MG5220 没有墨水时,如何启用扫描功能。

笔记本电脑过热的5个原因

笔记本电脑过热的5个原因

了解笔记本电脑过热的一些可能原因,以及避免这个问题和保持设备冷却的小贴士和技巧。

如何修复GeForce Now错误代码0xC272008F

如何修复GeForce Now错误代码0xC272008F

您正在为一晚的游戏做准备——这是一次重要的体验——您刚刚在GeForce Now流媒体服务上购买了“星球大战:外部法则”。了解唯一已知的解决方法,教您如何修复GeForce Now错误代码0xC272008F,以便您可以再次开始玩育碧游戏。

3D打印基础:您的3D打印机维护提示

3D打印基础:您的3D打印机维护提示

保持3D打印机的良好状态对于获得最佳效果非常重要。这里有一些重要的维护提示。

如何找到打印机的IP地址

如何找到打印机的IP地址

找不到你的打印机使用的IP地址吗?我们将向您展示如何找到它。

如何在三星手机上使用AirPods

如何在三星手机上使用AirPods

如果您不确定是否应该为您的三星手机购买AirPods,这篇指南可以帮助您。最明显的问题是这两者是否兼容,答案是:是的,它们是兼容的!

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

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

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

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

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

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