A. cpu的一二三級緩存是什麼意思
在說明意思之前,先說下CPU緩存。
CPU緩存(Cache Memory)是位於CPU與內存之間的臨時存儲器,它的容量比內存小的多但是交換速度卻比內存要快得多。
高速緩存的出現主要是為了解決CPU運算速度與內存讀寫速度不匹配的矛盾,因為CPU運算速度要比內存讀寫速度快很多,這樣會使CPU花費很長時間等待數據到來或把數據寫入內存。
在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。
再來說明以二三級緩存的意思。
一級緩存:簡稱L1 Cache,位於CPU內核的旁邊,是與CPU結合最為緊密的CPU緩存,也是歷史上最早出現的CPU緩存。由於一級緩存的技術難度和製造成本最高,提高容量所帶來的技術難度增加和成本增加非常大,所帶來的性能提升卻不明顯,性價比很低,而且現有的一級緩存的命中率已經很高,所以一級緩存是所有緩存中容量最小的,比二級緩存要小得多。
二級緩存:簡稱L2 Cache,是CPU的第二層高速緩存,分內部和外部兩種晶元。內部的晶元二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是4MB,而伺服器和工作站上用CPU的L2高速緩存更高達2MB—4MB,有的高達8MB或者19MB。
三級緩存:簡稱L3 Cache,是為讀取二級緩存後未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。
分為兩種,早期的是外置,截止2012年都是內置的。而它的實際作用即是,L3緩存的應用可以進一步降低內存延遲,同時提升大數據量計算時處理器的性能。降低內存延遲和提升大數據量計算能力對游戲都很有幫助。而在伺服器領域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內存會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長度。
B. cpu緩存是什麼
CPU計算的數據都是直接從CPU緩存(Catch)存取,所以CPU緩存就是一個臨時、快速的數據交換空間,它是系統內存和CPU之間為提高系統運行速度而設置的一個數據中轉站。
我們都知道,系統的內存一般儲存著當前運行的相關程序,那麼這些數據隨時都有可能要和CPU打交道,但是CPU的速度遠比內存運行的速度快,所以為了加快他們之間的運行速度,緩存應運而生,這里包括硬碟的緩存,列印機緩存,還有光碟機緩存,都是基於協調系統運行速度的原因而設置的。
現在最新的CPU緩存已經引入了三級緩存的概念,他們之間有如下關系
速度:L1 Catch > L2 Catch > L3 Catch
容量:L1 Catch < L2 Catch < L3 Catch
這些關系很好理解,與CPU最近的當然是L1 Catch,然後依次是L2 Catch,L3 Catch,交換最頻繁的速度最快,基於成本考慮,則引入多級緩存以最好效果協調系統
C. 什麼是cpu的緩存
CPU緩存的概念
CPU緩存是位於CPU與內存之間的臨時數據交換器,它的容量比內存小的多但是交換速度卻比內存要快得多。CPU緩存一般直接跟CPU晶元集成或位於主板匯流排互連的獨立晶元上。
為了簡化與內存之間的通信,高速緩存控制器是針對數據塊,而不是位元組進行操作的。高速緩存其實就是一組稱之為緩存行(Cache Line)的固定大小的數據塊組成的,典型的一行是64位元組。
3. CPU緩存的意義
CPU往往需要重復處理相同的數據、重復執行相同的指令,如果這部分數據、指令CPU能在CPU緩存中找到,CPU就不需要從內存或硬碟中再讀取數據、指令,從而減少了整機的響應時間。所以,緩存的意義滿足以下兩種局部性原理:
時間局部性(Temporal Locality):如果一個信息項正在被訪問,那麼在近期它很可能還會被再次訪問。
空間局部性(Spatial Locality):如果一個存儲器的位置被引用,那麼將來他附近的位置也會被引用。
D. 「緩沖區」是什麼意思
緩沖區,也稱為緩存,是內存空間的一部分。也就是說,在內存空間中預留了一定的存儲空間,用來緩沖輸入或輸出的數據。這個保留的空間稱為緩沖區。
緩沖區是固定數據量的容器,它的功能是一個內存或一個分段的傳輸區,數據可以存儲在這里,以後用於檢索。
緩沖的四個性質
1.容量(容量)
指緩沖區可以容納的數據元素的最大數量。該容量是在創建緩沖區時設置的,不能更改。
2、上限(極限)
引用緩沖區中不能讀寫的第一個元素數組的下標索引。它也可以被認為是緩沖區中元素的實際數量。
3.位置
指的是要讀取或寫入的下一個元素的索引。該值將隨著get()或put()的調用而自動更新。
4.馬克(馬克)
指備忘錄位置。調用mark()設置mark = position,調用reset()設置position = mark。標記在設置之前是未定義的。
E. 電腦的緩存指的是什麼
CPU緩存(Cache
Memory)位於CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個內存儲器(緩存+內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統了。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。
緩存是為了解決CPU速度和內存速度的速度差異問題。內存中被CPU訪問最頻繁的數據和指令被復制入CPU中的緩存,這樣CPU就可以不經常到象「蝸牛」一樣慢的內存中去取數據了,CPU只要到緩存中去取就行了,而緩存的速度要比內存快很多。
這里要特別指出的是:
1.因為緩存只是內存中少部分數據的復製品,所以CPU到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時CPU還是會到內存中去找數據,這樣系統的速度就慢下來了,不過CPU會把這些數據復制到緩存中去,以便下一次不要再到內存中去取。
2.因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的演算法來更換,這樣才能保證緩存中的數據是被訪問最頻繁的。
緩存的工作原理
[編輯本段]
緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。
正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存後內存。
一級緩存和二級緩存
[編輯本段]
為了分清這兩個概念,我們先了解一下RAM
。RAM和ROM相對的,RAM是掉電以後,其中的信息就消失那一種,ROM在掉電以後信息也不會消失那一種。
RAM又分兩種,一種是靜態RAM,SRAM;一種是動態RAM,DRAM。前者的存儲速度要比後者快得多,我們現在使用的內存一般都是動態RAM。
有的菜鳥就說了,為了增加系統的速度,把緩存擴大不就行了嗎,擴大的越大,緩存的數據越多,系統不就越快了嗎?緩存通常都是靜態RAM,速度是非常的快,
但是靜態RAM集成度低(存儲相同的數據,靜態RAM的體積是動態RAM的6倍),
價格高(同容量的靜態RAM是動態RAM的四倍),
由此可見,擴大靜態RAM作為緩存是一個非常愚蠢的行為,
但是為了提高系統的性能和速度,我們必須要擴大緩存,
這樣就有了一個折中的方法,不擴大原來的靜態RAM緩存,而是增加一些高速動態RAM做為緩存,
這些高速動態RAM速度要比常規動態RAM快,但比原來的靜態RAM緩存慢,
我們把原來的靜態ram緩存叫一級緩存,而把後來增加的動態RAM叫二級緩存。
一級緩存和二級緩存中的內容都是內存中訪問頻率高的數據的復製品(映射),它們的存在都是為了減少高速CPU對慢速內存的訪問。
通常CPU找數據或指令的順序是:先到一級緩存中找,找不到再到二級緩存中找,如果還找不到就只有到內存中找了。
緩存的技術發展
[編輯本段]
最早先的CPU緩存是個整體的,而且容量很低,英特爾公司從Pentium時代開始把緩存進行了分類。當時集成在CPU內核中的緩存已不足以滿足CPU的需求,而製造工藝上的限制又不能大幅度提高緩存的容量。因此出現了集成在與CPU同一塊電路板上或主板上的緩存,此時就把
CPU內核集成的緩存稱為一級緩存,而外部的稱為二級緩存。一級緩存中還分數據緩存(Data
Cache,D-Cache)和指令緩存(Instruction
Cache,I-Cache)。二者分別用來存放數據和執行這些數據的指令,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。英特爾公司在推出Pentium
4處理器時,用新增的一種一級追蹤緩存替代指令緩存,容量為12KμOps,表示能存儲12K條微指令。
隨著CPU製造工藝的發展,二級緩存也能輕易的集成在CPU內核中,容量也在逐年提升。現在再用集成在CPU內部與否來定義一、二級緩存,已不確切。而且隨著二級緩存被集成入CPU內核中,以往二級緩存與CPU大差距分頻的情況也被改變,此時其以相同於主頻的速度工作,可以為CPU提供更高的傳輸速度。
二級緩存是CPU性能表現的關鍵之一,在CPU核心不變化的情況下,增加二級緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級緩存上有差異,由此可見二級緩存對於CPU的重要性。
CPU在緩存中找到有用的數據被稱為命中,當緩存中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有二級緩存的CPU中,讀取一級緩存的命中率為80%。也就是說CPU一級緩存中找到的有用數據占數據總量的80%,剩下的20%從二級緩存中讀取。由於不能准確預測將要執行的數據,讀取二級緩存的命中率也在80%左右(從二級緩存讀到有用的數據占總數據的16%)。那麼還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。目前的較高端的CPU中,還會帶有三級緩存,它是為讀取二級緩存後未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。
為了保證CPU訪問時有較高的命中率,緩存中的內容應該按一定的演算法替換。一種較常用的演算法是「最近最少使用演算法」(LRU演算法),它是將最近一段時間內最少被訪問過的行淘汰出局。因此需要為每行設置一個計數器,LRU演算法是把命中行的計數器清零,其他各行計數器加1。當需要替換時淘汰行計數器計數值最大的數據行出局。這是一種高效、科學的演算法,其計數器清零過程可以把一些頻繁調用後再不需要的數據淘汰出緩存,提高緩存的利用率。
CPU產品中,一級緩存的容量基本在4KB到64KB之間,二級緩存的容量則分為128KB、256KB、512KB、1MB、2MB、4MB等。一級緩存容量各產品之間相差不大,而二級緩存容量則是提高CPU性能的關鍵。二級緩存容量的提升是由CPU製造工藝所決定的,容量增大必然導致CPU內部晶體管數的增加,要在有限的CPU面積上集成更大的緩存,對製造工藝的要求也就越高。
現在主流的CPU二級緩存都在2MB左右,其中英特爾公司07年相繼推出了台式機用的4MB、6MB二級緩存的高性能CPU,不過價格也是相對比較高的,對於對配置要求不是太高的朋友,一般的2MB二級緩存的雙核CPU基本也可以滿足日常上網需要了。
F. CPU的緩存是什麼意思啊
緩存大小也是CPU的重要指標之一,而且緩存的結構和大小對CPU速度的影響非常大,CPU內緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統內存和硬碟。實際工作時,CPU往往需要重復讀取同樣的數據塊,而緩存容量的增大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到內存或者硬碟上尋找,以此提高系統性能。但是由於CPU晶元面積和成本的因素來考慮,緩存都很小。
L1 Cache(一級緩存)是CPU第一層高速緩存,分為數據緩存和指令緩存。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般伺服器CPU的L1緩存的容量通常在32—256KB。
L2 Cache(二級緩存)是CPU的第二層高速緩存,分內部和外部兩種晶元。內部的晶元二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是512KB,而伺服器和工作站上用CPU的L2高速緩存更高達256-1MB,有的高達2MB或者3MB。
L3 Cache(三級緩存),分為兩種,早期的是外置,現在的都是內置的。而它的實際作用即是,L3緩存的應用可以進一步降低內存延遲,同時提升大數據量計算時處理器的性能。降低內存延遲和提升大數據量計算能力對游戲都很有幫助。而在伺服器領域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內存會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長度。 www.jz5u.com
其實最早的L3緩存被應用在AMD發布的K6-III處理器上,當時的L3緩存受限於製造工藝,並沒有被集成進晶元內部,而是集成在主板上。在只能夠和系統匯流排頻率同步的L3緩存同主內存其實差不了多少。後來使用L3緩存的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以後24MB L3緩存的雙核心Itanium2處理器。
但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比緩存增加帶來更有效的性能提升。
G. CPU的緩存各是什麼意思
緩存(Cache)大小是CPU的重要指標之一,其結構與大小對CPU速度的影響非常大。簡單地講,緩存就是用來存儲一些常用或即將用到的數據或指令,當需要這些數據或指令的時候直接從緩存中讀取,這樣比到內存甚至硬碟中讀取要快得多,能夠大幅度提升CPU的處理速度。
所謂處理器緩存,通常指的是二級高速緩存,或外部高速緩存。即高速緩沖存儲器,是位於CPU和主存儲器DRAM(Dynamic RAM)之間的規模較小的但速度很高的存儲器,通常由SRAM(靜態隨機存儲器)組成。用來存放那些被CPU頻繁使用的數據,以便使CPU不必依賴於速度較慢的DRAM(動態隨機存儲器)。L2高速緩存一直都屬於速度極快而價格也相當昂貴的一類內存,稱為SRAM(靜態RAM),SRAM(Static RAM)是靜態存儲器的英文縮寫。由於SRAM採用了與製作CPU相同的半導體工藝,因此與動態存儲器DRAM比較,SRAM的存取速度快,但體積較大,價格很高。
處理器緩存的基本思想是用少量的SRAM作為CPU與DRAM存儲系統之間的緩沖區,即Cache系統。80486以及更高檔微處理器的一個顯著特點是處理器晶元內集成了SRAM作為Cache,由於這些Cache裝在晶元內,因此稱為片內Cache。486晶元內Cache的容量通常為8K。高檔晶元如Pentium為16KB,Power PC可達32KB。Pentium微處理器進一步改進片內Cache,採用數據和雙通道Cache技術,相對而言,片內Cache的容量不大,但是非常靈活、方便,極大地提高了微處理器的性能。片內Cache也稱為一級Cache。由於486,586等高檔處理器的時鍾頻率很高,一旦出現一級Cache未命中的情況,性能將明顯惡化。在這種情況下採用的辦法是在處理器晶元之外再加Cache,稱為二級Cache。二級Cache實際上是CPU和主存之間的真正緩沖。由於系統板上的響應時間遠低於CPU的速度,如果沒有二級Cache就不可能達到486,586等高檔處理器的理想速度。二級Cache的容量通常應比一級Cache大一個數量級以上。在系統設置中,常要求用戶確定二級Cache是否安裝及尺寸大小等。二級Cache的大小一般為128KB、256KB或512KB。在486以上檔次的微機中,普遍採用256KB或512KB同步Cache。所謂同步是指Cache和CPU採用了相同的時鍾周期,以相同的速度同步工作。相對於非同步Cache,性能可提高30%以上。
目前,PC及其伺服器系統的發展趨勢之一是CPU主頻越做越高,系統架構越做越先進,而主存DRAM的結構和存取時間改進較慢。因此,緩存(Cache)技術愈顯重要,在PC系統中Cache越做越大。廣大用戶已把Cache做為評價和選購PC系統的一個重要指標。