C6000 :一/二級緩存作者:
Free 文章來源:本站原創(chuàng) 點擊數(shù):306 更新時間:2007-10-7
大家都知道,6000有一級和2級緩存,我們平時臺式機的cpu也都使用一/二級緩存,偶發(fā)現(xiàn)一些這方面的東西,轉(zhuǎn)過來大家一起交流一下,
希望對大家理解6000里的一/2級緩存有所幫助?。?!
高速緩存分為一級緩存(即L1Cache)和二級緩存(即L2Cache)。CPU在運行時首先從一級緩存讀取數(shù)據(jù),然后從二級緩存讀取數(shù)據(jù),然后從內(nèi)存和虛擬內(nèi)存讀取數(shù)據(jù),因此高速緩存的容量和速度直接影響到CPU的工作性能。一級緩存都內(nèi)置在CPU內(nèi)部并與CPU同速運行,可以有效的提高CPU的運行效率。一級緩存越大,CPU的運行效率越高,但受到CPU內(nèi)部結(jié)構(gòu)的限制,一級緩存的容量都很小。二級緩存對CPU運行效率的影響也很大,現(xiàn)在的二級緩存一般都集成在中,但有分為芯片內(nèi)部和外部兩種,集成在芯片內(nèi)部的二級緩存與CPU同頻率二級緩存(即全速二級緩存),而集成在芯片外部的二級緩存的運行頻率 是CPU的運行頻率的一半(即半速二級緩存),因此運行效率較低。但是一級緩存和二級緩存的大,它究竟有多少好處呢?你得告訴我們經(jīng)銷商,實際上你得用最普通的話跟他講。所以我們給他們打個比方,說這個就好比你開汽車的時候,后備箱是整個的一級緩存,假如說扶手里面有一個小箱子,那是你的二級緩存。二級緩存大好在哪里呢?就是你隨時開車的時候,隨時在里面都可以取東西了。假如你二級緩存小的話,你還得把車停下來,到后備箱里取東西。
首先我們來簡單了解一下一級緩存。目前所有主流處理器大都具有一級緩存和二級緩存,少數(shù)高端處理器還集成了三級緩存。其中,一級緩存可分為一級指令緩存和一級數(shù)據(jù)緩存。一級指令緩存用于暫時存儲并向CPU遞送各類運算指令;一級數(shù)據(jù)緩存用于暫時存儲并向CPU遞送運算所需數(shù)據(jù),這就是一級緩存的作用(如果大家對上述文字理解困難的話,可參照下圖所示)。
那么,二級緩存的作用又是什么呢?簡單地說,二級緩存就是一級緩存的緩沖器:一級緩存制造成本很高因此它的容量有限,二級緩存的作用就是存儲那些CPU處理時需要用到、一級緩存又無法存儲的數(shù)據(jù)。同樣道理,三級緩存和內(nèi)存可以看作是二級緩存的緩沖器,它們的容量遞增,但單位制造成本卻遞減。需要注意的是,無論是二級緩存、三級緩存還是內(nèi)存都不能存儲處理器操作的原始指令,這些指令只能存儲在CPU的一級指令緩存中,而余下的二級緩存、三級緩存和內(nèi)存僅用于存儲CPU所需數(shù)據(jù)。
根據(jù)工作原理的不同,目前主流處理器所采用的一級數(shù)據(jù)緩存又可以分為實數(shù)據(jù)讀寫緩存和數(shù)據(jù)代碼指令追蹤緩存2種,它們分別被AMD和Intel所采用。不同的一級數(shù)據(jù)緩存設(shè)計對于二級緩存容量的需求也各不相同,下面讓我們簡單了解一下這兩種一級數(shù)據(jù)緩存設(shè)計的不同之處。
一、AMD一級數(shù)據(jù)緩存設(shè)計
AMD采用的一級緩存設(shè)計屬于傳統(tǒng)的“實數(shù)據(jù)讀寫緩存”設(shè)計?;谠摷軜?gòu)的一級數(shù)據(jù)緩存主要用于存儲CPU最先讀取的數(shù)據(jù);而更多的讀取數(shù)據(jù)則分別存儲在二級緩存和系統(tǒng)內(nèi)存當中。做個簡單的假設(shè),假如處理器需要讀取“AMDATHLON 64 3000+ ISGOOD”這一串數(shù)據(jù)(不記空格),那么首先要被讀取的“AMDATHL”將被存儲在一級數(shù)據(jù)緩存中,而余下的“ON643000+ISGOOD”則被分別存儲在二級緩存和系統(tǒng)內(nèi)存當中(如下圖所示)。
需要注意的是,以上假設(shè)只是對AMD處理器一級數(shù)據(jù)緩存的一個抽象描述,一級數(shù)據(jù)緩存和二級緩存所能存儲的數(shù)據(jù)長度完全由緩存容量的大小決定,而絕非以上假設(shè)中的幾個字節(jié)。“實數(shù)據(jù)讀寫緩存”的優(yōu)點是數(shù)據(jù)讀取直接快速,但這也需要一級數(shù)據(jù)緩存具有一定的容量,增加了處理器的制造難度(一級數(shù)據(jù)緩存的單位制造成本較二級緩存高)。
二、Intel一級數(shù)據(jù)緩存設(shè)計
自P4時代開始,Intel開始采用全新的“數(shù)據(jù)代碼指令追蹤緩存”設(shè)計?;谶@種架構(gòu)的一級數(shù)據(jù)緩存不再存儲實際的數(shù)據(jù),而是存儲這些數(shù)據(jù)在二級緩存中的指令代碼(即數(shù)據(jù)在二級緩存中存儲的起始地址)。假設(shè)處理器需要讀取“INTEL P4 ISGOOD”這一串數(shù)據(jù)(不記空格),那么所有數(shù)據(jù)將被存儲在二級緩存中,而一級數(shù)據(jù)代碼指令追蹤緩存需要存儲的僅僅是上述數(shù)據(jù)的起始地址(如下圖所示)。
由于一級數(shù)據(jù)緩存不再存儲實際數(shù)據(jù),因此“數(shù)據(jù)代碼指令追蹤緩存”設(shè)計能夠極大地降CPU對一級數(shù)據(jù)緩存容量的要求,降低處理器的生產(chǎn)難度。但這種設(shè)計的弊端在于數(shù)據(jù)讀取效率較“實數(shù)據(jù)讀寫緩存設(shè)計”低,而且對二級緩存容量的依賴性非常大。
在了解了一級緩存、二級緩存的大致作用及其分類以后,下面我們來回答以下硬件一菜鳥網(wǎng)友提出的問題。
從理論上講,二級緩存越大處理器的性能越好,但這并不是說二級緩存容量加倍就能夠處理器帶來成倍的性能增長。目前CPU處理的絕大部分數(shù)據(jù)的大小都在0-256KB之間,小部分數(shù)據(jù)的大小在256KB-512KB之間,只有極少數(shù)數(shù)據(jù)的大小超過512KB。所以只要處理器可用的一級、二級緩存容量達到256KB以上,那就能夠應付正常的應用;512KB容量的二級緩存已經(jīng)足夠滿足絕大多數(shù)應用的需求。
這其中,對于采用“實數(shù)據(jù)讀寫緩存”設(shè)計的AMD Athlon64、Sempron處理器而言,由于它們已經(jīng)具備了64KB一級指令緩存和64KB一級數(shù)據(jù)緩存,只要處理器的二級緩存容量大于等于128KB就能夠存儲足夠的數(shù)據(jù)和指令,因此它們對二級緩存的依賴性并不大。這就是為什么主頻同為1.8GHz的Socket 754 Sempron3000+(128KB二級緩存)、Sempron 3100+(256KB二級緩存)以及Athlon 642800+(512KB二級緩存)在大多數(shù)評測中性能非常接近的主要原因。所以對于普通用戶而言754 Sempron 2600+是值得考慮的。
反觀Intel目前主推的P4、賽揚系列處理器,它們都采用了“數(shù)據(jù)代碼指令追蹤緩存”架構(gòu),其中Prescott內(nèi)核的一級緩存中只包含了12KB一級指令緩存和16KB一級數(shù)據(jù)緩存,而Northwood內(nèi)核更是只有12KB一級指令緩存和8KB一級數(shù)據(jù)緩存。所以P4、賽揚系列處理器對二級緩存的依賴性是非常大的,賽揚D 320(256KB二級緩存)與賽揚 2.4GHz(128KB二級緩存)性能上的巨大差距就很好地證明了這一點;而賽揚D和P4E處理器之間的性能差距同樣十分明顯。
最后,如果您是狂熱的游戲發(fā)燒友或者從事多媒體制作的專業(yè)用戶,那么具有1MB二級緩存的P4處理器和具有512KB/1MB二級緩存的Athlon64處理器才是您理想的選擇。因為在高負荷的運算下,CPU的一級緩存和二級緩存近乎“爆滿”,在這個時候大容量的二級緩存能夠為處理器帶來5%-10%左右的性能提升,這對于那些要求苛刻的用戶來說是完全有必要的。
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。