|
CPU緩存L1/L2/L3工作原理一、前言 在過去的幾年中,計算機處理器取得了相當大的進步,晶體管的尺寸每年都在變小,而且這種進步達到了摩爾定律迅速變得多余的地步。 當涉及到處理器時,不僅晶體管和頻率很重要,高速緩存也很重要。 在討論CPU(Central Processing Units)時,您可能聽說過高速緩存。但是,我們并沒有過多地關注這些數(shù)字,它們也不是這些CPU廣告的主要亮點。 那么,CPU緩存到底有多重要,它又是如何工作的? 二、什么是CPU緩存? 首先,緩存只是一種非常快速的內(nèi)存類型。您可能知道,計算機內(nèi)部有多種內(nèi)存類型。有一個主存儲(如硬盤或SSD),用于存儲大量數(shù)據(jù)(操作系統(tǒng)和所有程序)。 接下來,我們有隨機存取存儲器,通常稱為RAM。這比主存儲要快得多。 最后,CPU自身具有更快的存儲單元,我們稱之為緩存。 計算機的內(nèi)存具有基于速度的層次結構,而緩存位于該層次結構的頂部,是最快的。它也是最靠近中央處理的地方,它是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)存層次結構起作用的地方。 數(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)存的層次結構也存在于緩存中。 四、緩存級別:L1,L2和L3 CPU緩存分為三個主要的級別,即L1,L2和L3。這里的層次結構是根據(jù)緩存速度來劃分的。 1(1級)高速緩存是計算機系統(tǒng)中存在的最快的內(nèi)存。就訪問優(yōu)先級而言,L1緩存具有CPU在完成特定任務時最可能需要的數(shù)據(jù)。 就其大小而言,L1高速緩存通常最多可達256KB。但是,一些真正功能強大的CPU現(xiàn)在將其占用近1MB,F(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è)界正在為相同的解決方案而努力,并且未來看起來確實充滿希望。 |