當前位置:首頁 » 硬碟大全 » cpu帶寬還是緩存
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

cpu帶寬還是緩存

發布時間: 2023-01-09 23:27:01

1. CPU和內存的帶寬哪個更好

帶寬與機器內存控制器到CPU數據通道帶寬的比例
2.哪個更好
只要超過1比1,都可以發揮出內存控制器到CPU通道的全部性能,當然是1比1最好,不浪費內存帶寬,這個可以由過去intel有FSB的時候來理解,現在CPU集成內存控制器的情況下,這個比例意義不是很大了,過去比如說E6300的時候,內存常見是667,FSB是1066,組成雙通道的情況下,內存帶寬提高一倍,由原來64bit提高到128bit,也就相當於帶寬維持64bit而頻率翻一番,也就是相當於1333的工作頻率,但是這個頻率比一般都是內存發展佔先的,比如最後的有FSB時期,FSB大概是1600,而這個時候已經有了DDR3 1333以及以上的內存,所以說這個比例一般總是維持在前面高後面低的情況,1比1,除非單通道,或者是用老機器,不然很少出現。

3.檢測問題。
軟體檢測需要經常更新自己的信息庫才可以,軟體檢測不可靠,各種問題出現都正常,還是用機器來檢測最靠得住。

2. CPU處理器頻率和緩存是什麼

CPU_什麼是處理器主頻

在電子技術中,脈沖信號是一個按一定電壓幅度,一定時間間隔連續發出的脈沖信號。脈沖信號之間的時間間隔稱為周期;而將在單位時間(如1秒)內所產生的脈沖個數稱為頻率。頻率是描述周期性循環信號(包括脈沖信號)在單位時間內所出現的脈沖數量多少的計量名稱;頻率的標准計量單位是Hz(赫)。電腦中的系統時鍾就是一個典型的頻率相當精確和穩定的脈沖信號發生器。頻率在數學表達式中用「f」表示,其相應的單位有:Hz(赫)、kHz(千赫)、MHz(兆赫)、GHz(吉赫)。其中1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz。計算脈沖信號周期的時間單位及相應的換算關系是:s(秒)、ms(毫秒)、μs(微秒)、ns(納秒),其中:1s=1000ms,1 ms=1000μs,1μs=1000ns。

CPU的主頻,即CPU內核工作的時鍾頻率(CPU Clock Speed)。通常所說的某某CPU是多少兆赫的,而這個多少兆赫就是「CPU的主頻」。很多人認為CPU的主頻就是其運行速度,其實不然。CPU的主頻表示在CPU內數字脈沖信號震盪的速度,與CPU實際的運算能力並沒有直接關系。主頻和實際的運算速度存在一定的關系,但目前還沒有一個確定的公式能夠定量兩者的數值關系,因為CPU的運算速度還要看CPU的流水線的各方面的性能指標(緩存、指令集,CPU的位數等等)。由於主頻並不直接代表運算速度,所以在一定情況下,很可能會出現主頻較高的CPU實際運算速度較低的現象。比如AMD公司的AthlonXP系列CPU大多都能以較低的主頻,達到英特爾公司的Pentium 4系列CPU較高主頻的CPU性能,所以AthlonXP系列CPU才以PR值的方式來命名。因此主頻僅是CPU性能表現的一個方面,而不代表CPU的整體性能。

CPU的主頻不代表CPU的速度,但提高主頻對於提高CPU運算速度卻是至關重要的。舉個例子來說,假設某個CPU在一個時鍾周期內執行一條運算指令,那麼當CPU運行在100MHz主頻時,將比它運行在50MHz主頻時速度快一倍。因為100MHz的時鍾周期比50MHz的時鍾周期佔用時間減少了一半,也就是工作在100MHz主頻的CPU執行一條運算指令所需時間僅為10ns比工作在50MHz主頻時的20ns縮短了一半,自然運算速度也就快了一倍。只不過電腦的整體運行速度不僅取決於CPU運算速度,還與其它各分系統的運行情況有關,只有在提高主頻的同時,各分系統運行速度和各分系統之間的數據傳輸速度都能得到提高後,電腦整體的運行速度才能真正得到提高。

提高CPU工作主頻主要受到生產工藝的限制。由於CPU是在半導體矽片上製造的,在矽片上的元件之間需要導線進行聯接,由於在高頻狀態下要求導線越細越短越好,這樣才能減小導線分布電容等雜散干擾以保證CPU運算正確。因此製造工藝的限制,是CPU主頻發展的最大障礙之一。

二級緩存 二級緩存又叫L2 CACHE,它是處理器內部的一些緩沖存儲器,其作用跟內存一樣。 它是怎麼出現的呢? 要上溯到上個世紀80年代,由於處理器的運行速度越來越快,慢慢地,處理器需要從內存中讀取數據的速度需求就越來越高了。然而內存的速度提升速度卻很緩慢,而能高速讀寫數據的內存價格又非常高昂,不能大量採用。從性能價格比的角度出發,英特爾等處理器設計生產公司想到一個辦法,就是用少量的高速內存和大量的低速內存結合使用,共同為處理器提供數據。這樣就兼顧了性能和使用成本的最優。而那些高速的內存因為是處於CPU和內存之間的位置,又是臨時存放數據的地方,所以就叫做緩沖存儲器了,簡稱「緩存」。它的作用就像倉庫中臨時堆放貨物的地方一樣,貨物從運輸車輛上放下時臨時堆放在緩存區中,然後再搬到內部存儲區中長時間存放。貨物在這段區域中存放的時間很短,就是一個臨時貨場。 最初緩存只有一級,後來處理器速度又提升了,一級緩存不夠用了,於是就添加了二級緩存。二級緩存是比一級緩存速度更慢,容量更大的內存,主要就是做一級緩存和內存之間數據臨時交換的地方用。現在,為了適應速度更快的處理器P4EE,已經出現了三級緩存了,它的容量更大,速度相對二級緩存也要慢一些,但是比內存可快多了。 緩存的出現使得CPU處理器的運行效率得到了大幅度的提升,這個區域中存放的都是CPU頻繁要使用的數據,所以緩存越大處理器效率就越高,同時由於緩存的物理結構比內存復雜很多,所以其成本也很高。
大量使用二級緩存帶來的結果是處理器運行效率的提升和成本價格的大幅度不等比提升。舉個例子,伺服器上用的至強處理器和普通的P4處理器其內核基本上是一樣的,就是二級緩存不同。至強的二級緩存是2MB~16MB,P4的二級緩存是512KB,於是最便宜的至強也比最貴的P4貴,原因就在二級緩存不同。
即L2 Cache。由於L1級高速緩存容量的限制,為了再次提高CPU的運算速度,在CPU外部放置一高速存儲器,即二級緩存。工作主頻比較靈活,可與CPU同頻,也可不同。CPU在讀取數據時,先在L1中尋找,再從L2尋找,然後是內存,在後是外存儲器。所以L2對系統的影響也不容忽視。
CPU緩存(Cache Memory)位於CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個內存儲器(緩存+內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統了。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。
緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。
正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使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等。一級緩存容量各產品之間相差不大,而二級緩存容量則是提高CPU性能的關鍵。二級緩存容量的提升是由CPU製造工藝所決定的,容量增大必然導致CPU內部晶體管數的增加,要在有限的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系統的一個重要指標。
現在的CPU普遍有一級緩存和二級緩存。一般來說,一級緩存的數量比較少,而二級企業緩存的數量一般比一級緩存大幾倍。為什麼要緩存呢,這主要是CPU廠家為了提高CPU的使用效率。因為,隨著CPU的速度的快速發展,目前的CPU速度已經達到一個令人驚訝的速度,據個例子來說,一個奔騰3-1G的CPU其運算速度為每秒鍾能夠完成10億次二進制計算,而一個奔騰4-3G則意味著每秒鍾能夠完成30億次二進制運算。當然由於CPU還要介入浮點數據轉換和介入控制主板上的其他設備資源,實際真正用於數據處理的資源會受到較大影響,但總體來說,CPU的速度已經達到一個前所未有的程度。由於其他硬體在數據傳輸方面未能跟上,因此,CPU廠家就在CPU內封裝了緩存,其中,一級緩存主要將CPU的硬指令長期存儲,以便CPU在調用指令時不必再通過與內存交換數據來取得,另外,還將最近處理的進程數據(中間數據)存放在一級緩存;而二級緩存則是完全存放最近處理的進程數據(中間數據)和即將調用的數據。通過這樣一來設置,就可以避免CPU運算過程中要頻繁與內存交換數據,減少CPU的等待時間,提高CPU的利用效率。

3. CPU的帶寬和高速緩存是什麼意思啊

CPU帶寬這個概念不是很清楚 不過我知道http://ke..com/view/10821.htm這網頁有解釋

緩存我倒是還知道
CPU的緩存能提升CPU性能。緩存的三大作用,就是預讀數據(預先讀取將要載入的數據)、存儲臨時訪問過的數據和對寫入的數據進行暫時存放。緩存的工作地點總是要先於內存的。他是一個緩沖區,是一個讓內存不與那些核心直接打交道,避免「引發沖突」的重要部件

4. 如何看CPU的快慢如何看是二級緩存還是三級緩存這兩個有什麼區別

CPU的性能主要體現在其運行程序的速度上。影響運行速度的性能指標包括CPU的工作頻率、Cache容量、指令系統和邏輯結構等參數。

主頻
主頻也叫時鍾頻率,單位是兆赫(MHz)或千兆赫(GHz),用來表示CPU的運算、處理數據的速度。通常,主頻越高,CPU處理數據的速度就越快。
CPU的主頻=外頻×倍頻系數。主頻和實際的運算速度存在一定的關系,但並不是一個簡單的線性關系。所以,CPU的主頻與CPU實際的運算能力是沒有直接關系的,主頻表示在CPU內數字脈沖信號震盪的速度。在Intel的處理器產品中,也可以看到這樣的例子:1 GHz Itanium晶元能夠表現得差不多跟2.66 GHz至強(Xeon)/Opteron一樣快,或是1.5 GHz Itanium 2大約跟4 GHz Xeon/Opteron一樣快。CPU的運算速度還要看CPU的流水線、匯流排等各方面的性能指標。

外頻
外頻是CPU的基準頻率,單位是MHz。CPU的外頻決定著整塊主板的運行速度。通俗地說,在台式機中,所說的超頻,都是超CPU的外頻(當然一般情況下,CPU的倍頻都是被鎖住的)相信這點是很好理解的。但對於伺服器CPU來講,超頻是絕對不允許的。前面說到CPU決定著主板的運行速度,兩者是同步運行的,如果把伺服器CPU超頻了,改變了外頻,會產生非同步運行,(台式機很多主板都支持非同步運行)這樣會造成整個伺服器系統的不穩定。
絕大部分電腦系統中外頻與主板前端匯流排不是同步速度的,而外頻與前端匯流排(FSB)頻率又很容易被混為一談。

匯流排頻率
AMD 羿龍II X4 955黑盒
前端匯流排(FSB)是將CPU連接到北橋晶元的匯流排。前端匯流排(FSB)頻率(即匯流排頻率)是直接影響CPU與內存直接數據交換速度。有一條公式可以計算,即數據帶寬=(匯流排頻率×數據位寬)/8,數據傳輸最大帶寬取決於所有同時傳輸的數據的寬度和傳輸頻率。比方,支持64位的至強Nocona,前端匯流排是800MHz,按照公式,它的數據傳輸最大帶寬是6.4GB/秒。
外頻與前端匯流排(FSB)頻率的區別:前端匯流排的速度指的是數據傳輸的速度,外頻是CPU與主板之間同步運行的速度。也就是說,100MHz外頻特指數字脈沖信號在每秒鍾震盪一億次;而100MHz前端匯流排指的是每秒鍾CPU可接受的數據傳輸量是100MHz×64bit÷8bit/Byte=800MB/s。

倍頻系數
倍頻系數是指CPU主頻與外頻之間的相對比例關系。在相同的外頻下,倍頻越高CPU的頻率也越高。但實際上,在相同外頻的前提下,高倍頻的CPU本身意義並不大。這是因為CPU與系統之間數據傳輸速度是有限的,一味追求高主頻而得到高倍頻的CPU就會出現明顯的「瓶頸」效應-CPU從系統中得到數據的極限速度不能夠滿足CPU運算的速度。一般除了工程樣版的Intel的CPU都是鎖了倍頻的,少量的如Intel酷睿2核心的奔騰雙核E6500K和一些至尊版的CPU不鎖倍頻,而AMD之前都沒有鎖,AMD推出了黑盒版CPU(即不鎖倍頻版本,用戶可以自由調節倍頻,調節倍頻的超頻方式比調節外頻穩定得多)。

緩存
緩存大小也是CPU的重要指標之一,而且緩存的結構和大小對CPU速度的影響非常大,CPU內緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統內存和硬碟。實際工作時,CPU往往需要重復讀取同樣的數據塊,而緩存容量的增大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到內存或者硬碟上尋找,以此提高系統性能。但是由於CPU晶元面積和成本的因素來考慮,緩存都很小。
L1Cache(一級緩存)是CPU第一層高速緩存,分為數據緩存和指令緩存。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般伺服器CPU的L1緩存的容量通常在32-256KB。
L2Cache(二級緩存)是CPU的第二層高速緩存,分內部和外部兩種晶元。內部的晶元二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會影響CPU的性能,原則是越大越好,以前家庭用CPU容量最大的是512KB,筆記本電腦中也可以達到2M,而伺服器和工作站上用CPU的L2高速緩存更高,可以達到8M以上。
L3Cache(三級緩存),分為兩種,早期的是外置,內存延遲,同時提升大數據量計算時處理器的性能。降低內存延遲和提升大數據量計算能力對游戲都很有幫助。而在伺服器領域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內存會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長度。

5. 什麼是緩存

CPU緩存(Cache
Memory)位於CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個內存儲器(緩存+內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統了。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。
緩存是為了解決CPU速度和內存速度的速度差異問題。內存中被CPU訪問最頻繁的數據和指令被復制入CPU中的緩存,這樣CPU就可以不經常到象「蝸牛」一樣慢的內存中去取數據了,CPU只要到緩存中去取就行了,而緩存的速度要比內存快很多。
這里要特別指出的是:
1.因為緩存只是內存中少部分數據的復製品,所以CPU到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時CPU還是會到內存中去找數據,這樣系統的速度就慢下來了,不過CPU會把這些數據復制到緩存中去,以便下一次不要再到內存中去取。
2.因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的演算法來更換,這樣才能保證緩存中的數據是被訪問最頻繁的。

6. cpu緩存越大越好嗎

CPU緩存並不是越大越好,因為緩存採用的是速度快、價格昂貴的靜態RAM(SRAM),由於每個SRAM內存單元都是由4~6個晶體管構成,增加緩存會帶來CPU集成晶體管個數大增,發熱量也隨之增大,給設計製造帶來很大的難度。所以就算緩存容量做得很大,但如果設計不合理會造成緩存的延時,CPU的性能也未必得到提高。

7. 按伺服器來說 內存 CPU 帶寬 哪個重要

問題太籠統了,伺服器要看你的使用場景。如果你用伺服器去做一個下載站或者圖片站、視頻站等對網路資源要求比較大的場景,內存和CPU都不重要,帶寬是最重要的。
如果你用伺服器裡面運行著大量使用多線程或者多進程的項目,那內存和帶寬又變的不重要了。
如果你伺服器掛載站點需要經常讀寫資料庫,網站訪問並發很大需要加裝Redis等緩存器,那麼內存變的非常重要,其次是帶寬,最後是CPU。
所以說的這么多,哪個重要還是需要看你用這個伺服器的主要使用場景

8. 內存和緩存的區別

兩者都用於暫時儲存數據,沒有電壓時數據都會丟失,這是共同點;

不同點:內存一般加工成內存條,後期安裝到主板上,可插拔;緩存一般焊接在主板上,或者集成在CPU中。這是表面的差別。

實質上的差別:內存存儲單元為動態存儲結構,緩存為靜態存結構。前者結構簡單,但數據寫入後會因電荷泄漏很快丟失,因此CPU必須不停地在數據完全失去之前將數據再一次寫入,周而復始;而靜態的正好相反,結構復雜,但一次寫入後,除非改寫,數據不會丟失(斷電除外)。省略了反復寫入的過程,得到的結果就是寫入、讀出的速度大大加快,所以,緩存是個值得關注的東東。

CPU緩存 (Cache Memoney)位於CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個 內存儲器 (緩存+內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統了。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。

緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。

正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存後內存。

最早先的 CPU緩存 是個整體的,而且容量很低, 英特爾 公司從 Pentium 時代開始把緩存進行了分類。當時集成在 CPU內核 中的緩存已不足以滿足CPU的需求,而製造工藝上的限制又不能大幅度提高緩存的容量。因此出現了集成在與CPU同一塊電路板上或主板上的緩存,此時就把 CPU內核 集成的緩存稱為一級緩存,而外部的稱為二級緩存。一級緩存中還分數據緩存(Data Cache,D-Cache)和指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數據和執行這些數據的指令,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。 英特爾 公司在推出 Pentium 4處理器時,還新增了一種一級追蹤緩存,容量為12KB.

隨著 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等。一級緩存容量各產品之間相差不大,而二級緩存容量則是提高CPU性能的關鍵。二級緩存容量的提升是由CPU製造工藝所決定的,容量增大必然導致CPU內部晶體管數的增加,要在有限的CPU面積上集成更大的緩存,對製造工藝的要求也就越高。