當前位置:學問谷 >

職場範例 >社會 >

緩存的概念以及發展

緩存的概念以及發展

緩存就是數據交換的緩衝區(稱作Cache),當某一硬件要讀取數據時,會首先從緩存中查找需要的數據,如果找到了則直接執行,找不到的話則從內存中找。由於緩存的運行速度比內存快得多,故緩存的作用就是幫助硬件更快地運行。

緩存的概念以及發展

基本簡介

高速緩存(英語: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。

鏡像與變換

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

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

概念的擴充

現在高速緩存的概念已被擴充,不僅在CPU和主內存之間有Cache而且在內存和硬盤之間也有Cache(磁盤高速緩存),乃至在硬盤與網絡之間也有某種意義上的Cache - Internet臨時文件夾──凡是位於速度相差較大的兩種硬件之間的,用於協調兩者數據傳輸速度差異的結構,均可稱之為Cache。隨着應用軟件的增多,垃圾越來越多。智能緩存的開發與應用,對有意義的緩存保留,無用的緩存智能清理或者進行暫時壓縮處理!

標籤: 緩存
  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flzc/shehui/m45yyl.html