什麼是快取記憶體
快取記憶體
快取記憶體英語:cache
其原始意義是指訪問速度比一般隨機存取儲存器RAM快的一種RAM,通常它不像系統主存那樣使用DRAM技術,而使用昂貴但較快速的SRAM技術。
原理
Cache一詞來源於1967年的一篇電子工程期刊論文。其作者將法語詞“cache”賦予“safekeeping storage”的涵義,用於電腦工程領域。
當CPU處理資料時,它會先到Cache中去尋找,如果資料因之前的操作已經讀取而被暫存其中,就不需要再從隨機存取儲存器Main memory中讀取資料——由於CPU的執行速度一般比主記憶體的讀取速度快,主儲存器週期訪問主儲存器所需要的時間為數個時鐘週期。因此若要訪問主記憶體的話,就必須等待數個CPU週期從而造成浪費。
提供“快取記憶體”的目的是為了讓資料訪問的速度適應CPU的處理速度,其基於的原理是記憶體中“程式執行與資料訪問的局域性行為”,即一定程式執行時間和空間內,被訪問的程式碼集中於一部分。為了充分發揮快取記憶體的作用,不僅依靠“暫存剛剛訪問過的資料”,還要使用硬體實現的指令預測與資料預取技術——儘可能把將要使用的資料預先從記憶體中取到快取記憶體裡。
CPU的快取記憶體曾經是用在超級計算機上的一種高階技術,不過現今電腦上使用的的AMD或Intel微處理器都在晶片內部集成了大小不等的資料快取記憶體和指令快取記憶體,通稱為L1快取記憶體L1 Cache即Level 1 On-die Cache,第一級片上高速緩衝儲存器;而比L1更大容量的L2快取記憶體曾經被放在CPU外部主機板或者CPU介面卡上,但是現在已經成為CPU內部的標準組件;更昂貴的CPU會配備比L2快取記憶體還要大的L3快取記憶體level 3 On-die Cache第三級高速緩衝儲存器。