㈠ 電腦的二級緩存具體有什麼用對電腦運行速度有何影響
二級緩存(L2 CACHE)出現是為了協調一級緩存與內存之間的速度。最初緩存只有一級,後來處理器速度又提升了,一級緩存不夠用了,於是就添加了二級緩存。二級緩存是比一級緩存速度更慢,容量更大的內存,主要就是做一級緩存和內存之間數據臨時交換的地方用。二級緩存又叫L2 CACHE,它是處理器內部的一些緩沖存儲器,其作用跟內存一樣。 它是怎麼出現的呢? 要上溯到上個世紀80年代,由於處理器的運行速度越來越快,慢慢地,處理器需要從內存中讀取數據的速度需求就越來越高了。然而內存的速度提升速度卻很緩慢,而能高速讀寫數據的內存價格又非常高昂,不能大量採用。從性能價格比的角度出發,英特爾等處理器設計生產公司想到一個辦法,就是用少量的高速內存和大量的低速內存結合使用,共同為處理器提供數據。這樣就兼顧了性能和使用成本的最優。而那些高速的內存因為是處於CPU和內存之間的位置,又是臨時存放數據的地方,所以就叫做緩沖存儲器了,簡稱「緩存」。
作用
它的作用就像倉庫中臨時堆放貨物的地方一樣,貨物從運輸車輛上放下時臨時堆放在緩存區中,然後再搬到內部存儲區中長時間存放。貨物在這段區域中存放的時間很短,就是一個臨時貨場。現在,為了適應速度更快的處理器P4EE,已經出現了三級緩存了,它的容量更大,速度相對二級緩存也要慢一些,但是比內存可快多了。 緩存的出現使得CPU處理器的運行效率得到了大幅度的提升,這個區域中存放的都是CPU頻繁要使用的數據,所以緩存越大處理器效率就越高,同時由於緩存的物理結構比內存復雜很多,所以其成本也很高。
大量使用二級緩存帶來的結果是處理器運行效率的提升和成本價格的大幅度不等比提升。舉個例子,伺服器上用的至強處理器和普通的P4處理器其內核基本上是一樣的,就是二級緩存不同。至強的二級緩存是2MB~16MB,P4的二級緩存是512KB,於是最便宜的至強也比最貴的P4貴,原因就在二級緩存不同。
即L2 Cache。由於L1級高速緩存容量的限制,為了再次提高CPU的運算速度,在CPU外部放置一高速存儲器,即二級緩存。工作主頻比較靈活,可與CPU同頻,也可不同。CPU在讀取數據時,先在L1中尋找,再從L2尋找,然後是內存,在後是外存儲器。所以L2對系統的影響也不容忽視。
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面積上集成更大的緩存,對製造工藝的要求也就越高
緩存(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的利用效率。
[編輯本段]相關影響
二級緩存容量對CPU性能的影響
CPU二級緩存作為一級緩存的「後備倉庫」,用於為一級緩存存儲更多的數據,減少CPU直接訪問內存 的次數。理論上,CPU訪問並調用緩存的數據所佔的比重越大,則CPU訪問並調用內存的數據所佔的比重就越小,那麼因訪問內存而耽誤的時間 就越少。所以緩存的容量越大,CPU的實際效率也就越高,性能就越強。
Intel和AMD處理器的差異
實際上,現在Intel和AMD處理器在一級緩存的邏輯結構設計上有所不同,所以二級緩存對CPU性能的影響也不盡相同。因為CPU讀取的 數據(包括指令)中有80%的數據來自一級緩存,所以一級緩存的邏輯結構決定了CPU二級緩存容量對CPU性能的影響。Intel的Pentium 4及Celeron系列處理器的一級數據緩存被稱為「數據代碼指令追蹤(讀寫)緩存」;AMD的Athlon 64/Athlon XP/Sempron/Duron系列處理器 的一級數據緩存叫作「實數據讀寫緩存」。
這兩類CPU一級緩存不同的邏輯結構有什麼不同?下面用一個例子來描述。
假設有一個運算任務,要從「1」一直遞加到「999999」。在傳統的「實數據讀寫緩存」架構下,這一系列數據中最先用到的數據(如 「1、2……449、450」)將存儲在CPU一級數據緩存中,更多的數據(如「451、452……899999、900000」)存儲在CPU二級緩存中,其餘的數 據(如「900001、999002……999998、999999」)暫存在內存中,CPU將按照一級數據緩存、二級緩存和內存的順序讀取這些數據。
「數據代碼指令追蹤緩存」架構的一級數據緩存的存儲方式
在「數據代碼指令追蹤緩存」架構的CPU中,一級數據緩存並不存儲這些最先用到的數據(「1、2……449、450」),而是將這些 數據存儲到二級緩存中,一級數據緩存僅僅存儲這些數據在二級緩存中的起止地址(又稱為:指令代碼)。例如,數據「1、2……449、450」 順序存儲在二級緩存中,數據「1」所在地址為「00001F」,數據「450」 所在地址為「00451F」,實際上一級數據緩存只需要存儲「00001F」和「00451F」這兩個地址就可以了,而不需要存儲大量的數據。
但是由於其一級數據緩存不存儲數據,數據存儲在二級緩存中,因此對二級緩存容量的依賴非常大,所以CPU需要更大的二級緩存容量 才能發揮出應有的性能。在實際應用中,CPU處理的數據中大多數都是0KB~128KB大小的數據,128KB~256KB的數據約有10%,256KB~512KB的 數據有5%,512KB~1MB的數據僅有3%左右。所以對於這種CPU來說,二級緩存容量從0KB增加到256KB對CPU性能的提高幾乎是直線性的;增加 到512KB對CPU性能的提高稍微小一些;從512KB增加到1MB,普通用戶就很難體會到CPU性能有提高了。正因為如此,大家能感受到Pentium 4 C(512KB二級緩存)與Celeron(128KB二級緩存)的性能差異,卻很難感受到Pentium 4 C(512KB二級緩存)與Pentium 4 E(1MB二級緩存)的性能差異了。
[編輯本段]二級緩存-發展
雙核心CPU的二級緩存
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。
[編輯本段]存儲方式
傳統的一級數據緩存的存儲方式
但是在「數據代碼指令追蹤緩存」架構的CPU中,一級數據緩存並不存儲這些最先用到的數據(「1、2……449、450」),而是將這些 數據存儲到二級緩存中,一級數據緩存僅僅存儲這些數據在二級緩存中的起止地址(又稱為:指令代碼)。例如,數據「1、2……449、450」 順序存儲在二級緩存中,數據「1」所在地址為「00001F」,數據「450」 所在地址為「00451F」,實際上一級數據緩存只需要存儲「00001F」和「00451F」這兩個地址就可以了,而不需要存儲大量的數據。
數據代碼指令追蹤緩存
「數據代碼指令追蹤緩存」架構的一級數據緩存的存儲方式
但是由於其一級數據緩存不存儲數據,數據存儲在二級緩存中,因此對二級緩存容量的依賴非常大,所以CPU需要更大的二級緩存容量 才能發揮出應有的性能。在實際應用中,CPU處理的數據中大多數都是0KB~128KB大小的數據,128KB~256KB的數據約有10%,256KB~512KB的 數據有5%,512KB~1MB的數據僅有3%左右。所以對於這種CPU來說,二級緩存容量從0KB增加到256KB對CPU性能的提高幾乎是直線性的;增加 到512KB對CPU性能的提高稍微小一些;從512KB增加到1MB,普通用戶就很難體會到CPU性能有提高了。正因為如此,大家能感受到Pentium 4 C(512KB二級緩存)與Celeron(128KB二級緩存)的性能差異,卻很難感受到Pentium 4 C(512KB二級緩存)與Pentium 4 E(1MB二級緩存)的性能差異了。
㈡ 手機中的緩存是什麼意思這些緩存是哪裡來的
手機中的緩存意思就是說在手機上安裝了各種的應用程序,但是運營中會產生大量的緩存,包括圖片、視頻等,在聊天軟體中也會產生一些緩存,如果長時間不清理,會導致手機特別卡頓,且耗電量也會增加,所以手機的緩存必須及時清理,如果當耗電量增加時很容易發燙,所以一定要按照手機相關的軟體或應用來進行清除多餘的緩存。
其實也能夠提高用戶的體驗,從而節省更多的時間,緩存之後,下次再打開的時候就能夠繼續使用,也不用再次下載,所以這能夠有效的減輕用戶等待的時長,也能夠保證用戶在使用手機時更加流暢,同時也能夠降低流量的消耗,尤其是在聽音樂時音樂軟體上的一些音樂會進行緩存,那麼當我們沒有網路的時候就能夠直接聽歌,就不用再使用流量下載,但是每一步的內存都是有限的,如果過多的話就會導致緩存占據手機太多出現卡頓現象。
㈢ 緩存是啥意思
緩存指的是將需要頻繁訪問的網路內容存放在離用戶最近、訪問速度更快的系統中,以提高內容訪問速度的一種技術。緩存伺服器就是存放頻繁訪問內容的伺服器。
幀緩沖存儲器(Frame Buffer):簡稱幀緩存或顯存,它是屏幕所顯示畫面的一個直接映象,又稱為位映射圖(Bit Map)或光柵。幀緩存的每一存儲單元對應屏幕上的一個像素,整個幀緩存對應一幀圖像。
可刻錄CD或DVD驅動器一般具有2MB-4MB以上的大容量緩沖器,用於防止緩存欠載(buffer underrun)錯誤,同時可以使刻錄工作平穩、恆定的寫入。一般來說,驅動器越快,就有更多的緩沖存儲器,以處理更高的傳輸速率。
(3)使用緩存的同時也享有萬兆擴展閱讀
緩存工作原理
1、讀取順序
CPU要讀取一個數據時,首先從Cache中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入Cache中,可以使得以後對整塊數據的讀取都從Cache中進行,不必再調用內存。
正是這樣的讀取機制使CPU讀取Cache的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在Cache中,只有大約10%需要從內存讀取。
這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先Cache後內存。
2、緩存分類
Intel從Pentium開始將Cache分開,通常分為一級高速緩存L1和二級高速緩存L2。在以往的觀念中,L1 Cache是集成在CPU中的,被稱為片內Cache。在L1中還分數據Cache(D-Cache)和指令Cache(I-Cache)。
它們分別用來存放數據和執行這些數據的指令,而且兩個Cache可以同時被CPU訪問,減少了爭用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交換數據,因此速度很快。L1 Cache(一級緩存)是CPU第一層高速緩存。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般L1緩存的容量通常在32—256KB。L2 Cache(二級緩存)是CPU的第二層高速緩存,分內部和外部兩種晶元。內部的晶元二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在普通台式機CPU的L2緩存一般為128KB到2MB或者更高,筆記本、伺服器和工作站上用CPU的L2高速緩存最高可達1MB-3MB。
二級緩存又叫L2 CACHE,它是處理器內部的一些緩沖存儲器,其作用跟內存一樣。 它是怎麼出現的呢? 要上溯到上個世紀80年代,由於處理器的運行速度越來越快,慢慢地,處理器需要從內存中讀取數據的速度需求就越來越高了。然而內存的速度提升速度卻很緩慢,而能高速讀寫數據的內存價格又非常高昂,不能大量採用。從性能價格比的角度出發,英特爾等處理器設計生產公司想到一個辦法,就是用少量的高速內存和大量的低速內存結合使用,共同為處理器提供數據。這樣就兼顧了性能和使用成本的最優。而那些高速的內存因為是處於CPU和內存之間的位置,又是臨時存放數據的地方,所以就叫做緩沖存儲器了,簡稱「緩存」。它的作用就像倉庫中臨時堆放貨物的地方一樣,貨物從運輸車輛上放下時臨時堆放在緩存區中,然後再搬到內部存儲區中長時間存放。貨物在這段區域中存放的時間很短,就是一個臨時貨場。最初緩存只有一級,後來處理器速度又提升了,一級緩存不夠用了,於是就添加了二級緩存。二級緩存是比一級緩存速度更慢,容量更大的內存,主要就是做一級緩存和內存之間數據臨時交換的地方用。現在,為了適應速度更快的處理器P4EE,已經出現了三級緩存了,它的容量更大,速度相對二級緩存也要慢一些,但是比內存可快多了。緩存的出現使得CPU處理器的運行效率得到了大幅度的提升,這個區域中存放的都是CPU頻繁要使用的數據,所以緩存越大處理器效率就越高,同時由於緩存的物理結構比內存復雜很多,所以其成本也很高。
大量使用二級緩存帶來的結果是處理器運行效率的提升和成本價格的大幅度不等比提升。舉個例子,伺服器上用的至強處理器和普通的P4處理器其內核基本上是一樣的,就是二級緩存不同。至強的二級緩存是2MB~16MB,P4的二級緩存是512KB,於是最便宜的至強也比最貴的P4貴,原因就在二級緩存不同。
㈤ 緩存的工作原理
緩存的工作原理是當CPU要讀取一個數據時,首先從CPU緩存中查找,找到就立即讀取並送給CPU處理;沒有找到,就從速率相對較慢的內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在CPU緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存後內存。
RAM(Random-Access Memory)和ROM(Read-Only Memory)相對的,RAM是掉電以後,其中的信息就消失那一種,ROM在掉電以後信息也不會消失那一種。RAM又分兩種,一種是靜態RAM,SRAM(Static RAM);一種是動態RAM,DRAM(Dynamic RAM)。前者的存儲速率要比後者快得多,使用的內存一般都是動態RAM。為了增加系統的速率,把緩存擴大就行了,擴的越大,緩存的數據越多,系統就越快了,緩存通常都是靜態RAM,速率是非常的快, 但是靜態RAM集成度低(存儲相同的數據,靜態RAM的體積是動態RAM的6倍), 價格高(同容量的靜態RAM是動態RAM的四倍), 由此可見,擴大靜態RAM作為緩存是一個非常愚蠢的行為, 但是為了提高系統的性能和速率,必須要擴大緩存, 這樣就有了一個折中的方法,不擴大原來的靜態RAM緩存,而是增加一些高速動態RAM做為緩存, 這些高速動態RAM速率要比常規動態RAM快,但比原來的靜態RAM緩存慢, 把原來的靜態RAM緩存叫一級緩存,而把後來增加的動態RAM叫二級緩存。
㈥ 硬碟緩存有什麼用內存數值越高越好嗎
硬碟的緩存主要起三種作用:x0dx0a一是預讀取。當硬碟受到CPU指令控制開始讀取數據時,硬碟上的控制晶元會控制磁頭把正在讀取的簇的下一個或者幾個簇中的數據讀到緩存中(由於硬碟上數據存儲時是比較連續的,所以讀取命中率較高),當需要讀取下一個或者幾個簇中的數據的時候,硬碟則不需要再次讀取數據,直接把緩存中的數據傳輸到內存中就可以了,由於緩存的速度遠遠高於磁頭讀寫的速度,所以能夠達到明顯改善性能的目的。x0dx0a二是對寫入動作進行緩存。當硬碟接到寫入數據的指令之後,並不會馬上將數據寫入到碟片上,而是先暫時存儲在緩存里,然後發送一個「數據已寫入」的信號給系統,這時系統就會認為數據已經寫入,並繼續執行下面的工作,而硬碟則在空閑(不進行讀取或寫入的時候)時再將緩存中的數據寫入到碟片上。雖然對於寫入數據的性能有一定提升,但也不可避免地帶來了安全隱患——如果數據還在緩存里的時候突然掉電,那麼這些數據就會丟失。對於這個問題,硬碟廠商們自然也有解決辦法:掉電時,磁頭會藉助慣性將緩存中的數據寫入零磁軌以外的暫存區域,等到下次啟動時再將這些數據寫入目的地。x0dx0a三是臨時存儲最近訪問過的數據。有時候,某些數據是會經常需要訪問的,硬碟內部的緩存會將讀取比較頻繁的一些數據存儲在緩存中,再次讀取時就可以直接從緩存中直接傳輸。緩存就像是一台計算機的內存一樣,在硬碟讀寫數據時,負責數據的存儲、寄放等功能。這樣一來,不僅可以大大減少數據讀寫的時間以提高硬碟的使用效率。同時利用緩存還可以讓硬碟減少頻繁的讀寫,讓硬碟更加安靜,更加省電。更大的硬碟緩存,你將讀取游戲時更快,拷貝文件時候更快,在系統啟動中更為領先??x0dx0ax0dx0a至於越大越好?其實合適就好....
㈦ 緩存是什麼意思
緩存是指可以進行高速數據交換的存儲器,它先於內存與CPU交換數據,因此速率很快。
緩存的工作原理是當CPU要讀取一個數據時,首先從CPU緩存中查找,找到就立即讀取並送給CPU處理;沒有找到,就從速率相對較慢的內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。
正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在CPU緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。
(7)使用緩存的同時也享有萬兆擴展閱讀
緩存的狀態數據只是主數據的快照,由於數據源可能被修改,所以狀態數據就有會陳舊的特性。合理利用此特性和將數據陳舊的負面影響最小化是緩存狀態數據的一個重要任務。
緩存介質從技術上劃分,可以分成內存、硬碟文件、資料庫三種。將緩存存儲於內存中是最快的選擇,無需額外的I/O開銷,但是內存的缺點是沒有持久化落地物理磁碟,一旦應用異常,重新啟動數據很難或者無法復原。
緩存中可以存放的最大元素的數量,一旦緩存中元素數量超過這個值(或者緩存數據所佔空間超過其最大支持空間),那麼將會觸發緩存啟動清空策略根據不同的場景合理的設置最大元素值往往可以一定程度上提高緩存的命中率,從而更有效的時候緩存。
㈧ 常用的緩存技術
第一章 常用的緩存技術
1、常見的兩種緩存
本地緩存:不需要序列化,速度快,緩存的數量與大小受限於本機內存
分布式緩存:需要序列化,速度相較於本地緩存較慢,但是理論上緩存的數量與大小無限(因為緩存機器可以不斷擴展)
2、本地緩存
Google guava cache:當下最好用的本地緩存
Ehcache:spring默認集成的一個緩存,以spring cache的底層緩存實現類形式去操作緩存的話,非常方便,但是欠缺靈活,如果想要靈活使用,還是要單獨使用Ehcache
Oscache:最經典簡單的頁面緩存
3、分布式緩存
memcached:分布式緩存的標配
Redis:新一代的分布式緩存,有替代memcached的趨勢
3.1、memcached
經典的一致性hash演算法
基於slab的內存模型有效防止內存碎片的產生(但同時也需要估計好啟動參數,否則會浪費很多的內存)
集群中機器之間互不通信(相較於Jboss cache等集群中機器之間的相互通信的緩存,速度更快<--因為少了同步更新緩存的開銷,且更適合於大型分布式系統中使用)
使用方便(這一點是相較於Redis在構建客戶端的時候而言的,盡管redis的使用也不困難)
很專一(專做緩存,這一點也是相較於Redis而言的)
3.2、Redis
可以存儲復雜的數據結構(5種)
strings-->即簡單的key-value,就是memcached可以存儲的唯一的一種形式,接下來的四種是memcached不能直接存儲的四種格式(當然理論上可以先將下面的一些數據結構中的東西封裝成對象,然後存入memcached,但是不推薦將大對象存入memcached,因為memcached的單一value的最大存儲為1M,可能即使採用了壓縮演算法也不夠,即使夠,可能存取的效率也不高,而redis的value最大為1G)
hashs-->看做hashTable
lists-->看做LinkedList
sets-->看做hashSet,事實上底層是一個hashTable
sorted sets-->底層是一個skipList
有兩種方式可以對緩存數據進行持久化
RDB
AOF
事件調度
發布訂閱等
4、集成緩存
專指spring cache,spring cache自己繼承了ehcache作為了緩存的實現類,我們也可以使用guava cache、memcached、redis自己來實現spring cache的底層。當然,spring cache可以根據實現類來將緩存存在本地還是存在遠程機器上。
5、頁面緩存
在使用jsp的時候,我們會將一些復雜的頁面使用Oscache進行頁面緩存,使用非常簡單,就是幾個標簽的事兒;但是,現在一般的企業,前台都會使用velocity、freemaker這兩種模板引擎,本身速度就已經很快了,頁面緩存使用的也就很少了。
總結:
在實際生產中,我們通常會使用guava cache做本地緩存+redis做分布式緩存+spring cache就集成緩存(底層使用redis來實現)的形式
guava cache使用在更快的獲取緩存數據,同時緩存的數據量並不大的情況
spring cache集成緩存是為了簡單便捷的去使用緩存(以註解的方式即可),使用redis做其實現類是為了可以存更多的數據在機器上
redis緩存單獨使用是為了彌補spring cache集成緩存的不靈活
就我個人而言,如果需要使用分布式緩存,那麼首先redis是必選的,因為在實際開發中,我們會緩存各種各樣的數據類型,在使用了redis的同時,memcached就完全可以舍棄了,但是現在還有很多公司在同時使用memcached和redis兩種緩存。
㈨ 每埠200ms數據緩存是什麼意思
相比普通交換機,數據中心交換機需具備:高容量、大緩存、虛擬化、FCOE、二層TRILL技術等方面的特徵。 1.高容量設備 數據中心的網路流量具有高密度應用調度、浪涌式突發緩沖的特點,而普通交換機以滿足互連互通為主要目的,無法實現對業務精確識別與控制,在大業務情況無法做到快速響應和零丟包,無法保證業務的連續性,系統的可靠性主要依賴於設備的可靠性。所以普通交換機無法滿足數據中心的需要,數據中心交換機需要具備高容量轉發特點。 數據中心交換機必須支持高密萬兆板卡,即48口萬兆板卡,為使48口萬兆板卡能夠全線速轉發,數據中心交換機只能採用CLOS分布式交換架構。除此之外,隨著40G和100G的普及,支持8埠40G板卡和4埠的100G板卡也逐漸商用,數據中心交換機40G、100G的板卡早已出現進入市場,從而滿足數據中心高密度應用的需求。 2.大緩存技術 數據中心交換機改變了傳統交換系統的出埠緩存方式,採用分布式緩存架構,緩存比普通交換機也大許多,緩存能力可達1G以上,而一般的交換機只能達到2~4M。對於每埠在萬兆全線速條件下達到200毫秒的突發流量緩存能力。從而在突發流量的情況下,大緩存仍能保證網路轉發零丟包,正好適應數據中心伺服器量大,突發流量大的特點。 3.虛擬化技術 數據中心的網路設備需要具有高管理性和高安全可靠性的特點,因此數據中心的交換機也需要支持虛擬化,虛擬化就是把物理資源轉變為邏輯上可以管理的資源,以打破物理結構之間的壁壘。 網路設備的虛擬化主要包括多虛一,一虛多技術,多虛多等技術。通過虛擬化技術,可以對多台網路設備統一管理,也可以對一台設備上的業務進行完全隔離,從而可以將數據中心管理成本減少40%,將IT利用率提高大約25%。 4.FCOE技術 傳統的數據中心往往存在一張數據網和一張存儲網路,而新一代的數據中心網路融合趨勢越來越明顯,FCOE技術的出現使網路融合成為可能,FCOE就是把存儲網的數據幀封裝在乙太網幀內進行轉發的技術。實現這一融合技術必然是在數據中心的交換機上,普通交換機一般都不支持FCOE功能。 5.TRILL技術 數據中心在構建二層網路方面,原先的標準是STP協議,但其故有的缺陷如:STP是通過埠阻止來工作的,所有冗餘鏈路不進行數據轉發,造成了帶寬資源的浪費;STP整網只有一顆生成樹,數據報文都要經過根橋中轉後才能到達,影響了整網的轉發效率。所以STP將不再適合超大型數據中心的擴展,TRILL正是因應了STP的這些缺陷而產生的,是為數據中心應用而產生的技術。 TRILL協議把二層配置和靈活性與三層融合和規模有效結合在一起,大二層不需要配置的情況下,就可實現整網無環路轉發。TRILL技術是數據中心交換機二層基本特性,這是普通交換機所不具備的。 以上的幾種網路技術是普通交換機所不具備的,是數據中心交換機的主要技術,是為新一代數據中心,甚至雲數據中心服務的網路技術。有了這些新的網路技術,才使得數據中心得到飛速發展。
㈩ 電腦緩存怎麼設置
電腦用的時間越長,反映速度越慢,這可能不是電腦質量出現了問題,很有可能是該清理電腦緩存了。我們平時用電腦上網、看視頻、工作的時候都會產生一定的緩存,如果不及時的處理這些緩存,會佔用很大的空間,影響CPU處理速度。我就在這里教大家如何設置緩存。
一、軟碟機和光碟機的緩存設置
提高軟碟機和光碟機的緩存可以提高數據的讀寫量,因為光碟在使用時轉速不能太快,所以軟碟機和光碟機的讀寫速度很慢,但是我們提高了讀寫量,那麼讀寫速度也就會有所提高。
首先,打開”開始“”運行“,輸入“Regedit”,打開”注冊表編輯器“窗口,然後依次打開:HKEY-LOCAL-,新建一個ForeFifo的“DWORD值”,並把DWORD值設置為0。
二、CPU的緩存設置
CPU緩存分為一級緩存和二級緩存,CPU緩存佔用空間多了會影響到電腦的開機速度,同時也會影響到程序的打開和使用。在CPU處理數據的時候首先查找的是一級緩存,其次就二級緩存,最後是系統內存。
查看清理CPU緩存需要設置的是“BIOS設置”中的“標准CMOS設定”,當CPUInternal Cache設置為“Enabl”時開啟的是一級緩沖區,設置為“Disabl”就是關閉一級緩沖區,ExternalCache設置為“Enable”是開啟二級緩沖區,設置為”Disabl“是關閉二級緩沖區。
三、硬碟的緩存設置
滑鼠右擊”計算機“,點擊”屬性“,打開”系統“窗口,點擊”高級系統設置“。打開”系統屬性“窗口,點擊”高級“選項,選擇”設置“按鈕,打開”性能選項“窗口,點擊”高級“選項,選擇”更改“按鈕。在”虛擬內存“中,點擊”D盤“選項,點擊”自定義大小“,設置空間大小後,點擊”確定“。然後在依次設置E盤、F盤的大小。
四、IE瀏覽器的緩存設置
IE瀏覽器的緩存文件在C盤,設置緩存需要打開瀏覽器中的”工具“選項,選擇”Internet選項“,打開”Internet屬性“窗口,在”常規“選項中點擊”設置“按鈕,彈出”網路數據設置“窗口,選擇”Internet臨時文件“選項,設置使用的磁碟空間。
設置好電腦的緩存空間之後,可以提高電腦的速度,但是也要注意定期清理這些緩存,如果長時間不清理緩存,緩存空間會變小,影響使用速度。尤其是一些游戲軟體、視頻軟體,會佔用很大的緩存空間。