CPU 緩存如何工作以及什麼是 L1、L2 和 L3 緩存?
近年來,計算機處理器取得了長足的進步。晶體管每年都變得越來越小,並且進步達到了摩爾定律變得多餘的地步。
對於處理器,重要的不僅僅是晶體管和頻率,還有高速緩存。
在討論 CPU(中央處理器)時,您可能聽說過高速緩存。然而,我們對這些 CPU 高速緩存內存數量的關注不夠,它們也不是 CPU 廣告的主要亮點。
那麼,CPU 緩存到底有多重要,它是如何工作的呢?
什麼是 CPU 高速緩存?
簡而言之,CPU 內存緩存只是一種非常快的內存類型。在計算的早期,處理器速度和內存速度都很低。然而,在 20 世紀 80 年代,處理器速度開始快速增長。當時的系統內存(RAM)無法應對或匹配不斷提高的 CPU 速度,於是一種新型的超高速內存誕生了:CPU 高速緩存。
現在,您的計算機內部有多種類型的內存。
主存儲,如硬盤或 SSD,存儲大量數據——操作系統和程序。
接下來,我們有“隨機存取存儲器”,通常稱為 RAM。這比主存儲快得多,但只是一種短期存儲介質。您的計算機及其程序使用 RAM 來存儲經常訪問的數據,以幫助您在計算機上保持良好和快速的操作。
最後,CPU 本身俱有更快的內存單元,稱為 CPU 內存緩存。
計算機內存具有基於其運行速度的層次結構。CPU 高速緩存位於該層次結構的頂部,速度最快。它也是最接近中央處理髮生的地方,是 CPU 本身的一部分。根據Tech Target的說法,“緩存內存的運行速度比 RAM 快 10 到 100 倍,只需幾納秒即可響應 CPU 請求。”
計算機內存也有不同的類型。
高速緩存是靜態 RAM (SRAM) 的一種形式,而您的常規系統 RAM 稱為動態 RAM (DRAM)。與 DRAM 不同,靜態 RAM 可以保存數據而無需不斷刷新,這使得 SRAM 成為高速緩存的理想選擇。
CPU 緩存如何工作?
計算機上的程序和應用程序被設計為一組由 CPU 解釋和運行的指令。當您運行程序時,指令會從主存儲器(您的硬盤驅動器)到達 CPU。這就是內存層次結構發揮作用的地方。
數據首先加載到 RAM 中,然後發送到 CPU。CPU 每秒能夠執行大量指令。為了充分利用其能力,CPU 需要訪問超高速內存,這就是 CPU 緩存的用武之地。
內存控制器從 RAM 中獲取數據並將其發送到 CPU 緩存。根據您的 CPU,控制器位於 CPU 或主板上的北橋芯片組上。
內存緩存然後在 CPU 中執行數據的來回。內存層次結構也存在於 CPU 緩存中。
CPU 高速緩存的級別:L1、L2 和 L3
CPU 高速緩存分為三個“級別”:L1、L2 和 L3。內存層次結構同樣取決於速度,因此也取決於緩存大小。
那麼,CPU 緩存大小對性能有影響嗎?
一級緩存
L1(1 級)高速緩存是計算機系統中最快的內存。在訪問優先級上,L1 緩存中有 CPU 在完成某項任務時最有可能需要的數據。
L1緩存的大小取決於CPU。一些高端消費類 CPU 現在具有 1MB L1 緩存,例如 Intel i9-9980XE,但這些 CPU 價格昂貴,而且數量仍然很少。一些服務器芯片組,如 Intel 的 Xeon 系列,還具有 1-2MB 的 L1 內存緩存。
沒有“標準”L1 緩存大小,因此您必須在購買前檢查 CPU 規格以確定確切的 L1 內存緩存大小。
L1緩存通常分為兩部分:指令緩存和數據緩存。指令緩存處理有關 CPU 必須執行的操作的信息,而數據緩存保存要執行操作的數據。
二級緩存
L2(2 級)緩存比 L1 緩存慢,但大小更大。L1 緩存可能以千字節為單位,現代 L2 內存緩存以兆字節為單位。例如,AMD 評價很高的 Ryzen 5 5600X 擁有 384KB L1 緩存和 3MB L2 緩存(外加 32MB L3 緩存)。
L2 緩存大小因 CPU 而異,但其大小通常在 256KB 到 32MB 之間。大多數現代 CPU 將包含超過 256KB 的二級緩存,這個大小現在被認為很小。此外,一些最強大的現代 CPU 具有更大的 L2 內存緩存,遠遠超過 8MB。例如,
就速度而言,L2 緩存落後於 L1 緩存,但仍比系統 RAM 快得多。L1 內存緩存通常比 RAM 快 100 倍,而 L2 緩存大約快 25 倍。
三級緩存
進入 L3(3 級)緩存。在早期,L3 內存緩存實際上是在主板上找到的。這是很久以前的事了,那時大多數 CPU 還只是單核處理器。現在,您的 CPU 中的三級緩存可以很大,高端消費類 CPU 的三級緩存高達 32MB,而 AMD 革命性的 Ryzen 7 5800X3D CPU 則配備 96MB 的三級緩存。某些服務器 CPU L3 緩存可以超過此值,最高可達 128MB。
L3 高速緩存是最大但也是最慢的高速緩存單元。現代 CPU 包括 CPU 本身的 L3 緩存。但是,雖然芯片本身的每個內核都存在 L1 和 L2 緩存,但 L3 緩存更類似於整個芯片都可以使用的通用內存池。
下圖顯示了 2012 年推出的 Intel Core i5-3570K CPU 和八年後 2020 年推出的 AMD Ryzen 5800X CPU 的 CPU 內存緩存級別。CPU 緩存數據位於第二張圖片的右下角。
請注意 L1 緩存是如何分成兩部分的,而 L2 和 L3 在兩個 CPU 上分別更大?然而在 AMD Ryzen 5800X 上,L3 緩存比 Intel i5-3570K 大五倍多。
我需要多少 CPU 緩存內存?
這是個好問題。如您所料,越多越好。最新的 CPU 自然會包含比前幾代更多的 CPU 緩存內存,緩存內存也可能更快。您可以做的一件事是學習如何有效地比較 CPU。那裡有很多信息,學習如何比較和對比不同的 CPU 可以幫助您做出正確的購買決定。
高速緩存設計一直在發展,尤其是隨著內存變得更便宜、更快和更密集。例如,AMD 最近的創新之一是智能存取內存和無限高速緩存,兩者都提高了性能。
數據如何在 CPU 內存緩存之間移動?
大問題:CPU 高速緩存是如何工作的?
用最基本的術語來說,數據從 RAM 流向 L3 緩存,然後是 L2,最後是 L1。當處理器尋找數據以執行操作時,它首先嘗試在 L1 緩存中找到它。如果 CPU 找到它,則該情況稱為高速緩存命中。然後繼續在 L2 和 L3 中找到它。
如果 CPU 在任何內存緩存中都找不到數據,它會嘗試從您的系統內存 (RAM) 訪問它。發生這種情況時,稱為高速緩存未命中。
現在,正如我們所知,高速緩存旨在加速主內存和 CPU 之間的信息來回。從內存訪問數據所需的時間稱為“延遲”。
L1 高速緩存的延遲最低,速度最快且最接近內核,而 L3 的延遲最高。當緩存未命中時,內存緩存延遲會增加,因為 CPU 必須從系統內存中檢索數據。
隨著計算機變得更快、更高效,延遲繼續減少。低延遲 DDR4 和 DDR5 RAM 以及超快 SSD 可減少延遲,讓您的整個系統比以往更快。因此,系統內存的速度也很重要。
CPU 緩存速度說明
CPU 高速緩存大小和速度對計算機的整體運行很重要。與大多數與計算機硬件相關的問題一樣,越多越好,更快永遠是明智的選擇。
但是,在購買新 CPU 時,您不應該讓 CPU 緩存成為最終的決定性選擇。當然,越多越快越好,但您還需要考慮其他重要的 CPU 性能因素,例如內核數量、CPU 時鐘速度等。
發佈留言