二級快取

二級快取

CPU快取(Cache Memory)位於CPU與記憶體之間的臨時存儲器,它的容量比記憶體小但交換速度快。在快取中的數據是記憶體中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開記憶體直接從快取中調用,從而加快讀取速度。最初快取只有一級,二級快取(L2 CACHE)出現是為了協調一級快取與記憶體之間的速度。二級快取比一級快取速度更慢,容量更大,主要就是做一級快取和記憶體之間數據臨時交換的地方用。實際上,現在IntelAMD處理器在一級快取的邏輯結構設計上有所不同,所以二級快取對CPU性能的影響也不盡相同。

基本介紹

  • 中文名:二級快取
  • 外文名:Cache Memory
  • 特點:讀取快取的命中率非常高
  • 優勢:節省了CPU直接讀取記憶體的時間
  • 產品舉例IntelAMD處理器
工作原理,快取的利用率,概述,處理器快取,品牌差異,

工作原理

快取的工作原理是當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所造成的衝突,提高了處理器效能。
二級快取

快取的利用率

概述

CPU在快取中找到有用的數據被稱為命中,當快取中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問記憶體。從理論上講,在一顆擁有二級快取的CPU中,讀取一級快取的命中率為80%。也就是說CPU一級快取中找到的有用數據占數據總量的80%,剩下的20%從二級快取中讀取。由於不能準確預測將要執行的數據,讀取二級快取的命中率也在80%左右(從二級快取讀到有用的數據占總數據的16%)。那么還有的數據就不得不從記憶體調用,但這已經是一個相當小的比例了。較高端的CPU中,還會帶有三級快取,它是為讀取二級快取後未命中的數據設計的—種快取,在擁有三級快取的CPU中,只有約5%的數據需要從記憶體中調用,這進一步提高了CPU的效率。
為了保證CPU訪問時有較高的命中率,快取中的內容應該按一定的算法替換。一種較常用的算法是“最近最少使用算法”(LRU算法),它是將固定時間內最少被訪問過的行淘汰出局。因此需要為每行設定一個計數器,LRU算法是把命中行的計數器清零,其他各行計數器加1。當需要替換時淘汰行計數器計數值最大的數據行出局。這是一種高效、科學的算法,其計數器清零過程可以把一些頻繁調用後再不需要的數據淘汰出快取,提高快取的利用率。
二級快取二級快取

處理器快取

所謂處理器快取,通常指的是二級高速快取,或外部高速快取。即高速緩衝存儲器,是位於CPU和主存儲器DRAM(Dynamic RAM)之間的規模較小的但速度很高的存儲器,通常由SRAM(靜態隨機存儲器)組成。用來存放那些被CPU頻繁使用的數據,以便使CPU不必依賴於速度較慢的DRAM(動態隨機存儲器)。L2高速快取一直都屬於速度極快而價格也相當昂貴的一類記憶體,稱為SRAM(靜態RAM),SRAM(Static RAM)是靜態存儲器的英文縮寫。由於SRAM採用了與製作CPU相同的半導體工藝,因此與動態存儲器DRAM比較,SRAM的存取速度快,但體積較大,價格很高。
二級快取二級快取
AMD FX 8150CPU擁有8M二級快取AMD FX 8150CPU擁有8M二級快取

品牌差異

實際上,Intel和AMD處理器在一級快取的邏輯結構設計上有所不同,所以二級快取對CPU性能的影響也不盡相同。因為CPU讀取的數據(包括指令)中有80%的數據來自一級快取,所以一級快取的邏輯結構決定了CPU二級快取容量對CPU性能的影響。Intel的Pentium 4及Celeron系列處理器的一級數據快取被稱為“數據代碼指令追蹤(讀寫)快取”;AMD的Athlon 64/Athlon XP/Sempron/Duron系列處理器 的一級數據快取叫作“實數據讀寫快取”。
二級快取
二級快取

熱門詞條

聯絡我們