當前位置:首頁 » 硬碟大全 » 數據緩存
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

數據緩存

發布時間: 2022-02-01 04:32:20

① 一級數據緩存跟一級指令緩存是什麼意思

一級緩存(Level 1 Cache)簡稱L1 Cache,位於CPU內核的旁邊,是與CPU結合最為緊密的CPU緩存,也是歷史上最早出現的CPU緩存。由於一級緩存的技術難度和製造成本最高,提高容量所帶來的技術難度增加和成本增加非常大,所帶來的性能提升卻不明顯,性價比很低,而且現有的一級緩存的命中率已經很高,所以一級緩存是所有緩存中容量最小的,比二級緩存要小得多。 一般來說,一級緩存可以分為一級數據緩存(Data Cache,D-Cache)和一級指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數據以及對執行這些數據的指令進行即時解碼,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。目前大多數CPU的一級數據緩存和一級指令緩存具有相同的容量,例如AMD的Athlon XP就具有64KB的一級數據緩存和64KB的一級指令緩存,其一級緩存就以64KB+64KB來表示,其餘的CPU的一級緩存表示方法以此類推。 二級緩存是CPU性能表現的關鍵之一,在CPU核心不變化的情況下,增加二級緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級緩存上有差異,由此可見二級緩存對於CPU的重要性。

② 緩存是什麼

二級緩存
二級緩存又叫L2 CACHE,它是處理器內部的一些緩沖存儲器,其作用跟內存一樣。 它是怎麼出現的呢? 要上溯到上個世紀80年代,由於處理器的運行速度越來越快,慢慢地,處理器需要從內存中讀取數據的速度需求就越來越高了。然而內存的速度提升速度卻很緩慢,而能高速讀寫數據的內存價格又非常高昂,不能大量採用。從性能價格比的角度出發,英特爾等處理器設計生產公司想到一個辦法,就是用少量的高速內存和大量的低速內存結合使用,共同為處理器提供數據。這樣就兼顧了性能和使用成本的最優。而那些高速的內存因為是處於CPU和內存之間的位置,又是臨時存放數據的地方,所以就叫做緩沖存儲器了,簡稱「緩存」。它的作用就像倉庫中臨時堆放貨物的地方一樣,貨物從運輸車輛上放下時臨時堆放在緩存區中,然後再搬到內部存儲區中長時間存放。貨物在這段區域中存放的時間很短,就是一個臨時貨場。 最初緩存只有一級,後來處理器速度又提升了,一級緩存不夠用了,於是就添加了二級緩存。二級緩存是比一級緩存速度更慢,容量更大的內存,主要就是做一級緩存和內存之間數據臨時交換的地方用。現在,為了適應速度更快的處理器P4EE,已經出現了三級緩存了,它的容量更大,速度相對二級緩存也要慢一些,但是比內存可快多了。 緩存的出現使得CPU處理器的運行效率得到了大幅度的提升,這個區域中存放的都是CPU頻繁要使用的數據,所以緩存越大處理器效率就越高,同時由於緩存的物理結構比內存復雜很多,所以其成本也很高。

大量使用二級緩存帶來的結果是處理器運行效率的提升和成本價格的大幅度不等比提升。舉個例子,伺服器上用的至強處理器和普通的P4處理器其內核基本上是一樣的,就是二級緩存不同。至強的二級緩存是2MB~16MB,P4的二級緩存是512KB,於是最便宜的至強也比最貴的P4貴,原因就在二級緩存不同。

即L2 Cache。由於L1級高速緩存容量的限制,為了再次提高CPU的運算速度,在CPU外部放置一高速存儲器,即二級緩存。工作主頻比較靈活,可與CPU同頻,也可不同。CPU在讀取數據時,先在L1中尋找,再從L2尋找,然後是內存,在後是外存儲器。所以L2對系統的影響也不容忽視。

CPU緩存(Cache Memory)位於CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個內存儲器(緩存+內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統了。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。

緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。

正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存後內存。

最早先的CPU緩存是個整體的,而且容量很低,英特爾公司從Pentium時代開始把緩存進行了分類。當時集成在CPU內核中的緩存已不足以滿足CPU的需求,而製造工藝上的限制又不能大幅度提高緩存的容量。因此出現了集成在與CPU同一塊電路板上或主板上的緩存,此時就把 CPU內核集成的緩存稱為一級緩存,而外部的稱為二級緩存。一級緩存中還分數據緩存(Data Cache,D-Cache)和指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數據和執行這些數據的指令,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。英特爾公司在推出Pentium 4處理器時,用新增的一種一級追蹤緩存替代指令緩存,容量為12KμOps,表示能存儲12K條微指令。

隨著CPU製造工藝的發展,二級緩存也能輕易的集成在CPU內核中,容量也在逐年提升。現在再用集成在CPU內部與否來定義一、二級緩存,已不確切。而且隨著二級緩存被集成入CPU內核中,以往二級緩存與CPU大差距分頻的情況也被改變,此時其以相同於主頻的速度工作,可以為CPU提供更高的傳輸速度。

二級緩存是CPU性能表現的關鍵之一,在CPU核心不變化的情況下,增加二級緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級緩存上有差異,由此可見二級緩存對於CPU的重要性。

CPU在緩存中找到有用的數據被稱為命中,當緩存中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有二級緩存的CPU中,讀取一級緩存的命中率為80%。也就是說CPU一級緩存中找到的有用數據占數據總量的80%,剩下的20%從二級緩存中讀取。由於不能准確預測將要執行的數據,讀取二級緩存的命中率也在80%左右(從二級緩存讀到有用的數據占總數據的16%)。那麼還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。目前的較高端的CPU中,還會帶有三級緩存,它是為讀取二級緩存後未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。

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

CPU產品中,一級緩存的容量基本在4KB到64KB之間,二級緩存的容量則分為128KB、256KB、512KB、1MB、2MB等。一級緩存容量各產品之間相差不大,而二級緩存容量則是提高CPU性能的關鍵。二級緩存容量的提升是由CPU製造工藝所決定的,容量增大必然導致CPU內部晶體管數的增加,要在有限的CPU面積上集成更大的緩存,對製造工藝的要求也就越高

③ 數據緩存的好處是什麼,如何實現數據緩存

高速緩存分為一級緩存(即L1 Cache)和二級緩存(即L2Cache)。CPU在運行時首先從一級緩存讀取數據,然後從二級緩存讀取數據,然後從內存和虛擬內存讀取數據,因此高速緩存的容量和速度直接影響到CPU的工作性能。 一級緩存都內置在CPU內部並與CP...

④ 什麼是緩存數據可以刪除嗎

緩存數據是臨時數據。可以刪除,而且系統會自動刪除。

⑤ 手機緩存數據是什麼意思

手機緩存數據是手機上的應用程序在使用過程中下載的臨時文件,方便下次使用時快速調用,但是如果手機的應用程序的緩存數據過多會佔用手機的存儲空間。

以iPhone 7手機為例,清除手機的緩存數據操作步驟如下:

1、打開手機上需要清除緩存數據的應用。

⑥ 什麼叫緩存

所謂的緩存,就是將程序或系統經常要調用的對象存在內存中,一遍其使用時可以快速調用,不必再去創建新的重復的實例。這樣做可以減少系統開銷,提高系統效率。

1、通過文件緩存;顧名思義文件緩存是指把數據存儲在磁碟上,不管你是以XML格式,序列化文件DAT格式還是其它文件格式;

2、內存緩存;也就是創建一個靜態內存區域,將數據存儲進去,例如我們B/S架構的將數據存儲在Application中或者存儲在一個靜態Map中。

3、本地內存緩存;就是把數據緩存在本機的內存中。

4、分布式緩存機制;可能存在跨進程,跨域訪問緩存數據

對於分布式的緩存,此時因為緩存的數據是放在緩存伺服器中的,或者說,此時應用程序需要跨進程的去訪問分布式緩存伺服器。

(6)數據緩存擴展閱讀

當我們在應用中使用跨進程的緩存機制,例如分布式緩存memcached或者微軟的AppFabric,此時數據被緩存在應用程序之外的進程中。

每次,當我們要把一些數據緩存起來的時候,緩存的API就會把數據首先序列化為位元組的形式,然後把這些位元組發送給緩存伺服器去保存。

同理,當我們在應用中要再次使用緩存的數據的時候,緩存伺服器就會將緩存的位元組發送給應用程序,而緩存的客戶端類庫接受到這些位元組之後就要進行反序列化的操作了,將之轉換為我們需要的數據對象。

⑦ 什麼是緩存數據緩存是什麼意思

手機緩存數據是手機上的應用程序在使用過程中下載的臨時文件,方便下次使用時快速調用,但是如果手機的應用程序的緩存數據過多會佔用手機的存儲空間。

以iPhone 7手機為例,清除手機的緩存數據操作步驟如下:

1、打開手機上需要清除緩存數據的應用。

⑧ 緩存 緩存

緩存是把曾經瀏覽過的網頁內容存儲在本地硬碟,以後需再瀏覽該網頁時,數據將直接從本地硬碟中讀取,而不用從該網頁讀取,速度較快。

先我們來簡單了解一下一級緩存。目前所有主流處理器大都具有一級緩存和二級緩存,少數高端處理器還集成了三級緩存。其中,一級緩存可分為一級指令緩存和一級數據緩存。一級指令緩存用於暫時存儲並向CPU遞送各類運算指令;一級數據緩存用於暫時存儲並向CPU遞送運算所需數據,這就是一級緩存的作用

那麼,二級緩存的作用又是什麼呢?簡單地說,二級緩存就是一級緩存的緩沖器:一級緩存製造成本很高因此它的容量有限,二級緩存的作用就是存儲那些CPU處理時需要用到、一級緩存又無法存儲的數據。同樣道理,三級緩存和內存可以看作是二級緩存的緩沖器,它們的容量遞增,但單位製造成本卻遞減。需要注意的是,無論是二級緩存、三級緩存還是內存都不能存儲處理器操作的原始指令,這些指令只能存儲在CPU的一級指令緩存中,而餘下的二級緩存、三級緩存和內存僅用於存儲CPU所需數據。

根據工作原理的不同,目前主流處理器所採用的一級數據緩存又可以分為實數據讀寫緩存和數據代碼指令追蹤緩存2種,它們分別被AMD和Intel所採用。不同的一級數據緩存設計對於二級緩存容量的需求也各不相同,下面讓我們簡單了解一下這兩種一級數據緩存設計的不同之處。
一、AMD一級數據緩存設計

AMD採用的一級緩存設計屬於傳統的「實數據讀寫緩存」設計。基於該架構的一級數據緩存主要用於存儲CPU最先讀取的數據;而更多的讀取數據則分別存儲在二級緩存和系統內存當中。做個簡單的假設,假如處理器需要讀取「AMD ATHLON 64 3000+ IS GOOD」這一串數據(不記空格),那麼首先要被讀取的「AMDATHL」將被存儲在一級數據緩存中,而餘下的「ON643000+ISGOOD」則被分別存儲在二級緩存和系統內存當中(如下圖所示)。

需要注意的是,以上假設只是對AMD處理器一級數據緩存的一個抽象描述,一級數據緩存和二級緩存所能存儲的數據長度完全由緩存容量的大小決定,而絕非以上假設中的幾個位元組。「實數據讀寫緩存」的優點是數據讀取直接快速,但這也需要一級數據緩存具有一定的容量,增加了處理器的製造難度(一級數據緩存的單位製造成本較二級緩存高)。
二、Intel一級數據緩存設計

自P4時代開始,Intel開始採用全新的「數據代碼指令追蹤緩存」設計。基於這種架構的一級數據緩存不再存儲實際的數據,而是存儲這些數據在二級緩存中的指令代碼(即數據在二級緩存中存儲的起始地址)。假設處理器需要讀取「INTEL P4 IS GOOD」這一串數據(不記空格),那麼所有數據將被存儲在二級緩存中,而一級數據代碼指令追蹤緩存需要存儲的僅僅是上述數據的起始地址(如下圖所示)。

由於一級數據緩存不再存儲實際數據,因此「數據代碼指令追蹤緩存」設計能夠極大地降CPU對一級數據緩存容量的要求,降低處理器的生產難度。但這種設計的弊端在於數據讀取效率較「實數據讀寫緩存設計」低,而且對二級緩存容量的依賴性非常大。

在了解了一級緩存、二級緩存的大致作用及其分類以後,下面我們來回答以下硬體一菜鳥網友提出的問題。
從理論上講,二級緩存越大處理器的性能越好,但這並不是說二級緩存容量加倍就能夠處理器帶來成倍的性能增長。目前CPU處理的絕大部分數據的大小都在0-256KB之間,小部分數據的大小在256KB-512KB之間,只有極少數數據的大小超過512KB。所以只要處理器可用的一級、二級緩存容量達到256KB以上,那就能夠應付正常的應用;512KB容量的二級緩存已經足夠滿足絕大多數應用的需求。

這其中,對於採用「實數據讀寫緩存」設計的AMD Athlon 64、Sempron處理器而言,由於它們已經具備了64KB一級指令緩存和64KB一級數據緩存,只要處理器的二級緩存容量大於等於128KB就能夠存儲足夠的數據和指令,因此它們對二級緩存的依賴性並不大。這就是為什麼主頻同為1.8GHz的Socket 754 Sempron 3000+(128KB二級緩存)、Sempron 3100+(256KB二級緩存)以及Athlon 64 2800+(512KB二級緩存)在大多數評測中性能非常接近的主要原因。所以對於普通用戶而言754 Sempron 2600+是值得考慮的。

反觀Intel目前主推的P4、賽揚系列處理器,它們都採用了「數據代碼指令追蹤緩存」架構,其中Prescott內核的一級緩存中只包含了12KB一級指令緩存和16KB一級數據緩存,而Northwood內核更是只有12KB一級指令緩存和8KB一級數據緩存。所以P4、賽揚系列處理器對二級緩存的依賴性是非常大的,賽揚D 320(256KB二級緩存)與賽揚 2.4GHz(128KB二級緩存)性能上的巨大差距就很好地證明了這一點;而賽揚D和P4 E處理器之間的性能差距同樣十分明顯。

最後,如果您是狂熱的游戲發燒友或者從事多媒體製作的專業用戶,那麼具有1MB二級緩存的P4處理器和具有512KB/1MB二級緩存的Athlon 64處理器才是您理想的選擇。因為在高負荷的運算下,CPU的一級緩存和二級緩存近乎「爆滿」,在這個時候大容量的二級緩存能夠為處理器帶來5%-10%左右的性能提升,這對於那些要求苛刻的用戶來說是完全有必要的。