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