當前位置:首頁 » 文件管理 » 緩存的速率遠遠低於

緩存的速率遠遠低於

發布時間: 2023-01-14 07:34:42

❶ cpu上的緩存和內存。。。

你是小白吧,緩存是CPU里的高速緩存器,內存是內存
解釋名詞:
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容量最大的是4MB,而伺服器和工作站上用CPU的L2高速緩存更高達2MB—4MB,有的高達8MB或者19MB。

L3 Cache(三級緩存),分為兩種,早期的是外置,現在的都是內置的。而它的實際作用即是,L3緩存的應用可以進一步降低內存延遲,同時提升大數據量計算時處理器的性能。降低內存延遲和提升大數據量計算能力對游戲都很有幫助。而在伺服器領域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內存會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長度。

其實最早的L3緩存被應用在AMD發布的K6-III處理器上,當時的L3緩存受限於製造工藝,並沒有被集成進晶元內部,而是集成在主板上。在只能夠和系統匯流排頻率同步的L3緩存同主內存其實差不了多少。後來使用L3緩存的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以後24MB L3緩存的雙核心Itanium2處理器。

但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比緩存增加帶來更有效的性能提升。

作用

速緩沖存儲器Cache是位於CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。

在Cache中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從Cache中調用,從而加快讀取速度。由此可見,在CPU中加入Cache是一種高效的解決方案,這樣整個內存儲器(Cache+內存)就變成了既有Cache的高速度,又有內存的大容量的存儲系統了。

Cache對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與Cache間的帶寬引起的。

高速緩存的工作原理

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

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

2、緩存分類
前面是把Cache作為一個整體來考慮的,現在要分類分析了。Intel從Pentium開始將Cache分開,通常分為一級高速緩存L1和二級高速緩存L2。在以往的觀念中,L1 Cache是集成在CPU中的,被稱為片內Cache。在L1中還分數據Cache(I-Cache)和指令Cache(D-Cache)。它們分別用來存放數據和執行這些數據的指令,而且兩個Cache可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。

在P4處理器中使用了一種先進的一級指令Cache——動態跟蹤緩存。它直接和執行單元及動態跟蹤引擎相連,通過動態跟蹤引擎可以很快地找到所執行的指令,並且將指令的順序存儲在追蹤緩存里,這樣就減少了主執行循環的解碼周期,提高了處理器的運算效率。

以前的L2 Cache沒集成在CPU中,而在主板上或與CPU集成在同一塊電路板上,因此也被稱為片外Cache。但從PⅢ開始,由於工藝的提高L2 Cache被集成在CPU內核中,以相同於主頻的速度工作,結束了L2 Cache與CPU大差距分頻的歷史,使L2 Cache與L1 Cache在性能上平等,得到更高的傳輸速度。L2Cache只存儲數據,因此不分數據Cache和指令Cache。在CPU核心不變化的情況下,增加L2 Cache的容量能使性能提升,同一核心的CPU高低端之分往往也是在L2 Cache上做手腳,可見L2 Cache的重要性。現在CPU的L1 Cache與L2 Cache惟一區別在於讀取順序。

3、讀取命中率
CPU在Cache中找到有用的數據被稱為命中,當Cache中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有2級Cache的CPU中,讀取L1 Cache的命中率為80%。也就是說CPU從L1 Cache中找到的有用數據占數據總量的80%,剩下的20%從L2 Cache讀取。由於不能准確預測將要執行的數據,讀取L2的命中率也在80%左右(從L2讀到有用的數據占總數據的16%)。那麼還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。在一些高端領域的CPU(像Intel的Itanium)中,我們常聽到L3 Cache,它是為讀取L2 Cache後未命中的數據設計的—種Cache,在擁有L3 Cache的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。

為了保證CPU訪問時有較高的命中率,Cache中的內容應該按一定的演算法替換。一種較常用的演算法是「最近最少使用演算法」(LRU演算法),它是將最近一段時間內最少被訪問過的行淘汰出局。因此需要為每行設置一個計數器,LRU演算法是把命中行的計數器清零,其他各行計數器加1。當需要替換時淘汰行計數器計數值最大的數據行出局。這是一種高效、科學的演算法,其計數器清零過程可以把一些頻繁調用後再不需要的數據淘汰出Cache,提高Cache的利用率。 緩存技術的發展
總之,在傳輸速度有較大差異的設備間都可以利用Cache作為匹配來調節差距,或者說是這些設備的傳輸通道。在顯示系統、硬碟和光碟機,以及網路通訊中,都需要使用Cache技術。但Cache均由靜態RAM組成,結構復雜,成本不菲,使用現有工藝在有限的面積內不可能做得很大,不過,這也正是技術前進的源動力,有需要才有進步!

一級緩存

CPU緩存(Cache Memory)是位於CPU與內存之間的臨時存儲器,它的容量比內存小的多但是交換速度卻比內存要快得多。緩存的出現主要是為了解決CPU運算速度與內存讀寫速度不匹配的矛盾,因為CPU運算速度要比內存讀寫速度快很多,這樣會使CPU花費很長時間等待數據到來或把數據寫入內存。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個內存儲器(緩存 內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統了。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。

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

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

目前緩存基本上都是採用SRAM存儲器,SRAM是英文Static RAM的縮寫,它是一種具有靜志存取功能的存儲器,不需要刷新電路即能保存它內部存儲的數據。不像DRAM內存那樣需要刷新電路,每隔一段時間,固定要對DRAM刷新充電一次,否則內部的數據即會消失,因此SRAM具有較高的性能,但是SRAM也有它的缺點,即它的集成度較低,相同容量的DRAM內存可以設計為較小的體積,但是SRAM卻需要很大的體積,這也是目前不能將緩存容量做得太大的重要原因。它的特點歸納如下:優點是節能、速度快、不必配合內存刷新電路、可提高整體的工作效率,缺點是集成度低、相同的容量體積較大、而且價格較高,只能少量用於關鍵性系統以提高效率。

按照數據讀取順序和與CPU結合的緊密程度,CPU緩存可以分為一級緩存,二級緩存,部分高端CPU還具有三級緩存,每一級緩存中所儲存的全部數據都是下一級緩存的一部分,這三種緩存的技術難度和製造成本是相對遞減的,所以其容量也是相對遞增的。當CPU要讀取一個數據時,首先從一級緩存中查找,如果沒有找到再從二級緩存中查找,如果還是沒有就從三級緩存或內存中查找。一般來說,每級緩存的命中率大概都在80%左右,也就是說全部數據量的80%都可以在一級緩存中找到,只剩下20%的總數據量才需要從二級緩存、三級緩存或內存中讀取,由此可見一級緩存是整個CPU緩存架構中最為重要的部分。

一級緩存(Level 1 Cache)簡稱L1 Cache,位於CPU內核的旁邊,是與CPU結合最為緊密的CPU緩存,也是歷史上最早出現的CPU緩存。由於一級緩存的技術難度和製造成本最高,提高容量所帶來的技術難度增加和成本增加非常大,所帶來的性能提升卻不明顯,性價比很低,而且現有的一級緩存的命中率已經很高,所以一級緩存是所有緩存中容量最小的,比二級緩存要小得多。

一般來說,一級緩存可以分為一級數據緩存(Data Cache,D-Cache)和一級指令緩存(Instruction Cache,I-Cache)。

二者分別用來存放數據以及對執行這些數據的指令進行即時解碼,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。目前大多數CPU的一級數據緩存和一級指令緩存具有相同的容量,例如AMD的Athlon XP就具有64KB的一級數據緩存和64KB的一級指令緩存,其一級緩存就以64KB 64KB來表示,其餘的CPU的一級緩存表示方法以此類推。

Intel的採用NetBurst架構的CPU(最典型的就是Pentium 4)的一級緩存有點特殊,使用了新增加的一種一級追蹤緩存(Execution Trace Cache,T-Cache或ETC)來替代一級指令緩存,容量為12KμOps,表示能存儲12K條即12000條解碼後的微指令。一級追蹤緩存與一級指令緩存的運行機制是不相同的,一級指令緩存只是對指令作即時的解碼而並不會儲存這些指令,而一級追蹤緩存同樣會將一些指令作解碼,這些指令稱為微指令(micro-ops),而這些微指令能儲存在一級追蹤緩存之內,無需每一次都作出解碼的程序,因此一級追蹤緩存能有效地增加在高工作頻率下對指令的解碼能力,而μOps就是micro-ops,也就是微型操作的意思。它以很高的速度將μops提供給處理器核心。Intel NetBurst微型架構使用執行跟蹤緩存,將解碼器從執行循環中分離出來。這個跟蹤緩存以很高的帶寬將uops提供給核心,從本質上適於充分利用軟體中的指令級並行機制。Intel並沒有公布一級追蹤緩存的實際容量,只知道一級追蹤緩存能儲存12000條微指令(micro-ops)。所以,我們不能簡單地用微指令的數目來比較指令緩存的大小。實際上,單核心的NetBurst架構CPU使用8Kμops的緩存已經基本上夠用了,多出的4kμops可以大大提高緩存命中率。而如果要使用超線程技術的話,12KμOps就會有些不夠用,這就是為什麼有時候Intel處理器在使用超線程技術時會導致性能下降的重要原因。

例如Northwood核心的一級緩存為8KB 12KμOps,就表示其一級數據緩存為8KB,一級追蹤緩存為12KμOps;而Prescott核心的一級緩存為16KB 12KμOps,就表示其一級數據緩存為16KB,一級追蹤緩存為12KμOps。在這里12KμOps絕對不等於12KB,單位都不同,一個是μOps,一個是Byte(位元組),而且二者的運行機制完全不同。所以那些把Intel的CPU一級緩存簡單相加,例如把Northwood核心說成是20KB一級緩存,把Prescott核心說成是28KB一級緩存,並且據此認為Intel處理器的一級緩存容量遠遠低於AMD處理器128KB的一級緩存容量的看法是完全錯誤的,二者不具有可比性。在架構有一定區別的CPU對比中,很多緩存已經難以找到對應的東西,即使類似名稱的緩存在設計思路和功能定義上也有區別了,此時不能用簡單的算術加法來進行對比;而在架構極為近似的CPU對比中,分別對比各種功能緩存大小才有一定的意義。

二級緩存

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面積上集成更大的緩存,對製造工藝的要求也就越高。

雙核心CPU的二級緩存比較特殊,和以前的單核心CPU相比,最重要的就是兩個內核的緩存所保存的數據要保持一致,否則就會出現錯誤,為了解決這個問題不同的CPU使用了不同的辦法:
Intel雙核心處理器的二級緩存
目前Intel的雙核心CPU主要有Pentium D、Pentium EE、Core Duo三種,其中Pentium D、Pentium EE的二級緩存方式完全相同。Pentium D和Pentium EE的二級緩存都是CPU內部兩個內核具有互相獨立的二級緩存,其中,8xx系列的Smithfield核心CPU為每核心1MB,而9xx系列的Presler核心CPU為每核心2MB。這種CPU內部的兩個內核之間的緩存數據同步是依靠位於主板北橋晶元上的仲裁單元通過前端匯流排在兩個核心之間傳輸來實現的,所以其數據延遲問題比較嚴重,性能並不盡如人意。

Core Duo使用的核心為Yonah,它的二級緩存則是兩個核心共享2MB的二級緩存,共享式的二級緩存配合Intel的「Smart cache」共享緩存技術,實現了真正意義上的緩存數據同步,大幅度降低了數據延遲,減少了對前端匯流排的佔用,性能表現不錯,是目前雙核心處理器上最先進的二級緩存架構。今後Intel的雙核心處理器的二級緩存都會採用這種兩個內核共享二級緩存的「Smart cache」共享緩存技術。

AMD雙核心處理器的二級緩存
Athlon 64 X2 CPU的核心主要有Manchester和Toledo兩種,他們的二級緩存都是CPU內部兩個內核具有互相獨立的二級緩存,其中,Manchester核心為每核心512KB,而Toledo核心為每核心1MB。處理器內部的兩個內核之間的緩存數據同步是依靠CPU內置的System Request Interface(系統請求介面,SRI)控制,傳輸在CPU內部即可實現。這樣一來,不但CPU資源佔用很小,而且不必佔用內存匯流排資源,數據延遲也比Intel的Smithfield核心和Presler核心大為減少,協作效率明顯勝過這兩種核心。不過,由於這種方式仍然是兩個內核的緩存相互獨立,從架構上來看也明顯不如以Yonah核心為代表的Intel的共享緩存技術Smart Cache。

一級緩存與二級緩存的比較

L1 cache vs L2 Cache用於存儲數據的緩存部分通常被稱為RAM,掉電以後其中的信息就會消失。RAM又分兩種,其中一種是靜態RAM(SRAM);另外一種是動態RAM(DRAM)。前者的存儲速度要比後者快得多,我們現在使用的內存一般都是動態RAM。CPU的L1級緩存通常都是靜態RAM,速度非常的快,但是靜態RAM集成度低(存儲相同的數據,靜態RAM的體積是動態RAM的6倍),而且價格也相對較為昂貴(同容量的靜態RAM是動態RAM的四倍)。擴大靜態RAM作為緩存是一個不太合算的做法,但是為了提高系統的性能和速度又必須要擴大緩存,這就有了一個折中的方法:在不擴大原來的靜態RAM緩存容量的情況下,僅僅增加一些高速動態RAM做為L2級緩存。高速動態RAM速度要比常規動態RAM快,但比原來的靜態RAM緩存慢,而且成本也較為適中。一級緩存和二級緩存中的內容都是內存中訪問頻率高的數據的復製品(映射),它們的存在都是為了減少高速CPU對慢速內存的訪問。二級緩存是CPU性能表現的關鍵之一,在CPU核心不變化的情況下,增加二級緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級緩存上存在差異,由此可見二級緩存對CPU的重要性。CPU在緩存中找到有用的數據被稱為命中,當緩存中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有二級緩存的CPU中,讀取一級緩存的命中率為80%。也就是說CPU一級緩存中找到的有用數據占數據總量的80%,剩下的20%從二級緩存中讀取。由於不能准確預測將要執行的數據,讀取二級緩存的命中率也在80%左右(從二級緩存讀到有用的數據占總數據的16%)。那麼還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。目前的較高端CPU中,還會帶有三級緩存,它是為讀取二級緩存後未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率,從某種意義上說,預取效率的提高,大大降低了生產成本卻提供了非常接近理想狀態的性能。除非某天生產技術變得非常強,否則內存仍會存在,緩存的性能遞增特性也仍會保留。 CPU緩存與內存的關系既然CPU緩存能夠在很大程度上提高CPU的性能,那麼,有些朋友可能會問,是不是將來有可能,目前的系統內存將會被CPU取代呢?

答案應該是否定的,首先,盡管CPU緩存的傳輸速率確實很高,但要完全取代內存的地位仍不可行,這主要是因為緩存只是內存中少部分數據的復製品,所以CPU到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時CPU還是會到內存中去找數據,與此同時系統的速度就慢了下來,不過CPU會把這些數據復制到緩存中去,以便下一次不用再到內存中去取。也即是說,隨著緩存增大到一定程度,其對CPU性能的影響將越來越小,在性能比上來說,越來越不合算。就目前緩存容量、成本以及功耗表現來看,還遠遠無法與內存抗衡,另外從某種意義上來說,內存也是CPU緩存的一種表現形式,只不過在速率上慢很多,然而卻在容量、功耗以及成本方面擁有巨大優勢。如果內存在將來可以做到足夠強的話,反而很有取代CPU緩存的可能。 緩存的讀寫演算法同樣重要即便CPU內部集成的緩存數據交換能力非常強,也仍需要對調取數據做一定的篩選。這是因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的演算法來更換,這樣才能保證緩存中的數據經常是被訪問最頻繁的。命中率演算法中較常用的「最近最少使用演算法」(LRU演算法),它是將最近一段時間內最少被訪問過的行淘汰出局。因此需要為每行設置一個計數器,LRU演算法是把命中行的計數器清零,其他各行計數器加1。當需要替換時淘汰行計數器計數值最大的數據行出局。這是一種高效、科學的演算法,其計數器清零過程可以把一些頻繁調用後再不需要的數據淘汰出緩存,提高緩存的利用率。 高速緩存做為CPU不可分割的一部分,已經融入到性能提升的考慮因素當中,伴隨生產技術的進一步發展,緩存的級數還將增加,容量也會進一步提高。作為CPU性能助推器的高速緩存,仍會在成本和功耗控制方面發揮巨大的優勢,而性能方面也會取得長足的發展。

三級緩存

其實最早的L3緩存被應用在AMD發布的K6-III處理器上,當時的L3緩存受限於製造工藝,並沒有被集成進晶元內部,而是集成在主板上。在只能夠和系統匯流排頻率同步的L3緩存同主內存其實差不了多少。後來使用L3緩存的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以後24MB L3緩存的雙核心Itanium2處理器。

但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比緩存增加帶來更有效的性能提升。

內存

在計算機的組成結構中,有一個很重要的部分,就是存儲器。存儲器是用來存儲程序和數據的部件,對於計算機來說,有了存儲器,才有記憶功能,才能保證正常工作。存儲器的種類很多,按其用途可分為主存儲器和輔助存儲器,主存儲器又稱內存儲器(簡稱內存)。

內存是電腦中的主要部件,它是相對於外存而言的。我們平常使用的程序,如Windows操作系統、打字軟體、游戲軟體等,一般都是安裝在硬碟等外存上的,但僅此是不能使用其功能的,必須把它們調入內存中運行,才能真正使用其功能,我們平時輸入一段文字,或玩一個游戲,其實都是在內存中進行的。通常我們把要永久保存的、大量的數據存儲在外存上,而把一些臨時的或少量的數據和程序放在內存上。

❷ 我的電腦C盤裡面有個pagefile文件怎麼刪除不了啊高手指點指點~~~~~

這個文件不能刪除的,因為它是虛擬內存管理文件。一旦刪除將造成計算機無法啟動!
如果實在想從C盤移走的話,可以移到D盤等盤符內,這樣也是可以的!
「我的電腦」圖標上->右鍵->屬性,選擇「高級」在「性能」框內點擊「設置」
「高級」再點「更改」按鈕,自定義大小的「初始大小」和「最大值」(將當前的值都記下來)都設置為0,再在上方「驅動器」選框內選擇其他盤如D盤,然後將「初始大小」和「最大值」重新設置為原來的值。

❸ CPU二級緩存那幾M的容量很重要嗎

很重要,在CPU架構、核心數、主頻等其他硬體規格相同的情況下,緩存容量越大,CPU的性能越強悍。
因為CPU運算核心需要的數據首先都存放在緩存中,計算的中轉數據、交換數據,也會暫存在緩存中。如果緩存容量較小,容納不下,這些數據就只能去內存中訪問,而內存的讀寫速度遠遠低於緩存的速度,這樣CPU核心將不得不空閑下來去等待從內存讀寫需要的數據,造成了CPU運算資源的閑置浪費,性能下降。

❹ 緩存的作用是什麼

緩存的作用:

1、預讀取

當硬碟受到CPU指令控制開始讀取數據時,硬碟上的控制晶元會控制磁頭把正在讀取的簇的下一個或者幾個簇中的數據讀到緩存中(由於硬碟上數據存儲時是比較連續的,所以讀取命中率較高),當需要讀取下一個或者幾個簇中的數據的時候。

硬碟則不需要再次讀取數據,直接把緩存中的數據傳輸到內存中就可以了,由於緩存的速率遠遠高於磁頭讀寫的速率,所以能夠達到明顯改善性能的目的。

2、寫入

當硬碟接到寫入數據的指令之後,並不會馬上將數據寫入到碟片上,而是先暫時存儲在緩存里,然後發送一個「數據已寫入」的信號給系統,這時系統就會認為數據已經寫入,並繼續執行下面的工作,而硬碟則在空閑(不進行讀取或寫入的時候)時再將緩存中的數據寫入到碟片上。

3、臨時存儲

有時候,某些數據是會經常需要訪問的,像硬碟內部的緩存(暫存器的一種)會將讀取比較頻繁的一些數據存儲在緩存中,再次讀取時就可以直接從緩存中直接傳輸。

(4)緩存的速率遠遠低於擴展閱讀:

緩存分類:

1、靜態緩存:是在新內容發布的同時就立刻生成相應內容的靜態頁面,比如:2003年3月22日,管理員通過後台內容管理界面錄入一篇文章後,並同步更新相關索引頁上的鏈接。

2、動態緩存:是在新內容發布以後,並不預先生成相應的靜態頁面,直到對相應內容發出請求時,如果前台緩存伺服器找不到相應緩存,就向後台內容管理伺服器發出請求,後台系統會生成相應內容的靜態頁面,用戶第一次訪問頁面時可能會慢一點,但是以後就是直接訪問緩存了。

❺ 電腦緩存是什麼

問題一:電腦緩存是什麼意思 電腦緩存(狹義)
計算機由於CPU運算的很快,而運算從內存讀取數據速度不夠,導致瓶頸(形象點,瓶頸是細細的,大量數據通過會造成堵塞,速度減緩),於是現代計算機採用的緩存技術,即在CPU在處理數據時先從緩存中提取數據(緩存內置在CPU中,它與CPU的數據交換速度遠大於內存),而緩存中的數據是從內存中提取的。
不管是什麼緩存,它的原理都是一樣的!快和慢之間通過緩沖帶進行過渡!

問題二:緩存是什麼意思呢? 電腦緩存又是什麼意思呢? 緩存是指臨時文件交換區,電腦把最常用的文件從存儲器里提出來臨時放在緩存里,就像把工具和材料搬上工作台一樣,這樣會比用時現去倉庫取更方便。因為緩存往往使用的是RAM(斷電即掉的非永久儲存),所以在忙完後還是會把文件送到硬碟等存儲器里永久存儲。電腦里最大的緩存就是內存條了,最快的是CPU上鑲的L1和L2緩存,顯卡的顯存是給GPU用的緩存,硬碟上也有16M或者32M的緩存。千萬不能把緩存理解成一個東西,它是一種處理方式的統稱!

問題三:筆記本電腦緩存有啥用,什麼意思 許多人認為,「緩存」是內存的一部分
許多技術文章都是這樣教授的
但是還是有很多人不知道緩存在什麼地方,緩存是做什麼用的
其實,緩存是CPU的一部分,主要用於上網時零時暫存的一些東西,它存在於CPU中
CPU存取數據的速度非常的快,一秒鍾能夠存取、處理十億條指令和數據(術語:CPU主頻1G),而內存就慢很多,快的內存能夠達到幾十兆就不錯了,可見兩者的速度差異是多麼的大
緩存是為了解決CPU速度和內存速度的速度差異問題
內存中被CPU訪問最頻繁的數據和指令被復制入CPU中的緩存,這樣CPU就可以不經常到象「蝸牛」一樣慢的內存中去取數據了,CPU只要到緩存中去取就行了,而緩存的速度要比內存快很多
這里要特別指出的是:
1.因為緩存只是內存中少部分數據的復製品,所以CPU到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時CPU還是會到內存中去找數據,這樣系統的速度就慢下來了,不過CPU會把這些數據復制到緩存中去,以便下一次不要再到內存中去取。
2.因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的演算法來更換,這樣才能保證緩存中的數據是被訪問最頻繁的
3.關於一級緩存和二級緩存
為了分清這兩個概念,我們先了解一下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找數據或指令的順序是:先到一級緩存中找,找不到再到二級緩存中找,如果還找不到就只有到內存中找了

問題四:電腦中的緩沖和緩存是什麼意思 我想比較通俗的說法來告訴你緩沖:我想你問的是每次播放歌曲和電影時候的緩沖是什麼?對吧?其實你每次不論是看電影,還是聽歌,都是把電影和歌曲下載到了你的電腦上再進行 聽和看 。像一般的IE瀏覽器都是下載到這個路徑C:\Documents and Settings\用戶名(一般都是 「Administrator」)\Local Settings\Temporary Internet Files所以說緩沖其實就是已經下載到你電腦的部分緩存:緩存是一個為了提高數據傳輸速率的臨時存放區域。簡單的說就是臨時文件交換區。電腦中最大的一個緩存就是內存條;cup中也有緩存,切分等級,作用是為了提高cup與硬碟、內存、鍵鼠等之間的數據傳輸;硬碟、顯卡也都有緩存我想你差不多明白了吧!

問題五:電腦硬碟緩存是什麼 硬碟控制器的內存晶元是64MB緩存Cache memory是硬碟控制器上的一塊內存晶元具有極快的存取速度它是硬碟內部存儲和外界介面之間的緩沖器。因為硬碟的內部數據傳輸速度和外界介面傳輸速度不合緩存在個中起到一個緩沖的感化。緩存的大年夜小與速度是直接關繫到硬碟的傳輸速度的重要身分可以或許大年夜幅度地進步硬碟整體機能。當硬碟存取零碎數據時須要賡續地在硬碟與內存之間交換數據假如有大年夜緩存則可以將那些零碎數據暫存在緩存中減小外體系的負荷也進步了數據的傳輸速度。 硬碟的緩存重要起三種感化:一是預讀取。當硬碟受到CPU指令控制開端讀取數據時硬碟上的控制晶元會控制磁頭把正在讀取的簇的下一個或者幾個簇中的數據讀到緩存中因為硬碟上數據存儲時是比較持續的所以讀取射中率較高當須要讀取下一個或者幾個簇中的數據的時刻硬碟則不須要再次讀取數據直接把緩存中的數據傳輸到內存中就可以了因為緩存的速度遠遠高於磁頭讀寫的速度所以可以或許達到明顯改良機能的目標;二是對寫入動作進行緩存。當硬碟接到寫入數據的指令之後並不會立時將數據寫入到碟片上而是先臨時存儲在緩存里然後發送一個數據已寫入 的旌旗燈號給體系這時體系就會認為數據已經寫入並持續履行下面的工作而硬碟則在餘暇不進行讀取或寫入的時刻時再將緩存中的數據寫入到碟片上。固然對於寫入數據的機能有必定晉升但也弗成避免地帶來了安然隱患――假如數據還在緩存里的時刻忽然掉落電那麼這些數據就會損掉。對於這個問題硬碟廠商們天然也有解決辦法:掉落電時磁頭會藉助慣性將緩存中的數據寫入零磁軌以外的暫存區域比及下次啟動時再將這些數據寫入目標地;第三個感化就是臨時存儲比來拜訪過的數據。有時刻某些數據是會經常須要拜訪的硬碟內部的緩存會將讀取比較頻繁的一些數據存儲在緩存中再次讀取時就可以直接從緩存中直接傳輸。 大年夜容量的緩存固然可以在硬碟進行讀寫工作狀況下讓更多的數據存儲在緩存中以進步硬碟的拜訪速度但並不料味著緩存越大年夜就越出眾。緩存的應用存在一個演算法的問題即便緩存容量很大年夜而沒有一個高效力的演算法那將導致應用中緩存數據的射中率偏低無法有效發揮出大年夜容量緩存的優勢。演算法是懈弛存容量相輔相成大年夜容量的緩存須要更為有效力的演算法不然機能會大年夜大年夜扣頭從技巧角度上說高容量緩存的演算法是直接影響到硬碟機能發揮的重要身分。更大年夜容量緩存是將來硬碟成長的必定趨勢。

問題六:電腦CPU的緩存是什麼?舉例子說明 這是我回答別人問題的答案,和你問題類似,希望有幫助:
同樣核心構架 同樣緩存 同樣核心數量情況下 主頻高則處理速度快解釋一下:主頻表示時鍾頻率 cpu一般為上升沿或下降沿觸發 也就是說高電位變換到地電位時候 會從寄存器進行運位移一位 3.0Ghz就是一秒鍾電平變換3G次 用也就是進行3G次寄存器位移,那麼一秒鍾寄存器位移越多運算就越快但是,核心構架就好像 交通方式 好的核心構架就好像地下隧道 直達目的地 落後的構架就像土路 彎曲泥濘 在土路上開車速度120 也不沒有地下隧道騎電瓶車更快到達目的地 所以核心構架很關鍵還有緩存 一二三級緩存分別存放不同優先等級的指令 緩存越大 一次清空緩存之前進行的運算就越多 越小則需不斷清空才可以繼續運算 就像瘦子吃多頓搬一頓磚頭 壯漢猛吃一頓就搬一噸磚 核心數量就不說了 四個人幹活和一個人幹活效率不用比較

問題七:電腦介紹里的 幾MB緩存是什麼意思 有什麼用 作為臨時存儲器,這樣cpu再運算的時候會更快,實際工作時,CPU往往需要重復讀取同樣的數據塊,而緩存容量的盯大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到內存或者硬碟上尋找,以此提高系統性能

問題八:電腦緩存取決什麼配置 緩存是哪裡都有的,硬碟 U盤 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,現在筆記本電腦中也可以達到2M,而伺服器和工作站上用CPU的L2伐速緩存更高,可以達到8M以上。
L3 Cache(三級緩存),分為兩種,早期的是外置,現在的都是內置的。而它的實際作用即是,L3緩存的應用可以進一步降低內存延遲,同時提升大數據量計算時處理器的性能。降低內存延遲和提升大數據量計算能力對游戲都很有幫助。而在伺服器領域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內存會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長度。
其實最早的L3緩存被應用在AMD發布的K6-III處理器上,當時的L3緩存受限於製造工藝,並沒有被集成進晶元內部,而是集成在主板上。在只能夠和系統匯流排頻率同步的L3緩存同主內存其實差不了多少。後來使用L3緩存的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以後24MB L3緩存的雙核心Itanium2處理器。
但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比緩存增加帶來更有效的性能提升。

問題十:電腦硬碟的緩存是干什麼的, 可以理解為暫存.因為硬碟的讀寫速度跟內存的速度不一樣。
舉個例子,假設有個生產玻璃珠的機器,你去取,它才會吐出來。
那麼,你要取1000個,它不可能一下子吐出來,因為你拿不去。現在在它的吐口處放個盒子(能裝大於1000顆),那麼它一下子吐完,可以閑置下來了。
你可以從盒子里分多次取。
緩存,讀寫小數據避免反復讀寫,起到暫時存放數據。

❻ 緩存的技術指標

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系統的一個重要指標。

❼ 什麼叫緩存

所謂的緩存,就是將程序或系統經常要調用的對象存在內存中,一遍其使用時可以快速調用,不必再去創建新的重復的實例。這樣做可以減少系統開銷,提高系統效率。

1、通過文件緩存;顧名思義文件緩存是指把數據存儲在磁碟上,不管你是以XML格式,序列化文件DAT格式還是其它文件格式;

2、內存緩存;也就是創建一個靜態內存區域,將數據存儲進去,例如我們B/S架構的將數據存儲在Application中或者存儲在一個靜態Map中。

3、本地內存緩存;就是把數據緩存在本機的內存中。

4、分布式緩存機制;可能存在跨進程,跨域訪問緩存數據

對於分布式的緩存,此時因為緩存的數據是放在緩存伺服器中的,或者說,此時應用程序需要跨進程的去訪問分布式緩存伺服器。

(7)緩存的速率遠遠低於擴展閱讀

當我們在應用中使用跨進程的緩存機制,例如分布式緩存memcached或者微軟的AppFabric,此時數據被緩存在應用程序之外的進程中。

每次,當我們要把一些數據緩存起來的時候,緩存的API就會把數據首先序列化為位元組的形式,然後把這些位元組發送給緩存伺服器去保存。

同理,當我們在應用中要再次使用緩存的數據的時候,緩存伺服器就會將緩存的位元組發送給應用程序,而緩存的客戶端類庫接受到這些位元組之後就要進行反序列化的操作了,將之轉換為我們需要的數據對象。

❽ cpu緩存越大越好嗎

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

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:713
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:980
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:687
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:840
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:747
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1086
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:314
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:194
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:883
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:841