一、前言
在過去的幾年中,計算機處理器取得了相當大的進步,晶體管的尺寸每年都在變小,而且這種進步達到了摩爾定律迅速變得多余的地步。
當涉及到處理器時,不僅晶體管和頻率很重要,高速緩存也很重要。
在討論 CPU(Central Processing Units)時,您可能聽說過高速緩存。但是,我們并沒有過多地關注這些數字,它們也不是這些 CPU 廣告的主要亮點。
那么,CPU 緩存到底有多重要,它又是如何工作的?
二、什么是 CPU 緩存?
首先,緩存只是一種非常快速的內存類型。您可能知道,計算機內部有多種內存類型。有一個主存儲(如硬盤或 SSD),用于存儲大量數據(操作系統和所有程序)。
接下來,我們有隨機存取存儲器,通常稱為 RAM。這比主存儲要快得多。
最后,CPU 自身具有更快的存儲單元,我們稱之為緩存。
計算機的內存具有基于速度的層次結構,而緩存位于該層次結構的頂部,是最快的。它也是最靠近中央處理的地方,它是 CPU 本身的一部分。
高速緩存是靜態 RAM(SRAM),而系統 RAM 是動態 RAM(DRAM)。靜態 RAM 是一種可以保存數據但是不要用一直刷新的存儲器,與 DRAM 不同,SRAM 更加適合用于高速緩存。
三、CPU 緩存如何工作?
我們已經知道,程序被設計為一組指令,最終由 CPU 運行。
當我們運行程序的時候,這些指令必須從主存儲器取指令到 CPU。這是內存層次結構起作用的地方。
數據首先被加載到 RAM 中,然后被發送到 CPU。因為 CPU 每秒都能夠執行大量指令。為了充分利用其功能,CPU 需要訪問超高速內存,這是緩存的來源。
內存控制器執行從 RAM 中獲取數據并將其發送到緩存的工作。根據系統中使用的 CPU,此控制器可以位于主板的北橋芯片組上,也可以位于 CPU 本身內部。
然后,高速緩存在 CPU 內執行數據的來回傳輸。內存的層次結構也存在于緩存中。
四、緩存級別:L1,L2 和 L3
CPU 緩存分為三個主要的**“級別”**,即 L1,L2 和 L3。這里的層次結構是根據緩存速度來劃分的。
L1(1 級)高速緩存是計算機系統中存在的最快的內存。就訪問優先級而言,L1 緩存具有 CPU 在完成特定任務時最可能需要的數據。
就其大小而言,L1 高速緩存通常最多可達 256KB。但是,一些真正功能強大的 CPU 現在將其占用近 1MB。現在,某些服務器芯片組(如 Intel 的高端 Xeon CPU)具有 1-2MB 的一級緩存。
L1 緩存通常也分為兩種方式,分為指令緩存和數據緩存。指令高速緩存處理有關 CPU 必須執行的操作的信息,而數據高速緩存則保留要在其上執行操作的數據。
L2(2 級)緩存比 L1 緩存慢,但大小更大。它的大小通常在 256KB 到 8MB 之間,盡管更新,功能強大的 CPU 往往會超過此大小。L2 高速緩存保存下一步可能由 CPU 訪問的數據。在大多數現代 CPU 中,L1 和 L2 高速緩存位于 CPU 內核本身,每個內核都有自己的高速緩存。
L3(3 級)高速緩存是最大的高速緩存存儲單元,也是最慢的一個。它的范圍從 4MB 到 50MB 以上。現代 CPU 在 CPU 裸片上具有用于 L3 高速緩存的專用空間,并且占用了很大一部分空間。
五、緩存命中或未命中以及延遲
數據會從 RAM 依次流到 L3 高速緩存,然后是 L2,最后是 L1。
當處理器正在尋找要執行操作的數據時,它首先嘗試在 L1 高速緩存中找到它。如果 CPU 能夠找到它,則該情況稱為高速緩存命中。然后,它繼續在 L2 和 L3 中找到它。
如果找不到數據,它將嘗試從主內存訪問數據。這稱為高速緩存未命中。
現在,眾所周知,高速緩存旨在加快主內存和 CPU 之間的數據傳輸。
從內存訪問數據所需的時間稱為延遲,L1 具有最低的延遲,是最快的,并且最接近核心,而 L3 具有最高的延遲。緩存未命中時,延遲會增加很多。這是因為 CPU 必須從主存儲器中獲取數據。
隨著計算機變得越來越快和越來越好,我們看到延遲減少了。現在,我們擁有低延遲的 DDR4 RAM,以及具有低訪問時間的超高速 SSD 作為主要存儲,這兩項都大大降低了整體延遲。
以前,緩存設計曾經使 L2 和 L3 緩存位于 CPU 外部,這對延遲產生了負面影響。
然而,CPU 制造工藝的進步使得在比以前更小的空間中安裝數十億個晶體管。因此,為緩存留出了更多空間,這使緩存盡可能地靠近核心,從而大大減少了延遲。
六、緩存的未來
緩存設計一直在發展,尤其是隨著內存變得更便宜,更快和更密集。英特爾和 AMD 在緩存設計方面進行了相當多的試驗,英特爾甚至還在試驗 L4 緩存。CPU 市場正在以前所未有的速度向前發展。
這樣,我們必定會看到緩存設計跟上 CPU 不斷增長的能力。
緩存設計方面進行了相當多的試驗,英特爾甚至還在試驗 L4 緩存。CPU 市場正在以前所未有的速度向前發展。
這樣,我們必定會看到緩存設計跟上 CPU 不斷增長的能力。
此外,還有很多工作可以減少現代計算機的瓶頸。減少內存延遲可能是其中最大的一部分。業界正在為相同的解決方案而努力,并且未來看起來確實充滿希望。
審核編輯黃宇
-
處理器
+關注
關注
68文章
19265瀏覽量
229673 -
cpu
+關注
關注
68文章
10855瀏覽量
211606 -
RAM
+關注
關注
8文章
1368瀏覽量
114650 -
內存
+關注
關注
8文章
3020瀏覽量
74009
發布評論請先 登錄
相關推薦
評論