當前位置:首頁 » 文件管理 » 追蹤緩存

追蹤緩存

發布時間: 2022-09-13 13:36:42

❶ 一級緩存,二級緩存是什麼意思有什麼用

首先我們來簡單了解一下一級緩存。目前所有主流處理器大都具有一級緩存和二級緩存,少數高端處理器還集成了三級緩存。其中,一級緩存可分為一級指令緩存和一級數據緩存。一級指令緩存用於暫時存儲並向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、賽揚系列處理器,它們都採用了「數據代碼指令追蹤緩存」架

❷ C4D能夠將追蹤對象產生的動畫緩存起來么不然每次渲染都得先播一遍。。

緩存文件,ctrl+E打開設置——內存——圖片查看器——緩存路徑,後面的路徑就是文件夾目錄,可以自己修改地方。另外,找到這個文件夾後,進入C:\Users\用戶名\AppData\Roaming\MAXON\CINEMA 4D R1X_XXXXXX\prefs
進行清理,再往上到CINEMA 4D R1X_XXXXXX目錄(或者直接ctrl+E打開設置,點擊最底下的「打開配置文件夾」),_bugreports是出錯文件臨時保存目錄,illum是全局光照緩存文件(在渲染設置——全局光照里也能更改路徑)

❸ 指令緩存的指令緩存和指令追蹤緩存

緩存存儲的內容不止是數據,也包括指令,但是由於指令具備的以下性質,導致指令緩存的機制遠沒有數據緩存那麼復雜:
需要執行的代碼量通常都是比較固定的,和問題的復雜度有關 程序指令通常由編譯器產生,產生過程中就能得到一定的優化 相比數據存取機制,程序流程的可預測度要強得多,更有利於prefeching 代碼一般都具有很好的空間和時間局部性
隨著技術的發展,CPU的執行過程都流水化了,指令的執行都是分成階段的,一開始安心等在指令緩存中,等待被處理單元執行時才取出,然後解碼,准備相關參數,最後執行。這種過程有兩個缺點,首先某些 x86 指令非常復雜,經由解碼器時需耗費太多的時間來解碼,尤其是以X86為代表的CISA家族,最糟的情況下所有解碼單元忙於解碼復雜指令,以至於阻礙處理器的執行管道。另一個問題則是如果在小循環的代碼中,每當這些代碼進入執行路徑幾次,編碼就得進行幾次,造成時間的浪費。而且大家知道的流水管線是越做越長,這也就意味著,一旦流水線遭遇不測發生中斷,或者出現分枝預測的錯誤,造成的延時就會很大。可以說,這算是一個一直困擾CPU設計人員的問題。
從Pentium 4開始,Intel採用了一種新的緩存類型,叫tracecache,俗稱指令追蹤緩存。這玩意不是用來和一般的指令緩存一樣存儲指令的原始位元組序列,而是被用來存儲解碼單元送出來的微操作。
指令追蹤緩存位於指令解碼器和內核第一層計算管線之間,指令在解碼單元內獲取和解碼之後,微操作必須先經過追蹤緩存的存儲和和輸出,才能到達內核第一層計算管線被執行。這樣可以有效彌補上述兩個缺點,因為此時所取的都是解碼後的指令,還避免了指令的重復調用。更重要的是,追蹤緩存確保處理器管道持續處於指令滿載的狀態,避免執行路徑由於解碼單元延遲的情況。應該說,指令追蹤緩存確實是一個值得稱道的技術。
當然,這些分析都是基於L1I緩存分析的,至於L2的緩存,因為是數據和指令統一存儲,自然就不可能作出和追蹤緩存類似的架構了。

❹ CPU Internal Cache與External Cache區別

Cache是CPU在高速處理數據需要延緩存放要處理數據的儲存器是硬碟控制器上的一塊內存晶元!
Internal Cache 就是CPU是一級指令緩存!
External Cache 就是CPU的一種一級追蹤緩存!

一級緩存可以分為一級數據緩存(Data Cache,D-Cache)和一級指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數據以及對執行這些數據的指令進行即時解碼,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。大多數CPU的一級數據緩存和一級指令緩存具有相同的容量,例如AMD的Athlon XP就具有64KB的一級數據緩存和64KB的一級指令緩存,其一級緩存就以64KB+64KB來表示,其餘的CPU的一級緩存表示方法以此類推。
Intel的採用NetBurst架構的CPU(最典型的就是Pentium 4)的一級緩存有點特殊,使用了新增加的一種一級追蹤緩存(Execution Trace Cache,T-Cache或ETC)來替代一級指令緩存,容量為12KμOps,表示能存儲12K條即

~
你可以把它理解成人吃飯!~
人吃飯要先用碗盛飯~在放嘴裡嚼~在咽下去!
不可能直接搬起電飯煲就吃!
~碗就像Cache讓把要消化的飯放進去讓你慢慢消化!~
飯就像是CPU要處理的數據!

❺ CPU一級緩存分為「實數據讀寫緩存」設計和「數據代碼指令追蹤緩存」設計

i3,i5,i7系列的。

❻ cpu一級緩存,二級緩存,三級緩存是什麼意思

首先我們來簡單了解一下一級緩存。目前所有主流處理器大都具有一級緩存和二級緩存,少數高端處理器還集成了三級緩存。其中,一級緩存可分為一級指令緩存和一級數據緩存。一級指令緩存用於暫時存儲並向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%左右的性能提升,這對於那些要求苛刻的用戶來說是完全有必要的。

❼ L1高速緩存 L1高速跟蹤緩存 L2高速緩存 他們之間是什麼關系

L1 Cache(一級緩存)是CPU第一層高速緩存,分為數據緩存和指令緩存。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。一般伺服器CPU的L1緩存的容量通常在32—256KB。
L2 Cache(二級緩存)是CPU的第二層高速緩存,分內部和外部兩種晶元。內部的晶元二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半。L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是4MB,而伺服器和工作站上用CPU的L2高速緩存更高達2MB—4MB,有的高達8MB或者19MB。

❽ 一級緩存的分類

按照數據讀取順序和與CPU結合的緊密程度,CPU緩存可以分為一級緩存,二級緩存,部分高端CPU還具有三級緩存,每一級緩存中所儲存的全部數據都是下一級緩存的一部分,這三種緩存的技術難度和製造成本是相對遞減的,所以其容量也是相對遞增的。當CPU要讀取一個數據時,首先從一級緩存中查找,如果沒有找到再從二級緩存中查找,如果還是沒有就從三級緩存或內存中查找。一般來說,每級緩存的命中率大概都在80%左右,也就是說全部數據量的80%都可以在一級緩存中找到,只剩下20%的總數據量才需要從二級緩存、三級緩存或內存中讀取,由此可見一級緩存是整個CPU緩存架構中最為重要的部分。 一級緩存(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的一級緩存表示方法以此類推。
Intel的採用NetBurst架構的CPU(最典型的就是Pentium 4)的一級緩存有點特殊,使用了新增加的一種一級追蹤緩存(Execution Trace Cache,T-Cache或ETC)來替代一級指令緩存,容量為12KμOps,表示能存儲12K條即12000條解碼後的微指令。一級追蹤緩存與一級指令緩存的運行機制是不相同的,一級指令緩存只是對指令作即時的解碼而並不會儲存這些指令,而一級追蹤緩存同樣會將一些指令作解碼,這些指令稱為微指令(micro-ops),而這些微指令能儲存在一級追蹤緩存之內,無需每一次都作出解碼的程序,因此一級追蹤緩存能有效地增加在高工作頻率下對指令的解碼能力,而μOps就是micro-ops,也就是微型操作的意思。它以很高的速度將μops提供給處理器核心。Intel NetBurst微型架構使用執行跟蹤緩存,將解碼器從執行循環中分離出來。這個跟蹤緩存以很高的帶寬將uops提供給核心,從本質上適於充分利用軟體中的指令級並行機制。Intel並沒有公布一級追蹤緩存的實際容量,只知道一級追蹤緩存能儲存12000條微指令(micro-ops)。所以,我們不能簡單地用微指令的數目來比較指令緩存的大小。實際上,單核心的NetBurst架構CPU使用8Kμops的緩存已經基本上夠用了,多出的4kμops可以大大提高緩存命中率。而如果要使用超線程技術的話,12KμOps就會有些不夠用,這就是為什麼有時候Intel處理器在使用超線程技術時會導致性能下降的重要原因。
例如Northwood核心的一級緩存為8KB+12KμOps,就表示其一級數據緩存為8KB,一級追蹤緩存為12KμOps;而Prescott核心的一級緩存為16KB+12KμOps,就表示其一級數據緩存為16KB,一級追蹤緩存為12KμOps。在這里12KμOps絕對不等於12KB,單位都不同,一個是μOps,一個是Byte(位元組),而且二者的運行機制完全不同。所以那些把Intel的CPU一級緩存簡單相加,例如把Northwood核心說成是20KB一級緩存,把Prescott核心說成是28KB一級緩存,並且據此認為Intel處理器的一級緩存容量遠遠低於AMD處理器128KB的一級緩存容量的看法是完全錯誤的,二者不具有可比性。在架構有一定區別的CPU對比中,很多緩存已經難以找到對應的東西,即使類似名稱的緩存在設計思路和功能定義上也有區別了,此時不能用簡單的算術加法來進行對比;而在架構極為近似的CPU對比中,分別對比各種功能緩存大小才有一定的意義。

❾ 高速跟蹤緩存是什麼

、高速緩存的概念和原理

1、高速緩存出現的原因
高速緩存(Cache)的出現主要是為了解決CPU運算速度與內存讀寫速度不匹配的矛盾,因為CPU運算速度要比內存讀寫速度快很多,這樣會使CPU花費很長時間等待數據到來或把數據寫入內存。為了減少這種情況的發生,人們就想到了使用Cache,它採用一種讀寫速度要比系統內存快很多的特殊靜態內存。系統工作時,將運行時要經常存取的一些數據從系統內存讀取到Cache中,而CPU會首先到Cache中去讀取或寫入數據,如果Cache中沒有所需數據(或Cache已滿,無法再寫入),則再對系統內存進行讀寫,另外Cache在空閑時也會與內存交換數據。其實質就是是在慢速DRAM和快速CPU之間插入一速度較快、容量較小的SRAM,起到緩沖作用,使CPU既可以以較快速度存取SRAM中的數據,提高系統整體性能,又不使系統成本上升過高。

2、高速緩存的工作原理
Cache的工作原理是基於計算機程序訪問的局部性。對大量典型程序運行情況的分析結果表明,在一個較短的時間間隔內,由程序產生的地址往往集中在存儲器邏輯地址空間的很小范圍內。對這些地址的訪問具有時間上集中分布的傾向。數據分布以及工作單元的選擇都可以使存儲器地址相對集中。這種對局部范圍的存儲器地址頻繁訪問,而對此范圍以外的地址則訪問甚少的現象,就稱為程序訪問的局部性。根據程序的局部性原理,就為Cache的存在提供了理論依據,系統正是依據此原理,不斷地將與當前指令集相關聯的一個不太大的後繼指令集從內存讀到Cache,然後再與CPU高速傳送,從而達到速度匹配。

3、高速緩存的分級結構

CPU高速緩存是分級構造的,一般由L1和L2兩極構成,通常L1 Cache的速度最快,與CPU核心的距離也最近,但容量較小,而L2 Cache 速度稍慢,但容量較大。Cache採用分級結構的主要理由在於:對於一個典型的一級緩存系統的80%的內存申請都發生在CPU內部,只有20%的內存申請是與外部內存打交道。而這20%的外部內存申請中的80%又與二級緩存打交道。因此,採用分級結構將更加有利於效能的提升和成本的合理分配。

這種分層的高速緩存布局有助於彌合處理器與系統內存速度之間不斷加大的差距,處理器速度每年大約提高50%,而DRAM存取速度每年僅提高5%,由於性能不匹配程度的加劇,CPU將增加第三級,甚至第四級高速緩存。

4、高速緩存的構成
目前Cache基本上都是採用SRAM存儲器,SRAM是英文Static RAM的縮寫,它是一種具有靜志存取功能的內存,不需要刷新電路即能保存它內部存儲的數據。不像DRAM內存那樣需要刷新電路,每隔一段時間,固定要對DRAM刷新充電一次,否則內部的數據即會消失,因此SRAM具有較高的性能,但是SRAM也有它的缺點,即它的集成度較低,相同容量的DRAM內存可以設計為較小的體積,但是SRAM卻需要很大的體積,這也是目前不能將Cache容量做得太大的重要原因。它的特點歸納如下:優點,節能、速度快,不必配合內存刷新電路,可提高整體的工作效率。 缺點,集成度低,相同的容量體積較大,而且價格較高,少量用於關鍵性系統以提高效率。

二、CPU 高速緩存的發展歷史
高速緩存最初應用在CPU領域,目前在CPU領域的應用也最為廣泛和深入。下面就簡單談談高速緩存隨CPU的發展而不斷變化的歷史過程。

1、80486開始出現了內部Cache
PC在誕生的初期並不存在Cache的概念,由於CPU主頻很低,DRAM的存取時間甚至快於CPU存取時間,因此無需Cache。 80386時代開始出現了外部Cache。在80486時代CPU內部才正式出現了Cache。實際上80486就是由更高主頻的80386 加80387數字協處理器以及8kB 內部Cache構成。80486晶元內由8kB的Cache來存放指令和數據。同時,80486也可以使用處理器外部的第二級Cache,用以改善系統性能並降低80486要求的匯流排帶寬。

2、Peutium時代Cache技術發展迅速
Peutium不僅分離L1 Cache和L2 Cache ,而且由於Pentium處理器採用了超標量結構雙路執行的流水線,有2條並行整數流水線,處理器也需要對命令和數據進進雙倍的訪問。為使這些訪問不互相干涉,Intel把在486上共用的內部Cache,分成2個彼此獨立的8kB代碼Cache和8kB數據Cache,這兩個Cache可以同時被訪問。這種雙路高速緩存結構減少了爭用Cache所造成的沖突,提高了處理器效能。Pentium的Cache還採用了回寫寫入方式,這同486的貫穿寫入方式相比,可以增加Cache的命中率。此外,還採用了一種稱為MESI高速緩存一致性協議,為確保多處理器環境下的數據一致性提供了保證。在Pentium MMX中更是增大了L1的容量,並改進了相關的演算法

3、Pentium Pro出現內嵌式L2 Cache

為使Pentium Pro的性能超過Pentium,必需使用創新的設計方法,Pentium Pro使用了內嵌式L2 Cache,大小為512kB。此時的L2已經用線路直接連到CPU上,好處就是減少了對L1 Cache的需求。L2 Cache與CPU同步運行。當L1 Cache不命中時,立刻訪問L2 Cache,不產生附加延遲。為進一步減少因要訪問的信息不在高速緩沖中時所帶來的性能損失,Pentium Pro的L1和L2都設計成非鎖定型。即當哪個Cache中沒有CPU所需的信息時,它不妨礙後面訪問Cache的處理過程。但限於當時的CPU製造工藝,Pentium Pro的內嵌式L2 Cache 良品率太低,生產成本過高, Pentium Pro成為一款壽命短暫的過渡產品。

4、PentiumⅡ的雙重獨立匯流排
PentiumⅡ是Pentium Pro的改進型,具有MMX指令,使用動態執行技術,採用雙獨立匯流排結構。PentiumⅡ同樣有2級Cache,L1為32kB(指令和數據Cache各16kB)是Pentium Pro的一倍。L2為512kB。
Pentium Ⅱ與Pentium Pro在L2 Cache 的不同主要在於L2 Cache已不在內嵌晶元上,而是與CPU通過專用64位高速緩存匯流排相聯,與其它元器件共同被組裝在同一基板上,即「單邊接觸盒」上。雙獨立匯流排結構就是:L2高速緩存匯流排和處理器至主內存的系統匯流排, PentiumⅡ處理器可以同時使用這兩條匯流排,與單一匯流排結構的處理器相比,該處理器可以進出兩倍多的數據。

5、PentiumⅢ L2 Cache進一步改進
PentiumⅢ也是基於Pentium Pro結構為核心,在原有MMX多媒體指令的基礎上,又增了70多條多媒體指令。它使用動態執行技術,採用雙獨立匯流排結構。 PentiumⅢ具有32kB非鎖定L1 Cache和512kB非鎖定L2 Cache。L2可擴充到1~2MB,具有更合理的內存管理,可以有效地對大於L2緩存的數據塊進行處理,使CPU、Cache和主存存取更趨合理,提高了系統整體性能。在執行大數據流量程序時,高效率的高速緩存管理使PⅢ避免了對L2 Cache的不必要的存取。由於消除了緩沖失敗,多媒體和其它對時間敏感的操作性能更高了。對於可緩存的內容,PⅢ通過預先讀取期望的數據到高速緩存里來提高速度,這一特色提高了高速緩存的命中率,減少了存取時間。

三、其他配件中的高速緩存
Cache從本質上說是一種高速設備和低速設備的速度匹配技術,不僅用在提高CPU對內存的讀寫速度上,而且在電腦的其它配件中也得到了廣泛應用。在較慢速的其它外圍設備和內存的數據交換中,甚至在網路通訊中,都需要使用Cache技術。推而廣之,凡是在傳輸速度有較大差異的設備之間,都可以利用Cache的速度匹配技術。

1、主板高速緩存
由於在Pentium II推出之前,CPU只有內部集成的L1 Cache(一級高速緩存),L2Cache(二級高速緩存)都被放置在主板上。Pentium時代的主板上大都用速度較快,容量較大的同步PB SRAM (Pipeline Burst SRAM 管線突發式靜態內存),一般為256KB或512KB。當時在主板上還存在Tag SRAM的概念。

Tag SRAM,即標記的靜態隨機存取存儲器,它是在高速緩存系統中配合高速緩存的附加SRAM,它也是高速緩存,只是用在高速緩存電路中記錄地址數據,當CPU要讀取主存某一個地址中的數據時,會先到高速緩存電路中去尋找,對高速緩存系統的Tag SRAM所記錄的地址數據進行搜尋和對比,當高速緩存內也存有此地址的數據時,高速緩存匯流排的仲裁控制電路即將數據讀取傳回CPU,若對比Tag SRAM記錄的地址數據而找不到此數據的地址時,CPU就會到主存讀取數據。因此Tag SRAM與高速緩存的命中率有很大關系。由於現在CPU內部都集成了L2 Cache,故PII以後,主板上都不再集成Cache了。

2、CPU高速緩存的應用
關於CPU高速緩存的發展歷史等相關情況,前面已經談及。這里主要介紹一下目前主流CPU使用高速緩存的情況。

象最新的Northwood P4處理器,不僅採用了0.13 微米工藝生產,其體系結構也有所改變,提高了運算效率(指令周期)。 並且將L2 CACHE的容量由老P4的256K 增加為512K。在性能上有10%左右的提升。

Tualatin 賽揚的二級緩存採用了全速256KB(8路), Pentium III同樣大小的二級緩存,這對於提高CPU的性能有很大的幫助。Tualatin核心賽揚的性能非常不錯,在很大程度上就是得益於256KB的全速緩存。這也充分反映出高速緩存對電腦配件性能的影響。

AMD 的Morgan實際上和Palomino核心的毒龍規格相同,只是CPU內部L2 Cache有所不同。最引人注意的一點是改進了Cache演算法。在Morgan中包含了一個硬體化的數據預讀取規則。這個功能就是在CPU對數據進行了處理之後,預讀取設備可以猜測哪些數據是CPU所需要的。如果這些數據並沒有在Cache中,那麼這個預讀取設備就會自動到主內存中去重新獲取這個數據;而如果這個數據已經存在於Cache之中的話,那麼CPU就會更加快速地得到這個數據。

Athlon XP無疑是AMD今年最成功的產品,它採用了類似於Pentium 4的硬體預讀技術--執行跟蹤高速緩存,預先將處理器可能需要的數據從主內存讀到緩存中,這一過程能明顯提高系統匯流排和內存帶寬的利用率,進而提升系統性能。

主要用於伺服器的Merced 對Cache的要求更高了。為此,lntel在晶元內開發新的Cache,並增加L1 Cache的容量,來平衡CPU和DRAM間的速度。為此,在Merced的片上最接近執行單元旁再設另一處Cache,稱為L0緩存,是指令/數據分離型。由於L0Cache在物理位置上比L1離執行單元更近,布線距離的縮短,使它與執行單元間的數據交換速度比L1還快,可以進一步提高工作主頻。 同時,還要在晶元內部配置超過1MB的大容量L1 Cache。晶元內部Cache比外部Cache更易於提升與執行單元間的數據傳送速度。

3、硬碟高速緩存

在PC的磁碟系統中,高速緩存也得到了廣泛應用。為提高內存對硬碟的讀寫速度,就要建立磁碟高速緩存,不過硬碟高速緩存不必使用昂貴的SRAM,使用普通的DRAM即可,因為DRAM內存的存取速度對CPU來說較慢,但對磁碟的存取速度卻是很快的。這是因為磁碟存儲系統包含有磁頭的機械運動,而機械運動無法跟傳送電信號的電子速度相比。以前硬碟內部集成的高速緩存只有512K左右,而現在硬碟普遍將高速緩存的容量提升到2M以上,個別產品甚至達到了8M。由於硬碟Cache無需使用高速的SRAM,除了內部集成的SDRAM,我們還可以在系統主內存中劃出一個區域,作為專用的磁碟緩沖區,採用一定的數據結構,即可實現磁碟存取的二級Cache技術。硬碟高速緩存的工作過程及原理與CPU高速緩存類似,也是把即將訪問的數據整塊地拷貝到高速緩存區中,然後內存再到高速緩存中去逐個讀取數據。由於數據在RAM空間內部傳送要比在RAM與磁碟間傳送快得多,從而系統由此提高了存取速度。

下面給大家介紹一下西數WD1000BB-SE 8MB緩存硬碟,由於內存的讀寫速度大大高於硬碟的讀寫速度,因此大容量的緩存可以有效提高存儲器的數據傳輸速度。但目前市面所售的大部分硬碟都只帶512K--2MB的緩存。西數前段時間推出的7200轉,100G硬碟特別版WD1000BB-SE,其單碟容量為33G,介面類型為ATA100,平均尋道時間8.9毫秒,這方面參數與其他硬碟相比並無特別,不過WD1000BB-SE將硬碟的緩存容量從2MB直接提升到了8MB。引起了業界的普遍關注。經過多方面評測,由於緩存容量的加大,這款IDE介面硬碟的實際性能已經接近或超越了不少10000轉SCSI介面硬碟,成為IDE硬碟中的速度王者。這也充分反映出高速緩存對電腦配件性能的影響。

4、刻錄機的緩存
緩存容量的大小是衡量光碟刻錄機性能的重要技術指標之一,刻錄時數據必須先寫入緩存,刻錄軟體再從緩存區調用要刻錄的數據,在刻錄的同時後續的數據再寫入緩存中,以保持要寫入數據良好的組織和連續傳輸。如果後續數據沒有及時寫入緩沖區,傳輸的中斷則將導致刻錄失敗。因而緩沖的容量越大,刻錄的成功率就越高。市場上的光碟刻錄機的緩存容量一般在1MB~4MB之間,目前最大的有8M緩存的產品。尤其對於IDE介面的刻錄機,緩存容量很重要。增加高速緩存既有利於刻錄機的穩定工作,同時也有利於降低CPU的佔用率。 總之緩存大小對刻錄機是非常的重要的,緩存越大刻錄時就越穩定。目前市場上有多款刻錄機都帶有8M緩存,配合其他防刻死技術,有效防止了出現「緩存欠載」導致刻錄失敗的問題。

在普通光碟機中也內置有高速緩存,當然其作用沒有刻錄機中的重要,主要是為了提高讀盤效率,降低CPU佔用率,因此容量也比較小,一般只有512K。

5、其他設備的高速緩存
在PC其他配件中也都存在高速緩存的應用。比如在顯示系統中,由於3D應用的迅猛發展,現在顯卡上的顯示內存普遍達到了32M以上,甚至多達128M,因此也廣泛使用著高速緩存技術,如前台緩存、後台緩存、深度緩存和紋理緩存等。

現在還有所謂CDRAM(Cache DRAM) 帶高速緩存的內存,就是在內存晶元上集成了特殊構造的SRAM。發展好的話過幾年有可能成為主流內存。除此之外,甚至在音效卡、RAID卡、SCSI卡中也帶有高速緩存,

四、高速緩存的調整及應用

1、BIOS中與高速緩存有關的選項

1)Video ROM的Shadow
「影子」內存(ShadowRAM,或稱ROMShadow)是為了提高系統效率而採用的一種專門Cache技術,它把系統主板上的系統ROMBIOS和適配器卡上的視頻ROMBIOS等拷貝到系統RAM內存中去運行,其地址仍使用它們在上位內存中佔用的原地址。更確切地說,是從擴展內存中拿出一部分物理存儲空間,而賦以ROM的原地址,由這部分擴展RAM代替原ROM。由於ROM採用靜態CMOS電路,其存取速度為200ns左右,而系統存儲器RAM採用動態CMOS電路,其存取速度進幾十ns,速度快好幾倍,將存放在ROM中的BIOS代碼(基本輸入輸出例行程序,它們在系統運行期間非常頻繁的被調用)拷貝到系統RAM中去,就可提高系統運行和顯示的速度和效率。

2)CPU Internal Cache
CPU內部快速緩存是否打開,一般設置為Enable。Enternal Cache:是否使用主板緩存,一般設置為Enable。CPU L2 Cache Ecc Checking:CPU的L2 緩存Ecc 檢測,可設置為Disable。

從字面上看,「CPU Internal Cache」和「External Cache」分別指CPU內部和外部的高速緩存,但更准確的說法應該是一級緩存和二級緩存。Socket/Super 7架構的CPU內部只有一級緩存,二級緩存放在了主板上,「Internal」和「External」的說法就源於此,而對PⅡ、PⅢ和K6-Ⅲ等CPU來說,二級緩存也被集成到CPU內部,內外部的說法就不太確切了,因此一些Slot 1主板對此進行了修改,改稱為「CPU Level 1 Cache」和「CPU Level 2 Cache」。除非打開後系統會出現死機等情況,否則這兩個選項都應設為Enabled,以加快CPU讀取內存的速度。

3)二級緩存的潛伏期

在BIOS中,我們還可以調節二級緩存的潛伏期,其中Level 2 Cache Latency(二級緩存潛伏期)有16個值可選(1~15),從理論上來說,數值越小延遲時間越短,性能也越高。如果把數值設得過小,二級緩存有可能停止工作,不僅系統性能會急速下跌,還會發生死機現象。L2 Cache對內存帶寬有重大影響,即使CPU頻率再高,其它設備跟不上亦是無用,增加緩存潛伏期可以讓機器更穩定,避免上述情況。

4)System BIOS Cacheable

「System BIOS Cacheable」、「Video BIOS Cacheable」和「Video RAM Cacheable」分別指定是否可以使用二級高速緩存來緩存系統BIOS、顯卡BIOS和顯示內存,緩存之後,BIOS調用的執行速度以及訪問顯示內存的速度都會加快,因此最好都設成Enabled。不過,當顯示內存可以被緩存時,少數顯卡可能會出現兼容性問題,此時可考慮將第三項設為Disabled。

2、調整高速緩存優化系統
如果你的應用程序需頻繁訪問硬碟,可在擴充或擴展內存中建立「直接寫盤(write-through)」型磁碟高速緩存。用戶可在autoexec.bat文件中加入命令行:c:\dos\smartdrv.exe,則此驅動程序會自動裝入內存高端,其磁碟緩沖區預設值為256KB,你可以改變這個值的大小。一般設置為物理內存的1/8左右比較合適。SMARTDRV.EXE一個外部設備驅動程序。用此程序可啟動或設置磁碟高速緩沖存儲器。與Cache不同,Cache是充分發揮了CPU的速度,而SMARTDRV是加快了磁碟的讀寫速度。在實際應用中,SMARTDRV.EXT高速緩存驅動程序將記住每次應用程序使用磁碟的磁碟扇區數據,不用再訪問磁碟驅動器,而是訪問內存中已包含這些數據的區域。

總的來說,PC中的Cache主要是為了解決高速設備和低速設備間速度匹配的問題,是提高系統性能,降低系統成本而採用的一項技術。隨著電腦技術的飛速發展, Cache已成為PC中大多數配件不可缺少的組成部分,是衡量系統性能優劣的一項重要指標。從系統的性價比考慮,Cache的配備將在很長一段時間內仍然是PC中重要的技術之一。

熱點內容
scratch編程小游戲跳一跳 發布:2024-10-11 03:50:03 瀏覽:573
python高手 發布:2024-10-11 03:44:58 瀏覽:735
文件拖拽上傳插件 發布:2024-10-11 03:34:35 瀏覽:321
安卓郵件賬戶信息在哪裡 發布:2024-10-11 03:33:52 瀏覽:691
精準扶貧資料庫 發布:2024-10-11 03:14:13 瀏覽:467
我的世界伺服器被ban改ip有用嗎 發布:2024-10-11 02:32:04 瀏覽:782
rc4加密及解密 發布:2024-10-11 02:31:30 瀏覽:4
安卓手機有什麼免費音樂軟體 發布:2024-10-11 02:17:07 瀏覽:992
阿里雲伺服器須知 發布:2024-10-11 02:12:55 瀏覽:418
androidaaptexe 發布:2024-10-11 01:49:48 瀏覽:349