什么是高速緩存
什么是高速緩存
高速緩存
高速緩存(英語:cache)
其原始意義是指訪問速度比一般隨機存取存儲器(RAM)快的一種RAM,通常它不像系統(tǒng)主存那樣使用DRAM技術(shù),而使用昂貴但較快速的SRAM技術(shù)。
原理
Cache一詞來源于1967年的一篇電子工程期刊論文。其作者將法語詞“cache”賦予“safekeeping storage”的涵義,用于電腦工程領(lǐng)域。
當(dāng)CPU處理數(shù)據(jù)時,它會先到Cache中去尋找,如果數(shù)據(jù)因之前的操作已經(jīng)讀取而被暫存其中,就不需要再從隨機存取存儲器(Main memory)中讀取數(shù)據(jù)——由于CPU的運行速度一般比主內(nèi)存的讀取速度快,主存儲器周期(訪問主存儲器所需要的時間)為數(shù)個時鐘周期。因此若要訪問主內(nèi)存的話,就必須等待數(shù)個CPU周期從而造成浪費。
提供“高速緩存”的目的是為了讓數(shù)據(jù)訪問的速度適應(yīng)CPU的處理速度,其基于的原理是內(nèi)存中“程序執(zhí)行與數(shù)據(jù)訪問的局域性行為”,即一定程序執(zhí)行時間和空間內(nèi),被訪問的代碼集中于一部分。為了充分發(fā)揮高速緩存的作用,不僅依靠“暫存剛剛訪問過的數(shù)據(jù)”,還要使用硬件實現(xiàn)的指令預(yù)測與數(shù)據(jù)預(yù)取技術(shù)——盡可能把將要使用的數(shù)據(jù)預(yù)先從內(nèi)存中取到高速緩存里。
CPU的高速緩存曾經(jīng)是用在超級計算機上的一種高級技術(shù),不過現(xiàn)今電腦上使用的的AMD或Intel微處理器都在芯片內(nèi)部集成了大小不等的數(shù)據(jù)高速緩存和指令高速緩存,通稱為L1高速緩存(L1 Cache即Level 1 On-die Cache,第一級片上高速緩沖存儲器);而比L1更大容量的L2高速緩存曾經(jīng)被放在CPU外部(主板或者CPU接口卡上),但是現(xiàn)在已經(jīng)成為CPU內(nèi)部的標(biāo)準(zhǔn)組件;更昂貴的CPU會配備比L2高速緩存還要大的L3高速緩存(level 3 On-die Cache第三級高速緩沖存儲器)。