三級緩存

為讀取二級緩存后未命中的數據設計的緩存

三級緩存是為讀取二級緩存后未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。其運作原理在於使用較快速的儲存裝置保留一份從慢速儲存裝置中所讀取數據且進行拷貝,當有需要再從較慢的儲存體中讀寫數據時,緩存(cache)能夠使得讀寫的動作先在快速的裝置上完成,如此會使系統的響應較為快速。

緩存介紹


電腦緩存是當cpu在讀取數據的時候,先是從緩存文件中查找,然後找到之後會自動讀取,再輸入到cpu進行處理,當然如果沒有在緩存中找到對應的緩存文件的話,那麼就會從內存中讀取並且傳輸給cpu來處理。當然這樣的話需要一定的時間所以會很慢。等cpu處理之後,就很快把這個數據所在的數據塊保存在緩存文件中,這樣的話在以後讀取這項數據的時候就直接在緩存中進行,不要重複在內存中調用並讀取數據了。
緩存大小也是CPU的重要指標之一,而且緩存的結構和大小對CPU速度的影響非常大,CPU內緩存的運行頻率極高,一般是和處理器同頻運作,工作效率遠遠大於系統內存和硬碟。實際工作時,CPU往往需要重複讀取同樣的數據塊,而緩存容量的增大,可以大幅度提升CPU內部讀取數據的命中率,而不用再到內存或者硬碟上尋找,以此提高系統性能。但是出於CPU晶元面積和成本的因素來考慮,緩存都很小。

緩存分類


一級緩存都內置在CPU內部並與CPU同速運行,可以有效的提高CPU的運行效率。一級緩存越大,CPU的運行效率越高,但受到CPU內部結構的限制,一級緩存的容量都很小。
二級緩存,它是為了協調一級緩存和內存之間的速度。cpu調用緩存首先是一級緩存,當處理器的速度逐漸提升,會導致一級緩存就供不應求,這樣就得提升到二級緩存了。二級緩存它比一級緩存的速度相對來說會慢,但是它比一級緩存的空間容量要大。主要就是做一級緩存和內存之間數據臨時交換的地方用。
三級緩存是為讀取二級緩存后未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。其運作原理在於使用較快速的儲存裝置保留一份從慢速儲存裝置中所讀取數據並進行拷貝,當有需要再從較慢的儲存體中讀寫數據時,緩存(cache)能夠使得讀寫的動作先在快速的裝置上完成,如此會使系統的響應較為快速。

三級分類


Cache(三級緩存),分為兩種,早期的是外置,以後的升級產品都是內置的。而它的實際作用即是,L3緩存的應用可以進一步降低內存延遲,同時提升大數據量計算時處理器的性能。降低內存延遲和提升大數據量計算能力對遊戲軟體都很有幫助。而在伺服器領域增加L3緩存在性能方面仍然有顯著的提升。如具有較大L3緩存的配置利用物理內存會更有效,故它比較慢的磁碟I/O子系統可以處理更多的數據請求。具有較大L3緩存的處理器提供更有效的文件系統緩存行為及較短消息和處理器隊列長度。
其實最早的L3緩存被應用在AMD發布的K6-III處理器上,當時的L3緩存受限於製造工藝,並沒有被集成進晶元內部,而是集成在主板上。在只能夠和系統匯流排頻率同步的L3緩存同主內存其實差不了多少。後來使用L3緩存的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以後24MB L3緩存的雙核心Itanium2處理器。
三級緩存
三級緩存
但基本上L3緩存對處理器的性能提高顯得不是很重要,如配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比緩存增加帶來更有效的性能提升。

對性能的影響


而三級緩存對性能影響時高時低。在遊戲方面,提升三級緩存的容量對遊戲的性能影響很大,雖然對一般家用機沒有什麼用,但是如果是網吧機或者是發燒機提升三級緩存的容量還是會有顯著的性能提升的。雖然三級緩存也能為PC帶來顯著的性能提升,但畢竟三級緩存是作用於伺服器的,對PC來說,三級緩存還是只能做個輔助作用,在其他參數相同的情況下,三級緩存容量越大,則性能更好,如果其他參數不相同的話,這時三級緩存的作用就不明顯了。
不管三級緩存的作用大不大,它畢竟也是為電腦發展作出貢獻的參數之一。

發展歷程


最早的L3緩存被應用在AMD發布的K6-III處理器上,當時的L3緩存受限於製造工藝,並沒有被集成進晶元內部,而是集成在主板上。在只能夠和系統匯流排頻率同步的L3緩存同主內存其實差不了多少。後來使用L3緩存的是英特爾為伺服器市場所推出的Itanium處理器。接著就是P4EE和至強MP。Intel還打算推出一款9MBL3緩存的Itanium2處理器,和以後24MBL3緩存的雙核心Itanium2處理器。
但基本上L3緩存對處理器的性能提高顯得不是很重要,比方配備1MBL3緩存的XeonMP處理器卻仍然不是Opteron的對手,由此可見前端匯流排的增加,要比單純增加緩存帶來更有效的性能提升。
縱觀AMDPhenom處理器的發展,核心架構的改進相對有限,而三級緩存的變化是最直觀的。從早期Phenom的2MB三級緩存,猛增至Phenom II的6MB三級緩存,而為了市場的需要,又推出了採用Phenom II架構但沒有三級緩存的Athlon X4。而AMD處理器獨有的雙核、三核、四核架構,加上緩存的不同搭配,一時間,AMD處理器呈現出門丁興旺的景象。
對於AMD的用戶來說,多是追求性價比的用戶,而AMD處理器這樣的現象,對用戶既是好事也是壞事,好是用戶的選擇更多了,壞的是用戶對CPU的選擇無所適從。而細細觀察,AMD處理器百龍爭寵的現象,無外乎是核心與緩存搭配的結果。
與65nm Phenom相比,新一代45nmPhenom II最大的變化就是升級到了45nm SOI沉浸式光刻生產工藝,好處就是主頻更高、功耗更低、集成度更高,特別是三級緩存從2MB猛增到了6MB!
三級緩存翻了三倍,自然需要付出一定的代價,通過Phenom和Phenom II晶元示意圖的對比,就能略知一二了:
Brcelona/Agena集成了4.68億個晶體管,核心(Die)面積大約285平方毫米,Shanghai/Deneb的晶體管增加了62%,多達7.58億個,但核心面積卻減小了9.5%,只有258平方毫米,新工藝的好處可見一斑。
晶體管數量增加如此之多主要就是因為三級緩存的大幅擴容,這部分在整個核心裡的面積比例也從大約六分之一提高到了足有三分之一。

其它


AMD關於三級緩存的態度
第一,三級緩存容量在伺服器領域的作用更明顯,不過如果伺服器和桌面處理器採用不同的架構,必然會提高生產難度和成本,故而帶到了桌面上;
第二,在桌面上,三級緩存從2MB增加到6MB可以帶來大約5%的性能提升,實際測試也證明了這一點;
第三,從前邊的數據看出,三級緩存增加了兩倍,但得益於生產工藝的改進,核心面積反而更小了,成本也更低。
熟悉IntelNehalemCore i7(酷睿i7)處理器的人一定想到了,Intel也使用了同樣的大容量共享三級緩存設計,且容量多達8MB,也佔據了整個核心面積的三分之一左右,不同之處在於Core i7每核心一級緩存和二級緩存只有64KB和256KB,都比Phenom/Phenom II少一半。
有趣的是,同樣基於45nm工藝的Core i7集成了7.31億個晶體管,比Phenom II略少,但核心面積卻稍大一些,為263平方毫米。
從成本的角度來算一筆帳,通過Phenom II X4的晶元結構示意圖可以看出,三級緩存所佔晶元面積比兩顆核心以及L1L2加起來還要多,如此一來即便是屏蔽了一顆核心的Phenom II X3,其成本也並不低,這對於主打性價比路線的AMD來說,利潤損失會比較大。
於是,AMD在發布Phenom II X4、X3處理器之後,也在積極準備定位主流中低端的產品,用以取代征戰多年的Athlon 64 X2系列。由於L3成本較高,因此AMD把Phenom II X4的三級緩存徹底刪去(注意不是屏蔽),Athlon X4便與大家見面了。
如此一來,人們就可以通過對比評測,輕鬆了解到AMD的Phenom II架構處理器中,6M L3對性能的貢獻有多大,也能提前了解擁有完整L3但卻少一顆核心的Phenom II X3強呢,還是沒有L3的但卻有四顆核心的Athlon X4強?相信很多朋友都會挺感興趣的。
AMD已上市的Phenom II 920(6M L3)和Phenom 9850(2M L3),還有一顆神秘的沒有L3的Athlon X4工程樣品,讓他們都工作在200*14=2.8GHz頻率下,這樣就能直觀的對比6M/2M/0M三級緩存所造成的性能差異。
另外還加入了剛剛發布的Phenom II X3 720處理器,它擁有完整的6M三級緩存,但少一顆核心,這樣可以反映出多一顆核心的貢獻大還是6M L3的貢獻更大?測試結果表明,從CPU架構上看,緩存對性能的影響很大,但Athlon X4的表現,尤其是在大量運算過程中,力壓上代擁有完整3級緩存的9850,內存帶寬的優勢不言而喻。
Intel6(16MB三級緩存)核處理器
首先推向市場的是高端桌面PC處理器品牌酷睿i7和針對高能效伺服器市場的Nehalem-EP,預計2009年第四季度即可上市。隨後,新架構產品會陸續推出,包括針對可擴展伺服器市場的Nehalem-EX,桌面市場的Havendale和Lynnfield,移動市場的Auburndale和Clarksfield,預計都在2009年下半年登場。
下一代Core微架構(Nehalem)處理器均從4核起跳,但同時採用了Hyper-Threading技術,可同時處理8個線程。Core i7支持Turbo Mode和Power Gates技術,在不需要多線程運算時,可令閑置核心完全關閉。各個核心可以工作在不同的電壓/頻率下,單獨提高某一核心頻率的Turbo Mode模式可顯著提升單線程應用性能。
Intel還同時發布了首款6核心處理器,針對多路伺服器市場的“Dunnington”Xeon X7460,內建16MB L3緩存,在2008年9月上市,是Intel在轉向Nehalem微架構之前的最後一顆45nm酷睿2微架構處理器。採用該處理器的伺服器機型已經打破了多項世界紀錄,包括8路48核的IBM System x3950 M2伺服器在TPC Benchmark C資料庫測試中首次突破100萬tpmC,4路系統惠普Proliant DL580 G5打破TPC-C紀錄,戴爾PowerEdge R900打破TPC-E紀錄,Sun Fire X4450打破SPECjbb 2005紀錄,富士通西門子PRIMERGY RX600 S4打破SPECint_rate2006紀錄。[1]
無三級緩存AMD 45nm處理器
在工藝進步、技術完善後,AMD的45nm新桌面處理器將擁有齊全的五個子系列,其中擁有三級緩存的屬於Phenom II品牌,精簡掉三級緩存的則仍沿用Athlon(不知道為何不是Athlon II)。至於Sempron,很快就會淘汰了。
最高端的“Phenom II X4 900/800”系列四核心代號Deneb,二級緩存4×512KB,三級緩存前者6MB、後者精簡到4MB。這兩個系列都將於明年1月份率先發布,其中首批兩款AM2+介面的Phenom II X4 940/920會在1月8日的CES 2009大展上首發,之後的全部改用AM3介面。
三核心繫列“Phenom II X3 700”代號Heka,二級緩存3×512KB,三級緩存為完整的6MB,將在明年2月份跟進。
除了這兩個系列,AMD還準備了沒有三級緩存的版本,而且在設計之初就沒有加入三級緩存,而不是簡單的屏蔽版本,不會造成浪費。
其中四核心將是“Athlon X4 600”系列,代號Propus,二級緩存4×512KB,三核心是“Athlon X3 400”系列,代號Rana,二級緩存3×512KB,二者都會在明年4月份登場。
最後是代號Regor的“Athlon X2 200”系列雙核心,二級緩存2×1MB,比其它系列多出一倍,不過發布時間也最晚,要到明年6月才會推出,目的是避免和現有的舊架構型號產生衝突。
晶元組方面,現在的AMD 7系列主板在更新BIOS就能支持新處理器,具體視主板廠商的技術支持而定。另外AMD將在2009年上半年推出新的8系列整合晶元組,其中RS880和RS880C搭配SB750南橋,RS880D和RS890搭配下一代SB800。[2]
一級、二級和三級緩存誰更重要
一級最重要,但是現在CPU的一級緩存幾乎都一樣,所以忽略。
二級緩存的話對於Intel的CPU是很重要的,Intel的CPU的二級緩存越大性能提升非常明顯,而AMD的CPU雖然二級緩存也很重要,但是二級緩存大小對AMD的CPU的性能提升不是很明顯。
三級緩存其實只是做了個輔助的作用,除了伺服器,其實對大多數家庭機沒什麼用的,內存還是很重要的,但如果運行大型程序或遊戲來說三級緩存就顯得重要了,目前新型CPU已經有三級緩存了。
所以說現在衡量CPU性能除了頻率外,還有一個核心數量,再到緩存的大小,從理論上講,二級緩存越大處理器的性能越好,但這並不是說二級緩存容量加倍就能夠處理器帶來成倍的性能增長。2006年,CPU處理的絕大部分數據的大小都在0-256KB之間,小部分數據的大小在256KB-512KB之間,只有極少數數據的大小超過512KB。到2009年已經有1M,2M的了。所以只要處理器可用的一級、二級緩存容量達到256KB以上,那就能夠應付正常的應用;512KB容量的二級緩存已經足夠滿足絕大多數應用的需求。
主頻、二級緩存和三級緩存哪個更重要
緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。
正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存后內存。
cpu的二級緩存和三級緩存的大小,並不是衡量cpu的性能的唯一標準,還得看cpu的主頻,製做流程,比如說45納米的就比65納米的好,還要稍微注意一下它支持的指令集,還得看是誰的產品,二級緩存對於intel的產品來說很重要但二級緩存對於AMD來說就不像intel那麼重要,因為AMD除了有二級緩存之外還有三級緩存。
要說主頻、二級緩存和三級緩存哪個更重要,這個問題完全還要看你使用電腦追求什麼了,主要執行什麼任務。主頻高運算速度快,二級緩存(L2)和三級緩存(L3)起到內存和CPU之間的緩衝作用,緩解內存和CPU速度不匹配問題會影響到CPU執行的效率。所以大的L2、L3在CPU長時間大量數據處理的時候效率會比較高。高主頻在短時間內少量數據的處理上會比較快,其實3項這都很重要,哪一項達不到一定標準都會出現瓶頸效應
IntelXeon 7100系列CPU(16MB三級緩存)
Intel正式發布了針對高端伺服器的最新雙核Xeon處理器,代號Tulsa的Xeon 7100系列。該處理器依然基於上一代NetBurst架構,但在性能和功耗表現方面都有不小的改進。
Xeon 7100系列CPU配置
Xeon 7100系列CPU核心代號為Tulsa,雙核心設計,每個核心配備了1MB L2(二級)緩存,16MB L3(三級)緩存。該處理器還支持超線程(HT : Hyper-Threading)、虛擬化(Intel Virtualization Technology)以及Intel緩存安全技術(Cache Safe Technology),3.0GHz主頻以上的Xeon 7100系列處理器TDP功耗為150W,3.0GHz以下的TDP為95W。
Xeon 7100系列CPU規格
CPU編號主頻FSBL2緩存L3緩存 千顆價格
7140M 3.40GHz 800MHz 2×1MB 16MB 1980
7140N 3.33GHz 667MHz 2×1MB 16MB 1980
7130M 3.20GHz 800MHz 2×1MB 8MB 1391
7130N 3.16GHz 667MHz 2×1MB 8MB 1391
7120M 3.00GHz 800MHz 2×1MB 4MB 1177
7120N 3.00GHz 667MHz 2×1MB 4MB 1177
7110M 2.60GHz 800MHz 2×1MB 4MB 856
7110N 2.60GHz 667MHz 2×1MB 4MB 856
Xeon 7100系列處理器支持667和800MHz PSB匯流排,與8501晶元組兼容,現有的伺服器平台可以很輕鬆的升級到新處理器。此外Intel公司表示,65nm工藝發展的十分順利,目前65nm產品的出貨比例已經超越90nm。

二級緩存發展


縱觀英特爾處理器的發展,且不論核心架構如何改變,以級數增長的二級緩存是最直觀的。奔騰4時代0.18微米工藝的Willamette擁有256K二級緩存,0.13微米的Northwood核心擁有512K,後期0.09微米的Prescott一度增大到1M。到了酷睿時代,在架構發生了翻天覆地的變化的同時,65納米工藝讓二級緩存再次翻倍,即便是剛推出時低端酷睿的代表Allendale核心,二級緩存也達到了2M,高端酷睿更是擁有4M的二級緩存。進入45nm工藝后,二級緩存的容量進一步加大,高端E8X00系列二級緩存達到了驚人的6M,低端E7X00也達到了3M之多,至此Intel從512K到6M甚至12M實現了二級緩存的“無縫銜接”。
市場中沒有永遠的落後者,當AMD進入45nm時代,Phenom II的到來,AMD也能通過核心數量和緩存的搭配,設計出定位不同市場的CPU。

二級緩存價格


首先來算一筆小賬(2009年02月),關於Intel處理器的二級緩存:
二級緩存512K的賽揚雙核E1200隻要270元,二級緩存1M的奔騰雙核E2140售價為370元,需要花費100元來購買這額外的512K緩存;二級緩存2M的酷睿2 E4300或者奔騰雙核E5200的售價在550元以上,這就意味著得再出200元來購買這額外的1M二級緩存;二級緩存3M的酷睿2E7200售價750元,又得掏出200元來購買這額外的1M二級緩存;二級緩存4M/6M的酷睿2系列處理器依次類推……
不管酷睿2、奔騰雙核還是賽揚雙核,它們的核心架構其實是完全相同的,頻率可以隨意更改,唯一不同的就是二級緩存。可以毫不誇張地說,Intel就是在賣二級緩存,200塊錢1M。
事實上歷年來Intel都是通過二級緩存的大小來劃分產品線,初期只有奔騰和賽揚兩種規格,到了酷睿2時代Intel達到了登峰造極的境界:僅僅是雙核產品就擁有512K、1M、2M、3M、4M、6M多達六個版本,四核產品也有4M、6M、8M、12M四個版本,令人眼花繚亂!Intel細分產品線的策略在每個價位都提供了優秀的產品,但也給廣大用戶製造了前所未有的困惑:到底多大二級緩存才夠用?