快取

快取

快取就是資料交換的緩沖區(稱作Cache),當某一硬體要讀取資料時,會首先從快取中查找需要的資料,如果找到了則直接執行,找不到的話則從記憶體中找。由于快取的運行速度比記憶體快得多,故快取的作用就是幫助硬體更快地運行。

因為快取往往使用的是RAM(斷電即掉的非永久儲存),所以在用完後還是會把檔案送到硬碟存儲器裏永久存儲。電腦裏最大的快取就是記憶體條了,最快的是CPU上鑲的L1和L2快取,顯示卡的顯存是給顯示卡運算晶片用的快取,硬碟上也有16M或者32M的快取。

  • 中文名稱
    快取
  • 外文名稱
    Cache memory
  • 套用領域
    電腦工程
  • 特點
    極快的存取速度

基本簡介

高速快取(英語: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 第三級高速緩沖存儲器)。

由于主存容量遠大于高速快取的容量,因此兩者之間就必須按一定的規則對應起來。高速快取的地址鏡像就是指按某種規則把主存塊裝入高速快取中。地址變換是指當按某種鏡像方式把主存塊裝入高速快取後,每次訪問高速快取時,如何把主存的物理地址(Physical address)或虛擬地址(Virtual address)變換成高速快取的地址,從而訪問高速快取中的資料。鏡像和變換的方式有四種:直接鏡像、全相連鏡像、組相連鏡像、區段相連鏡像。

現在高速快取的概念已被擴充,不僅在CPU和主記憶體之間有Cache而且在記憶體和硬碟之間也有Cache(磁碟高速快取),乃至在硬碟與網路之間也有某種意義上的Cache - Internet臨時資料夾──凡是位于速度相差較大的兩種硬體之間的,用于協調兩者資料傳輸速度差異的結構,均可稱之為Cache。

原理

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 第三級高速緩沖存儲器)。

​鏡像與變換

由于主存容量遠大于高速快取的容量,因此兩者之間就必須按一定的規則對應起來。高速快取的地址鏡像就是指按某種規則把主存塊裝入高速快取中。地址變換是指當按某種鏡像方式把主存塊裝入高速快取後,每次訪問高速快取時,如何把主存的物理地址(Physical address)或虛擬地址(Virtual address)變換成高速快取的地址,從而訪問高速快取中的資料。

鏡像和變換的方式有四種:直接鏡像、全相連鏡像、組相連鏡像、區段相連鏡像。

概念的擴充

現在高速快取的概念已被擴充,不僅在CPU和主記憶體之間有Cache而且在記憶體和硬碟之間也有Cache(磁碟高速快取),乃至在硬碟與網路之間也有某種意義上的Cache - Internet臨時資料夾──凡是位于速度相差較大的兩種硬體之間的,用于協調兩者資料傳輸速度差異的結構,均可稱之為Cache。隨著套用軟體的增多,垃圾越來越多。智慧型快取的開發與套用,對有意義的快取保留,無用的快取智慧型清理或者進行暫時壓縮處理!

相關詞條

相關搜尋

其它詞條