首頁 > 硬體

二級快取是什麼

2020-10-19 17:59:16

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

工作原理

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

快取的利用率

  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的存取速度快,但體積較大,價格很高。


IT145.com E-mail:sddin#qq.com