近年來,計算機中央處理器已經取得了相當大的進步,晶體管每年都在變小,性能也變得更加強大。每當提到處理器的性能時,人們往往會想到晶體管和頻率。實際上,除了更多的晶體管數量和更高的頻率之外,緩存也非常重要。
對于大部分人來講,他們大都聽說過緩存。但是,并沒有對 CPU 緩存的容量給予足夠的關注。那么,CPU 緩存到底有多重要,它是如何工作的?
什么是 CPU 高速緩存?
簡而言之,CPU 緩存只是一種非常快速的內存類型。在計算的早期,處理器速度和內存速度都很低。然而,在 1980 年代,處理器速度開始迅速提高。當時的系統內存(RAM)無法應對或匹配不斷增加的CPU速度,因此一種新型的超快內存誕生了:CPU緩存。
現在,您的計算機內部有多種類型的內存,例如有主存儲(如硬盤或 SSD)存儲大部分數據,即操作系統和程序。
還有“隨機存取存儲器”, 俗稱內存,它比主存儲快得多,但只是一個短期存儲介質,它讓計算機及其程序使用 RAM 來存儲經常訪問的數據,從而幫助保持計算機上的操作良好而快速。
最后,CPU 內部還具有更快的內存單元,稱為 CPU 緩存。
計算機內存具有基于其運行速度的層次結構。CPU 緩存位于此層次結構的頂部,是最快的。它也是最接近中央處理的地方,是CPU本身的一部分。從技術上來看,高速緩存的運行速度比 RAM 快 10 到 100 倍,只需要幾納秒即可響應 CPU 請求。
計算機內存也有不同的類型,其中高速緩存是靜態RAM(SRAM)的一種形式,而常規系統RAM稱為動態RAM(DRAM)。靜態RAM可以保存數據而無需不斷刷新,這與DRAM不同,這使得SRAM成為緩存的理想選擇。
CPU 緩存如何工作?
計算機上的應用程序被設計為 CPU 解釋和運行的一組指令。當您運行程序時,指令會從主存儲(硬盤驅動器)傳輸到 CPU,這就是內存層次結構發揮作用的地方。
數據首先加載到 RAM 中,然后發送到 CPU。CPU每秒能夠執行大量指令。為了充分利用其功能,CPU 需要訪問超快內存,這就是 CPU 緩存的用武之地。
內存控制器從 RAM 獲取數據并將其發送到 CPU 緩存,然后內存緩存在 CPU 內來回執行數據。當然,內存層次結構也存在于 CPU 緩存中。
CPU 高速緩存分為三個“級別”:L1、L2 和 L3,內存層次結構則根據速度以及緩存大小進行排列。
一級緩存
L1(級別 1)緩存是計算機系統中存在的最快內存。就訪問優先級而言,一級緩存具有 CPU 在完成特定任務時最有可能需要的數據。
一級緩存的大小取決于 CPU。一些高端消費類CPU現在具有1MB的L1緩存,如Intel i9-9980XE,但這些要花費大量資金,而且仍然很少。一些服務器芯片組,如英特爾的Xeon系列,還具有1-2MB的L1內存緩存。
由于一級緩存的大小沒有“標準”,因此您必須在購買前仔細查看 CPU 規格以確定確切的一級內存緩存大小。
英特爾 CPU L1 數據緩存圖
一級緩存通常分為兩部分:指令緩存和數據緩存。指令高速緩存處理有關 CPU 必須執行的操作的信息,而數據高速緩存保存要對其執行操作的數據。
二級緩存
L2(級別 2)緩存比 L1 緩存慢,但容量更大。L1 緩存可能以 KB 為單位,而 L2 內存緩存以兆字節為單位。例如,AMD Ryzen 5 5600X具有384KB的L1緩存和3MB的L2緩存(加上32MB的L3緩存)。
二級緩存大小因 CPU 而異,但其大小通常在 256KB 到 32MB 之間。大多數 CPU 將包含超過 256KB 的二級緩存,這在現階段是最小的。此外,一些最強大的 CPU 具有更大的二級內存緩存,遠遠超過 8MB。
在速度方面,二級緩存落后于一級緩存,但仍然比您的系統 RAM 快得多。一級內存緩存通常比 RAM 快 100 倍,而二級緩存大約快 25 倍。
三級緩存
早期,L3內存緩存實際上是在主板上找到的。現在,CPU 中的 L3 緩存可能非常龐大,高端消費類 CPU 具有高達 32MB 的 L3 緩存,某些服務器 CPU L3 緩存可能會超過此值,最高可達 128MB。
L3 緩存是最大但也是最慢的緩存單元。 但是,雖然芯片本身的每個內核都存在L1和L2緩存,但L3緩存更類似于整個芯片都可以利用的通用內存池。
我們需要多少 CPU 緩存?
緩存越多、容量越大,則會越好,價格也會越高。新一代的CPU自然會比老一代包含更多的CPU緩存,并且緩存也可能更快。
因此,我們可以根據自己的實際應用場景需求,在購買產品之前仔細查看產品的規則,以此來保證買到自己想要的產品。
原文鏈接:??https://www.makeuseof.com/tag/what-is-cpu-cache/??
原文作者:GAVIN PHILLIPS