容量小速度快—小快取裡的大學問

tolywang發表於2008-08-04
  高速緩衝儲存器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作為一個整體來考慮的,現在要分類分析了. 

  在以往的觀念中,l1cache是整合在cpu中的,被稱為片內cache.在l1中還分資料cache(i-cache)與指令cache(d-cache).它們分別用來存放資料與執行這些資料的指令,而且兩個cache可以同時被cpu訪問,減少了爭用cache所造成的衝突,提高了處理器效能.  

  在p4處理器中使用了一種先進的一級指令cache——動態跟蹤快取.它直接與執行單元及動態跟蹤引擎相連,透過動態跟蹤引擎可以很快地找到所執行的指令,並且將指令的順序儲存在追蹤快取裡,這樣就減少了主執行迴圈的解碼週期,提高了處理器的運算效率.

  以前的l2cache沒整合在cpu中,而在主機板上或與cpu整合在同一塊電路板上,因此也被稱為片外cache.但從pⅲ開始,由於工藝的提高l2cache被整合在cpu核心中,以相同於主頻的速度工作,結束了l2cache與cpu大差距分頻的歷史,使l2cache與l1cache在效能上平等,得到更高的傳輸速度.l2cache只儲存資料,因此不分資料cache與指令cache.在cpu核心不變化的情況下,增加l2cache的容量能使效能提升,同一核心的cpu高低端之分往往也是在l2cache上做手腳,可見l2cache的重要性.現在cpu的l1cache與l2cache惟一區別在於讀取順序.

  3.讀取命中率

  cpu在cache中找到有用的資料被稱為命中,當cache中沒有cpu所需的資料時(這時稱為未命中),cpu才訪問記憶體.
從理論上講,在一顆擁有2級cache的cpu中,讀取l1cache的命中率為80%.也就是說cpu從l1cache中找到的有用資料佔資料總量的80%,剩下的20%從l2cache讀取.由於不能準確預測將要執行的資料,讀取l2的命中率也在80%左右(從l2讀到有用的資料佔總資料的16%).那麼還有的資料就不得不從記憶體呼叫,但這已經是一個相當小的比例了.在一些高階領域的cpu(像intel的itanium)中,我們常聽到l3cache,它是為讀取l2cache後未命中的資料設計的—種cache,在擁有l3cache的cpu中,只有約5%的資料需要從記憶體中呼叫,這進一步提高了cpu的效率.

  為了保證cpu訪問時有較高的命中率,cache中的內容應該按一定的演算法替換.一種較常用的演算法是“最近最少使用演算法”(lru演算法),它是將最近一段時間內最少被訪問過的行淘汰出局.因此需要為每行設定一個計數器,lru演算法是把命中行的計數器清零,其他各行計數器加1.當需要替換時淘汰行計數器計數值最大的資料行出局.這是一種高效.科學的演算法,其計數器清零過程可以把一些頻繁呼叫後再不需要的資料淘汰出cache,提高cache的利用率.

  快取技術的發展

  總之,在傳輸速度有較大差異的裝置間都可以利用cache作為匹配來調節差距,或者說是這些裝置的傳輸通道.在顯示系統.硬碟與光碟機,以及網路通訊中,都需要使用cache技術.但cache均由靜態ram組成,結構複雜,成本不菲,使用現有工藝在有限的面積內不可能做得很大,不過,這也正是技術前進的源動力,有需要才有進步!


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-417684/,如需轉載,請註明出處,否則將追究法律責任。

相關文章