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

高速緩存指令

發布時間: 2023-02-26 19:28:29

① 計算機中高速緩存的作用

計算機硬碟的高速緩存:
1.高速緩存的概念。緩存(Cache memory)是硬碟控制器上的一塊內存晶元,具有極快的存取速度,它是硬碟內部存儲和外界介面之間的緩沖器。由於硬碟的內部數據傳輸速度和外界介面傳輸速度不同,緩存在其中起到一個緩沖的作用。緩存的大小與速度是直接關繫到硬碟的傳輸速度的重要因素,能夠大幅度地提高硬碟整體性能。當硬碟存取零碎數據時需要不斷地在硬碟與內存之間交換數據,如果有大緩存,則可以將那些零碎數據暫存在緩存中,減小外系統的負荷,也提高了數據的傳輸速度。
2.高速緩存的作用。硬碟的緩存主要起三種作用:一是預讀取。當硬碟受到CPU指令控制開始讀取數據時,硬碟上的控制晶元會控制磁頭把正在讀取的簇的下一個或者幾個簇中的數據讀到緩存中(由於硬碟上數據存儲時是比較連續的,所以讀取命中率較高),當需要讀取下一個或者幾個簇中的數據的時候,硬碟則不需要再次讀取數據,直接把緩存中的數據傳輸到內存中就可以了,由於緩存的速度遠遠高於磁頭讀寫的速度,所以能夠達到明顯改善性能的目的;二是對寫入動作進行緩存。當硬碟接到寫入數據的指令之後,並不會馬上將數據寫入到碟片上,而是先暫時存儲在緩存里,然後發送一個「數據已寫入」的信號給系統,這時系統就會認為數據已經寫入,並繼續執行下面的工作,而硬碟則在空閑(不進行讀取或寫入的時候)時再將緩存中的數據寫入到碟片上。雖然對於寫入數據的性能有一定提升,但也不可避免地帶來了安全隱患——如果數據還在緩存里的時候突然掉電,那麼這些數據就會丟失。對於這個問題,硬碟廠商們自然也有解決辦法:掉電時,磁頭會藉助慣性將緩存中的數據寫入零磁軌以外的暫存區域,等到下次啟動時再將這些數據寫入目的地;第三個作用就是臨時存儲最近訪問過的數據。有時候,某些數據是會經常需要訪問的,硬碟內部的緩存會將讀取比較頻繁的一些數據存儲在緩存中,再次讀取時就可以直接從緩存中直接傳輸。
緩存容量的大小不同品牌、不同型號的產品各不相同,早期的硬碟緩存基本都很小,只有幾百KB,已無法滿足用戶的需求。2MB和8MB緩存是現今主流硬碟所採用,而在伺服器或特殊應用領域中還有緩存容量更大的產品,甚至達到了16MB、64MB等。
大容量的緩存雖然可以在硬碟進行讀寫工作狀態下,讓更多的數據存儲在緩存中,以提高硬碟的訪問速度,但並不意味著緩存越大就越出眾。緩存的應用存在一個演算法的問題,即便緩存容量很大,而沒有一個高效率的演算法,那將導致應用中緩存數據的命中率偏低,無法有效發揮出大容量緩存的優勢。演算法是和緩存容量相輔相成,大容量的緩存需要更為有效率的演算法,否則性能會大大折扣,從技術角度上說,高容量緩存的演算法是直接影響到硬碟性能發揮的重要因素。更大容量緩存是未來硬碟發展的必然趨勢。
高速緩存產生作用的時機:
3.作用體現及應用。 現在擁有大量數據,但最經常使用的往往只有其中一小部分。如國標漢字有6763個,但經常使用的只有3000個,其中幾百個又佔了50%以上的使用頻率。因此人們想到,如果將這幾百個放到存取最快的地方,就可以用很小的代價大大提高工作速度。高速緩存的工作原理基本就是這樣。例如我們知道內存的存取速度比硬碟快得多,我們可以在一開機時就將宋體字的前3000個、黑體字最常用的500個裝入內存專門開辟的區域,這樣當使用這部分字的時候就可以從內存取字,其餘的才會去讀硬碟。內存開辟的這部分區域就叫做高速緩存,它可能只佔所有字體存儲量的十分之一,但可以將讀寫字型檔的速度提高幾十倍。
具體看一下高速緩存起的使用。假設我們有100M數據,其中1M數據的使用頻率佔到了50%,又知內存存取時間只有硬碟時間的10萬分之一,因此如果我們用1M內存做高速緩存存儲最常用的1M數據就可以差不多將平均存取速度提高一倍。從這個例子可以看出,當數據使用越不平均,兩種存儲器之間的速度差越大時CACHE的作用就越大。
以上是一類使用分布固定的例子,在這種情況下,只要固定將這一部分數據裝入最快的存儲器就可以了。但在許多情況下,數據的使用頻率是不確定的,特別它是與時間相關的。如當我們在寫一篇文章時,對這篇文章的內容存取就特別頻繁。而過一會兒又去修一張照片,存取操作就轉移到了這張照片的數據上去,文章的數據就基本不用了。要讓一個系統能夠自動地根據當前數據的使用頻率改變高速存儲器中的內容才能使我們專門開出的高速緩存起作用。因此整個高速緩存系統應該包含調度數據的軟體。
CACHE系統怎樣調度數據
4.拓展知識-深入了解。 怡泓軟體早在1983年就在軟體內部使用了硬碟的CACHE系統,在早期內存很小的情況下有效地提高了硬碟上大量數據的存取速度。而PC DOS操作系統直到1990年的DR DOS 5.0和MS DOS 4.0中才內含了CACHE程序。從WINDOWS 3.0開始操作系統中都內建了硬碟CACHE系統,CACHE的概念也逐漸延伸到硬碟內部和CPU內部。
CACHE對數據的調度不一定只在兩種存儲器之間進行,如現在的CPU就有片上的一級、二級和內存共3種存儲器。為了便與理解,我們都以兩種存儲器為例。
為使CACHE系統能夠起到提高速度的作用,這兩種存儲器的速度必需有比較大的差異。如果用通用CPU來完成數據調度,兩種存儲器的速度差至少應該達到100倍以上。因為調度程序在每完成一次數據訪問時至少要消耗20-30個指令周期,如果速度只差10倍,用CACHE比不用還要慢。
數據的調度並不像我們想像地那樣簡單。第一高速存儲器中的每一個數據必需帶有地址信息,因為它從第二級存儲器中提出來後已經不是按順序排列。為了避免地址信息過多而造成的空間浪費和查詢時間的浪費,必需將數據分成塊。塊的大小也很有講究。太小了起不到壓縮時間和空間的作用,太大了讀一個數據會造成數百個可能用不著的數據湧入高速存儲器,反而起不到壓縮空間的作用。
高速存儲器中數據的地址信息查詢是數據調度時運算的大頭。當高速存儲器很大時,它的地址表也會很長。從計算機指令發出的是對第二級存儲器的存取指令,為了要看它是否在高速存儲器中,必需去查詢這個地址表。如果地址信息是順序排列的,平均查詢時間將是表長的一半。如果表長到了1000項,平均查一個數據地址就要500次比較。即使兩級存儲器的速度差達1000倍,這種方法也占不了任何便宜。一種方法是優先順序排序法,即每經過一段時間的使用就根據每塊數據的使用頻率修改表的排列,讓頻率最高的數據塊的地址排到最前面去,這樣可以有效地縮短查表次數。這是我們過去使用的方法。Intel發明了一種搶隊頭的方法。即每一個數據一旦被使用,就將它放到地址表的第一位去。它的優點是重整地址表的演算法最簡單,缺點是地址表的排列通常不是最優化的。還有一種方法是通過散列表來用空間換時間,這種演算法稍微復雜一點,但它通常可以在2次查詢就找到所需的地址,不過計算散列地址也要消耗不少時間。
我們從以上演算法的簡單介紹就可以看出,CACHE技術不是在什麼地方都可以使用的靈丹妙葯,它受調度計算的很大制約。在CPU內部,兩級存儲器的速度差往往到不了100倍以上,如何能實現有效的CACHE調度?它其中必須有專用的調度演算法部件,以保證在1/3的速度差之內完成調度運算,否則最多隻能實現一級緩存。
CACHE作用的局限性
從上面對CACHE調度演算法的簡單介紹我們已經看到,在沒有專用演算法部件的情況下,只有當兩級存儲器速度差很大的時候CACHE才起作用。內存和硬碟的速度差通常為105數量級,因此用內存做硬碟的高速緩存通常是很有效的。
另一方面,高頻使用的數據必須遠小於高速緩存的大小才行,如果大於高速緩存的大小就會造成剛進入緩存的數據馬上就被後來的數據擠出去,非但沒有加快速度,反而增加了一道間接傳遞的時間。當我們用PHOTOSHOP處理的圖像數據大於內存的1/3時就會出現這種情況。好在內存的速度遠大於硬碟的存取速度,這點變化我們通常感覺不出來。但在CPU中,就會非常明顯。CPU在處理圖像數據時,每次處理的數據量都遠遠超過它內部的一級和二級緩存,因此它的作用將大大降低,唯一的補償是處理程序的指令在一個操作——如銳化——中是固定的,它可以常駐高速緩存,減少讀指令的時間。這時不同CPU緩存的大小對運算速度的影響就很小了。因為即使再小的緩存,也存得下操作指令;再大的緩存也存不下被操作的圖像數據。
在CACHE調度中,為了保證數據的安全而做的回寫操作也是阻礙效率的因素。在對數據進行寫操作時,可以不將它寫回二級存儲器,如硬碟,一直到文件關閉甚至操作系統退出時再回寫,這樣的效率當然最高,但是非常不安全的。一旦一個程序崩潰,其它所有程序的數據就可能都損失了。所以現在的CACHE調度方案通常都內定必須立即回寫。我們馬上會想到,優化效率的一半沒有了。實際情況並非如此。因為回寫操作其實並不是立即發生的,它可以由一個優先順序較低的線程去完成,當你在考慮怎麼進一步調色時,操作系統插空將數據寫回硬碟。
即使內存非常大,PHOTOSHOP也將它的每一步操作寫回硬碟,這可以從PHOTOSHOP每次崩潰後都留下一個巨大的臨時文件看出。因此如果我們連續對圖像做旋轉、變形等操作,即使用了極大的內存,CACHE作用也只發生了一半。因此要全面提高PHOTOSHOP的效率,必須用RAID等技術提高硬碟的直接讀寫速度。同理,硬碟上的2M或4M緩存對於動輒幾十M的圖像數據是毫無作用的。

② 指令緩存的CPU的L1指令緩存和L1高速緩存的關系

L1高速緩存,也就是我們經常說的一級高速緩存。在CPU裡面內置了高速緩存可以提高CPU的運行效率。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。採用回寫(Write Back)結構的高速緩存。它對讀和寫*作均有可提供緩存。而採用寫通(Write-through)結構的高速緩存,僅對讀*作有效。在486以上的計算機中基本採用了回寫式高速緩存。在流行的處理器中,奔騰Ⅲ和Celeron處理器擁有32KB的L1高速緩存,奔騰4為8KB,而AMD的Duron和Athlon處理器的L1高速緩存高達128KB。
L2高速緩存,指CPU第二層的高速緩存,第一個採用L2高速緩存的是奔騰 Pro處理器,它的L2高速緩存和CPU運行在相同頻率下的,但成本昂貴,市場生命很短,所以其後奔騰 II的L2高速緩存運行在相當於CPU頻率一半下的。接下來的Celeron處理器又使用了和CPU同速運行的L2高速緩存,現在流行的CPU,無論是AthlonXP和奔騰4,其L2高速緩存都是和CPU同速運行的。除了速度以外,L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是512KB,而伺服器和工作站上用CPU的L2高速緩存更高達1MB-3MB。
cpuL1緩存首先是CPU的內部結構決定,CPU是由硅晶原片切割而成的,一塊晶原片切割的CPU塊有限,所以一個CPU的結構要非常合理地搭配L1,L2緩存大小,P4640比P4630高頻,所以內部結構有所不同。而L1緩存的作用是數據交換的「超高速」通道,所以其大小不是重點,內部參數才是關鍵,只要參數(CL值,延遲等)夠快,完全可以彌補大小的差距,像P-M 1。7G的CPU由於L1緩存的參數夠高,雖然容量有不足,但在性能測試上L1緩存的速度比P4 630快的多。所以不必刻意要求L1緩存大小。(另外,CPU的緩存速度比一般內存快的多,大概快幾十倍)
高速緩存英文是cache。一種特殊的存儲器子系統,其中復制了頻繁使用的數據,以利於CPU快速訪問。存儲器的高速緩沖存儲器存儲了頻繁訪問的 RAM 位置的內容及這些數據項的存儲地址。當處理器引用存儲器中的某地址時,高速緩沖存儲器便檢查是否存有該地址。如果存有該地址,則將數據返回處理器;如果沒有保存該地址,則進行常規的存儲器訪問。因為高速緩沖存儲器總是比主RAM存儲器速度快,所以當 RAM 的訪問速度低於微處理器的速度時,常使用高速緩沖存儲器。

③ 什麼是高速緩存,作用是什麼

什麼是高速緩存技術:
高速緩存英文是cache。一種特殊的存儲器子系統,其中復制了頻繁使用的數據,以利於CPU快速訪問。存儲器的高速緩沖存儲器存儲了頻繁訪問的 RAM 位置的內容及這些數據項的存儲地址。當處理器引用存儲器中的某地址時,高速緩沖存儲器便檢查是否存有該地址。如果存有該地址,則將數據返回處理器;如果沒有保存該地址,則進行常規的存儲器訪問。因為高速緩沖存儲器總是比主RAM 存儲器速度快,所以當 RAM 的訪問速度低於微處理器的速度時,常使用高速緩沖存儲器。

高速緩存的作用:
在CPU開始執行任何指令之前,都會首先從內存中取得該條指令以及其它一些相關數據和信息。為了加快CPU的運行速度,幾乎所有的晶元都採用兩種不同類型的內部存儲器,即高速緩存。緩存被用來臨時存放一些經常被使用的程序片段或數據。
一級高速緩存是性能最好緩存類型,與解釋指令和執行算術運算的處理單元一到構成CPU的核心。CPU可以在全速運行的狀態下讀取存放在一級高速緩存中的指令或數據。Intel的處理器產品一般都會具有32K的一級緩存,而象AMD或Via這種競爭對手的產品則會使用更多的一級緩存。
如果在一級緩存中沒有找到所需要的指令或數據,處理器會查看容量更大的二級緩存。二級緩存既可以被集成到CPU晶元內部,也可以作為外部緩存。Pentium II處理器具有512K的二級緩存,工作速度相當於CPU速度的一半。Celeron以及更新的Pentium III晶元則分別具有128K和256K的在片二級緩存,能夠在處理器全速下運行。
對於存放在速度較慢的二級緩存中的指令或數據,處理器往往需要等待2到4個時鍾周期。為了充分利用計算資源,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中重要的技術之一。

⑤ cpuL1數據緩存,cpuL1指令緩存和L1高速緩存的關系詳解

內置的l1高速緩存的容量和結構對cpu的性能影響較大,不過高速緩沖存儲器均由靜態ram組成cache(一級緩存)是cpu第一層高速緩存。l2cache(二級緩存)是cpu的第二層高速緩存,分內部和外部兩種晶元,結構較復雜。l2高速緩存容量也會影響cpu的性能,原則是越大越好,現在家庭用cpul2高速緩存最大的是512kb,而伺服器和工作站上用cpu的l2高速緩存更高達1mb-3mb,在cpu管芯面積不能太大的情況下,l1級高速緩存的容量不可能做得太大。一般l1緩存的容量通常在32—256kb。內部的晶元二級緩存運行速度與主頻相同,而外部的二級緩存則只有主頻的一半