CPU的一二三級緩存有什麼用處?

林林泉


CPU的緩存設計是為了更快的數據處理速度,因為電腦的硬盤尤其是機械硬盤速度非常慢,比起CPU動輒幾Ghz的頻率差太多了,這樣如果CPU直接從硬盤調取數據就需要大量的時間等待,從而導致降低性能,無法充分發揮CPU的性能優勢,在這種情況下就為CPU設計了專用緩存,過去緩存是和CPU本體分離的,隨著半導體工藝的進步,CPU緩存就完全融為一體了,速度也比以前更快。

CPU為什麼要設計一二三級緩存?因為一級緩存的速度是最快的,同時也是最複雜的,限於CPU核心面積,一級緩存不可能設計的很大,所以到現在的CPU的一級緩存也不過以KB來計算。

二級緩存主要就是用來彌補一級緩存容量的不足,因為緩存再快要是存儲不了多少數據也會降低性能,這樣二級緩存就使用了不同的結構以增大容量為主,目前主流CPU的二級緩存容量都是一級緩存的好幾倍,但是在多核CPU中,每個核心的二級緩存都是獨立的。

三級緩存出現的最晚,它是為了進一步增大CPU緩存容量以提高命中率來設計的,和二級緩存不同的是,三級緩存一般都是CPU所有核心共享的緩存,這樣設計可以大大提高CPU利用緩存的效率和靈活度,也是目前CPU緩存最大的一類。

CPU緩存的結構設計和內存是不同的,內存DRAM芯片結構更適合做大容量,所以能輕易做到以G為單位的容量,但是速度比起CPU內部緩存就慢很多,內存是作為CPU與硬盤之間的數據存儲功能,在速度上從快到慢是一級緩存>二級緩存>三級緩存>內存>硬盤,電腦正是通過這樣的設計一方面儘可能提高了CPU的速度,另一方面把整體成本降低到合理區間。


嘟嘟聊數碼


先看看為什麼CPU會有L1、L2、L3這樣的緩存設計,正如下圖所示,現在的處理器太快了,而從內存中讀取數據實在太慢(一個是因為內存本身速度不夠,另一個是因為它離CPU太遠了,總的來說需要讓CPU等待幾十甚至幾百個時鐘週期),這個時候為了保證CPU的速度,就需要延遲更小速度更快的內存提供幫助,而這就是緩存。

現在讓我們看看多級緩存(L1,L2,L3)的好處,而不僅僅是單個緩存。

1、高速緩存越靠近ALU等核心單元,訪問速度就越快,所以會有靠近核心的L1緩存,雖然它小,但它真的快啊;

2、高速緩存的容量越大,緩存命中(Cache hit)就越高,所以當L1沒有命中時,需要一個容量更大的但速度也不慢的緩存來提供數據,這就是L2;

3、更大的緩存意味著更高的命中,同時也意味著更高的成本、更慢的速度、更多的晶體管,更大的面積,因此它不可能靠近所有核心單元,這就是L3;

這就是CPU緩存的層次結構,基於性能、成本、設計上的一個平衡,L1緩存可以最大化單個內核的位置和速度(甚至分離指令和數據)。L2高速緩存會更大些,命中更高,速度稍慢,一般還是位於每個核心內,而L3緩存通常在系統中的所有內核間共享,提供合理的速度和容量。比如英特爾Core i7-8700K它的L1大小隻有64K,還分為32K數據和32K指令,L2大小為256K,L3達到12MB。

現代CPU的高速緩存體系結構是非常複雜的,其中包括硬件預取和數據轉發,以便能提供最佳的高速緩存命中機會。有些CPU甚至還加入了L4緩存。


超能網


如題所述

拋開你所講的i9處理器,我們就說說,CPU緩存的重要性,話題再扯遠一點,CPU緩存究竟是怎樣發展而來的?

簡單直白的來講,CPU的緩存是用來調用數據,最早的CPU是通過內存數據完成,由於內存條的工作頻率要大大低於CPU的工作頻率,所以CPU要等待內存條,導致整體運算速度,比較慢,後來因為製作工藝的提升主板集成了緩存,這樣一來CPU調用數據的速度有了質的提升,但數據調用速度依然低於CPU自身的工作頻率,後來CPU集成了一級二級緩存,那麼當CPU發出命令是直接一級緩存中調用數據,這樣就大大提升了,CPU運算速度

其實你可以用使用CPU z,去觀察CPU的一級二級緩存,包括三級緩存容量,究竟有多大的區別?

無論CPU發展到現在,由於製作成本太高的原因,CPU的一級緩存一直沒有質的提升,因為生產成本太高,都是用來增加二級緩存和三級緩存,其實在正常的使用情況下,CPU對大型數據處理才會運用到三級緩存,因為二級緩存數據已經沒辦法進行處理

再用一個例子來舉,CPU相當一個點菜的人,一級緩存,相當於菜單,二級緩存,相當於菜,CPU是那一個點菜的人,都是先通過二級緩存,再來訪問一級緩存,這樣大大減少一級緩存數據的佔用,由於整體運算速度的提升

等未來不久,如果能夠降低生產成本,直接將cpu1級緩存進行質的提升,那麼CPU的運算,速度將會突破瓶頸

一級緩存,速度最快,但是容量小,二級緩存相比較三級緩存,數據處理,速度更快


俠客I挨踢T


一切為了速度!

因為硬盤尤其是傳統嗯機械硬盤速度相對於CPU來說是非常慢的!所以電腦在運行時,會首先把所需要的文件調去到內存中,然後再執行,這樣速度就會比從硬盤直接讀取要快很多!!內存就是CPU和硬盤之間的臨時倉庫(開機狀態下)!

CPU的緩存也叫高速緩存,他的速度比內存更快!同時價格也更貴,現在都是集成在CPU內部的,在CPU面積不變的情況下,高速緩存的容量也不能做的很大,現在的一級高速緩存也是以KB計算元比內存小多了!

高速緩存存在的意義就是增加CPU的命中率!命中率就是指某一時刻CPU需要的數據是不是存在於高速緩存裡!由於一級高速緩存其實只有幾K最高几十K,所以命中率其實也不是特別高,這樣就需要頻繁的去內存取數據!尤其在現在的多任務環境下,這樣就有了二級緩存。它比一級速度慢一點,但是容量更大一點這樣的命中率就提高了很多,CPU去內存讀取數據的次數就少了!

Intel的大部分CPU還有三級緩存,比二級緩存的速度更慢一些,但是還是比內存的速度更快,並且三級緩存可以做到MB級別的容量,進一步的提高了命中率,大大降低了CPU等待數據的時間!更提高了計算機的運行速度!


風來了156


首先我們要知道CPU緩存是什麼,CPU緩存位於CPU與內存之間,起到臨時存儲器的作用。它的主要作用在於CPU的運行速度要遠高於內存速度,這會導致正常的運算過程中,CPU往往會等到內存將數據傳輸過來或者通過內存傳輸至其他硬件。CPU緩存的出現就是為了應對這類情況的出現,通常而言,CPU緩存容量比內存小但交換速度比內存快,當CPU調用大量數據時,就可先在CPU緩存中調用,從而加快讀取速度。

我們日常購買CPU的時候,會在參數表中看到有一級緩存、二級緩存、三級緩存指標,三種緩存的容量各不相同,他們之間的關係可以理解為每一級緩存中存儲的全部數據為下一級緩存的一部分,這三種緩存的技術難度和製造成本是相對遞減的,所以其容量也是相對遞增。

CPU緩存

一級緩存

一級緩存就在CPU的內核邊上,是與CPU連接最緊密的緩存,也是最早出現在CPU中緩解CPU與內存之間數據的緩存,

二級緩存

二級緩存是CPU的第二層高速緩存,L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在家用CPU容量最大是4MB。

三級緩存

三級緩存是為讀取二級緩存後未命中的數據設計的一種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。

CPU緩存作用

作用之一就是我們之前提到的減少延遲,減少CPU與內存之間數據傳輸過程中的延遲時間。

作用之二則是提高命中率,CPU在Cache中找到有用的數據被稱為命中。未找到則訪問內存,對於用戶而言,當然更希望通過訪問CPU緩存中的信息已得到速度上的優勢。而CPU緩存的作用就是為了最大限度提升這一目標。

作用三是降低裝機成本。緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存,進而降低裝機成本。

CPU緩存的作用其實就是提高命中率、降低延遲、降低內存開銷,其作用是為了提升CPU的工作效率。CPU緩存越大越好,尤其是一些專業設計、視頻渲染,由於CPU運算數據量大,對大緩存依賴較高。目前,隨著遊戲畫質的越來越優化,對於CPU緩存的需求也越來越高。


硬件學堂


首先CPU緩存都不是很大27M已經算很大的了,關於這個MB和G只是單位,我個人是這樣認為的,至於那些理論上的我們也理解不進去,不對之處大家見諒;


當內存達到1024MB那也就會一1G作為單位了,不要說內存沒有MB作為單位的,以前的內存256MB 512MB不照樣是MB只有容量達到1024MB才稱為1G,你緩存才27MB離1G還很遙遠,還有CPU緩存並不是越大越好,因為緩存採用的是速度快、非常貴的靜態RAM(SRAM),由於每個SRAM內存單元都是由4到6個晶體管構成,緩存越大CPU集成晶體管個數會增大,製作工藝會更大,發熱量也隨之增大,這個功耗和成本大大增加,所以現在緩存基本上都不大;


CPU緩存估計很多人和內存混淆,CPU緩存分為一級,二級,三級,我們就詳細談談,一級緩存,二級緩存,三級緩存但是這個緩存到底是什麼,有什麼作用,他與內存到底有什麼關係,說的不好大家見諒;


緩存是購買CPU非常重要的一個參數,它的大小直接關係CPU的讀取速度,緩存是介於內存與CPU之間的存儲器,容量比內存小,但速度比內存快,他可以大大減少CPU訪問內存的時間的部件,它是由若干緩存段組成,每個緩存段具有連續內存地址的若干個存儲單元。

緩存的工作原理;CPU需要讀取一個數據的時候,首先會從高速緩存中查找,如果找到就會立即讀取併發送給CPU處理,如果沒找到就以較慢的速度去內存中讀取併發送給CPU,同時在把這個數據所需要的數據塊調入高速緩存內,後面再讀取數據的時候直接從緩存讀取,不必再調用內存。


這樣我們舉例說明,我們把CPU比喻成一個大型加工總部,內存為部件存儲大倉庫,而緩存就是總部與大倉庫之間的小倉庫,離CPU較近的小倉庫是一級緩存,其次依次為二級緩存和三級緩存,當加工總部需要加工某個成品時候需要很多部件,這個時候緩存就是把所需要的部件提前從內存調出,存儲在小倉庫內,當總部加工需要某個部件時候就可以直接從最近的小倉庫提取,就不必大費周章去內存大倉庫調取,緩存的大小就相當於小倉庫存儲容量大小,他越大存儲的東西就越多,比如這個成品需要900個部件,如果緩存倉庫容量大就可以直接將900個部件全部提取放在緩存倉庫,如果緩存較小那麼所存儲的部件只能一次提取三四百個,那剩餘的六七百個就需要直接去內存調取,會影響整個加工時長,所以緩存大小直接關係讀取速度。


另外說說一級,二級,三級緩存;

一緩,是CPU的第一層高速緩存,主要分為數據緩存和指令緩存,這是對CPU性能影響最大的一層;

二緩,是CPU的第二層高速緩存,分內部和外部兩種芯片,內部芯片速度基本上與CPU主頻相同,而外部芯片只有主頻的一半。

三緩,離CPU較遠,讀取速度沒一級二級快,但一般三級緩存容量比前面兩級大很多。

就說這麼多了,畢竟是業餘的有什麼不對的地方,希望大家及時提出,我好改進,喜歡我的別忘關注我!謝謝。


高全玩電腦


目的:CPU緩存,主要是為了解決CPU運算速度與內存讀寫速度不匹配的矛盾。

工作原理:CPU緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取。當讀取同一個數據塊時,處理效率會非常高

短小精悍:儘管CPU緩存容量很小,但是CPU運算速度太快了,要比內存讀寫速度快很多很多,這樣會使CPU花時間等待數據到來或把數據寫入內存。

又小又快還貴,咋辦:從CPU芯片面積和成本的因素來考慮,緩存都很小。

三種緩存:CPU緩存可以分為一級緩存,二級緩存,部分高端CPU還具有三級緩存,每一級緩存中所儲存的全部數據都是下一級緩存的一部分,這三種緩存的技術難度和製造成本是相對遞減的,容量是相對遞增的。CPU讀數據從一級緩存開始讀取,如果沒有命中就到下一級緩存依次讀取。


偶遇匆匆


打個比方,你在北京一環內開個淘寶店賣衣服(CPU)從廣州每個月進貨一次(硬盤)市中心房價太貴。你在6環外租了個倉庫放貨品(內存)但是北京堵車,從倉庫到店鋪一天都未必能到。沒辦法你又在三環租了一個廉價民房作為中轉。(三級緩存)但是有些加急件需要一天上次發貨,沒辦法,你又在2環租了一個寫字間,轉發負責每天發貨(2級緩存)。但是還有一些小樣,和退換貨需要你這個老闆隨時查看。這樣你就在你一環的辦公室隔壁高價租了一個辦公室專門放樣品和臨時退換貨(一級緩存)。


築夢文化


cpu緩存的意義,另外幾個答主已經說得比較清楚了。至於緩存都是MB為單位,內存都上G了,這是因為這兩個東西的結構和採用的技術並不一樣。緩存使用的是SRAM工藝,基本單元是鎖存器,佔用晶體管多,而內存基於DRAM技術,利用的是晶體管結電容,單元電路簡單。SRAM的好處是訪問延時小且固定,而DRAM容量大,但讀寫時序複雜,讀寫帶寬和延時不固定,因此需要搭配SRAM緩存一起使用,希望對各位有幫助!


增益帶寬積


所謂的CPU緩存就是CPU內部的緩存運行頻率,緩存的大小與結構對CPU速度的影響較大,因此緩存大小也是CPU重要的性能指標之一。而CPU的緩存的工作效率能夠遠超內存、硬盤速度。


什麼是CPU緩存,CPU緩存有什麼用?

CPU緩存,英文叫Cache Memory,它是位於CPU和內存之間的臨時存儲器。CPU緩存的作用主要是為了解決CPU運算速度與內存讀寫速度不匹配的矛盾,而緩存的容量要比內存要小的太多,但是其速度要比內存快的多,因此這樣會讓CPU使用很長的時間等待數據到來或把數據寫入內存中。搜索在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就能夠避開內存直接從緩存中調用,從而加快讀取速度。

當CPU需要讀取數據並進行計算時,首先需要將CPU緩存中查到所需的數據,並在最短的時間下交付給CPU。如果沒有查到所需的數據,CPU就會提出“要求”經過緩存從內存中讀取,再原路返回至CPU進行計算。而同時,把這個數據所在的數據也調入緩存,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。

CPU—CPU緩存—內存,大概就是這個工作狀態。但是考慮到進一步優化數據的“調度”,而CPU的緩存也分為幾個層級,例如一級緩存、二級緩存、三級緩存等,主要用於優化數據的吞吐和暫存,大大提高執行效率。

CPU一級緩存、二級緩存、三級緩存是什麼意思?

一級緩存(L1 Cache

CPU一級緩存,就是指CPU的第一層級的高速緩存,主要當擔的工作是緩存指令和緩存數據。一級緩存的容量與結構對CPU性能影響十分大,但是由於它的結構比較複雜,又考慮到成本等因素,一般來說,CPU的一級緩存較小,通常CPU的一級緩存也就能做到256KB左右的水平。

二級緩存(L2 Cache66

CPU二級緩存,就是指CPU的第二層級的高速緩存,而二級緩存的容量會直接影響到CPU的性能,二級緩存的容量越大越好。例如intel的第八代i7-8700處理器,共有六個核心數量,而每個核心都擁有256KB的二級緩存,屬於各核心獨享,這樣二級緩存總數就達到了1.5MB。

三級緩存(L3 Cache

CPU三級緩存,就是指CPU的第三層級的高速緩存,其作用是進一步降低內存的延遲,同時提升海量數據量計算時的性能。和一級緩存、二級緩存不同的是,三級緩存是核心共享的,能夠將容量做的很大。


CPU的核心數量、高頻高低都會影響性能,但如果讓CPU更聰明、更有效率的執行計算任務,那麼緩存的作用就至關重要了。

如果覺得對你有幫助,可以,多多評論,多多點贊哦,也可以到我的主頁看看,說不定有你喜歡的訊息,可以隨手點個關注哦,謝謝


分享到:


相關文章: