大家在選購(gòu)處理器時(shí),往往對(duì)處理器的緩存容量選擇感到不知所措,本文主要是關(guān)于CPU緩存的介紹,并重點(diǎn)闡述了二級(jí)緩存的容量,探討了二級(jí)緩存容量的上限是否存在及二級(jí)緩存能否越大越好。
二級(jí)緩存
CPU緩存(Cache Memory)位于CPU與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(nèi)存小但交換速度快。在緩存中的數(shù)據(jù)是內(nèi)存中的一小部分,但這一小部分是短時(shí)間內(nèi)CPU即將訪問(wèn)的,當(dāng)CPU調(diào)用大量數(shù)據(jù)時(shí),就可避開內(nèi)存直接從緩存中調(diào)用,從而加快讀取速度。最初緩存只有一級(jí),二級(jí)緩存(L2 CACHE)出現(xiàn)是為了協(xié)調(diào)一級(jí)緩存與內(nèi)存之間的速度。二級(jí)緩存比一級(jí)緩存速度更慢,容量更大,主要就是做一級(jí)緩存和內(nèi)存之間數(shù)據(jù)臨時(shí)交換的地方用。實(shí)際上,現(xiàn)在Intel和AMD處理器在一級(jí)緩存的邏輯結(jié)構(gòu)設(shè)計(jì)上有所不同,所以二級(jí)緩存對(duì)CPU性能的影響也不盡相同。
緩存的工作原理是當(dāng)CPU要讀取一個(gè)數(shù)據(jù)時(shí),首先從緩存中查找,如果找到就立即讀取并送給CPU處理;如果沒有找到,就用相對(duì)慢的速度從內(nèi)存中讀取并送給CPU處理,同時(shí)把這個(gè)數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入緩存中,可以使得以后對(duì)整塊數(shù)據(jù)的讀取都從緩存中進(jìn)行,不必再調(diào)用內(nèi)存。
正是這樣的讀取機(jī)制使CPU讀取緩存的命中率非常高(大多數(shù)CPU可達(dá)90%左右),也就是說(shuō)CPU下一次要讀取的數(shù)據(jù)90%都在緩存中,只有大約10%需要從內(nèi)存讀取。這大大節(jié)省了CPU直接讀取內(nèi)存的時(shí)間,也使CPU讀取數(shù)據(jù)時(shí)基本無(wú)需等待??偟膩?lái)說(shuō),CPU讀取數(shù)據(jù)的順序是先緩存后內(nèi)存。 最早先的CPU緩存是個(gè)整體的,而且容量很低,英特爾公司從Pentium時(shí)代開始把緩存進(jìn)行了分類。當(dāng)時(shí)集成在CPU內(nèi)核中的緩存已不足以滿足CPU的需求,而制造工藝上的限制又不能大幅度提高緩存的容量。因此出現(xiàn)了集成在與CPU同一塊電路板上或主板上的緩存,此時(shí)就把 CPU內(nèi)核集成的緩存稱為一級(jí)緩存,而外部的稱為二級(jí)緩存。一級(jí)緩存中還分?jǐn)?shù)據(jù)緩存(Data Cache,D-Cache)和指令緩存(Instruction Cache,I-Cache)。二者分別用來(lái)存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,而且兩者可以同時(shí)被CPU訪問(wèn),減少了爭(zhēng)用Cache所造成的沖突,提高了處理器效能。
cpu二級(jí)緩存越大越好嗎
首先亮明觀點(diǎn),并非越大越好。
說(shuō)到CPU,不得不說(shuō)的就是CPU緩存,目前CPU的緩存已經(jīng)成了衡量CPU性能的一個(gè)必要指標(biāo),那么CPU緩存到底對(duì)CPU性能的影響有多大呢?
我們知道,CPU執(zhí)行指令時(shí),會(huì)將執(zhí)行結(jié)果放在一個(gè)叫“寄存器”的元件中,由于“寄存器”集成在CPU內(nèi)部,與ALU等構(gòu)成CPU的重要元件,因此寄存器中的指令很快被CPU所訪問(wèn),但畢竟寄存器的容量太小,CPU所需的大量指令和數(shù)據(jù)還在內(nèi)存(RAM)當(dāng)中,所以CPU為了完成指令操作,需要頻繁地向內(nèi)存發(fā)送接收指令、數(shù)據(jù)。
由于內(nèi)存的處理速度遠(yuǎn)遠(yuǎn)低于CPU,所以傳統(tǒng)的系統(tǒng)瓶頸在這里就產(chǎn)生了,CPU在處理指令時(shí)往往花費(fèi)很多時(shí)間在等待內(nèi)存做準(zhǔn)備工作。
為了解決這個(gè)問(wèn)題,人們?cè)贑PU內(nèi)集成了一個(gè)比內(nèi)存快許多的“Cache”,這就是最早的“高速緩存”。
L1高速緩存是與CPU完全同步運(yùn)行的存儲(chǔ)器,也就是我們常說(shuō)的一級(jí)緩存,如果CPU需要的數(shù)據(jù)和指令已經(jīng)在高速緩存中了,那么CPU不必等待,直接就可以從一級(jí)緩存(L1)中取得數(shù)據(jù),如果數(shù)據(jù)不在L1中,CPU再?gòu)亩?jí)緩存(L2)中提取數(shù)據(jù),大大提高了系統(tǒng)的工作效率。
趣談CPU緩存工作原理
沒有CPU緩存前
我們可以形象地把CPU的運(yùn)算單元想象成是一間坐落在城市中心的工廠,把內(nèi)存看成是工廠設(shè)置在郊區(qū)的一間面積很大的倉(cāng)庫(kù)A。
工廠生產(chǎn)所需要的原材料每次都要花時(shí)間去遠(yuǎn)處的倉(cāng)庫(kù)A調(diào)運(yùn),而且到達(dá)倉(cāng)庫(kù)后,還要等待倉(cāng)庫(kù)準(zhǔn)備好材料,中間浪費(fèi)了不少時(shí)間。這就是CPU頻率未變的情況下,CPU與內(nèi)存的數(shù)據(jù)交換不同步的現(xiàn)象。
而突然有一天,由于資金短缺,倉(cāng)庫(kù)A從近郊區(qū)“搬到”了遠(yuǎn)郊區(qū),這樣原料和成品在工廠與倉(cāng)庫(kù)A之間的運(yùn)輸所花費(fèi)的時(shí)間就更長(zhǎng)了,工廠生產(chǎn)所需的原料供應(yīng)不足,經(jīng)常處于空運(yùn)轉(zhuǎn)的狀態(tài)下。這就是說(shuō)當(dāng)CPU頻率增加后,CPU與內(nèi)存交換數(shù)據(jù)等待需時(shí)間會(huì)變得更長(zhǎng)
增加L1 Cache
要解決CPU與內(nèi)存交換數(shù)據(jù)不同步這個(gè)系統(tǒng)瓶頸問(wèn)題,其中一個(gè)辦法是在靠近工廠的市區(qū)設(shè)置一個(gè)小型的倉(cāng)庫(kù)B(L1 Cache)。
平時(shí)把生產(chǎn)最迫切需要、用得最多的原材料(指令和數(shù)據(jù))從倉(cāng)庫(kù)A(內(nèi)存)調(diào)配到倉(cāng)庫(kù)B(L1 Cache),這樣工廠生產(chǎn)所需要的原材料就可以很快地調(diào)配過(guò)來(lái),減少空運(yùn)轉(zhuǎn)的時(shí)間。當(dāng)所需的原材料在倉(cāng)庫(kù)B中找不到(緩存未命中)時(shí),仍然要到倉(cāng)庫(kù)A(內(nèi)存)里調(diào)配,雖然無(wú)可避免地使工廠又進(jìn)入空運(yùn)轉(zhuǎn),或部分空運(yùn)轉(zhuǎn)(CPU等待若干個(gè)時(shí)鐘周期),但這樣畢竟使等待時(shí)間大大降低了。
小知識(shí):緩存有一個(gè)“預(yù)讀”功能,也就是可以通過(guò)一定的算法,猜測(cè)接下來(lái)所要的數(shù)據(jù),并預(yù)先取入緩存。
再添L2 Cache
隨著CPU的頻率提高,與內(nèi)存之間交換數(shù)據(jù)不同步的現(xiàn)象更明顯了,可以理解為倉(cāng)庫(kù)A(內(nèi)存)搬離郊區(qū),遷到更遠(yuǎn)的地方了。解決這一問(wèn)題的一個(gè)更好的辦法就是在城市的邊緣再設(shè)立一個(gè)比倉(cāng)庫(kù)B大的倉(cāng)庫(kù)C,也就是我們說(shuō)的二級(jí)緩存。
它的作用是把郊區(qū)之外的倉(cāng)庫(kù)A(內(nèi)存)中最迫切用的材料(指令)運(yùn)到倉(cāng)庫(kù)C,而工廠如果在倉(cāng)庫(kù)B中找不到所需的材料,就可以到倉(cāng)庫(kù)C中找,而不必老遠(yuǎn)跑到倉(cāng)庫(kù)A那里找,節(jié)省了不少時(shí)間。
通常情況下,L2包括L1所有的數(shù)據(jù),另外還有一些附加的數(shù)據(jù)。換言之,L1與L2、L2與內(nèi)存之間是子母關(guān)系,所以CPU緩存的出現(xiàn)更有效地解決了CPU空等待所造成的資源浪費(fèi)問(wèn)題。
CPU緩存越大越好?
當(dāng)然,CPU緩存并不是越大越好,因?yàn)榫彺娌捎玫氖撬俣瓤?、價(jià)格昂貴的靜態(tài)RAM(SRAM),由于每個(gè)SRAM內(nèi)存單元都是由4~6個(gè)晶體管構(gòu)成,增加緩存會(huì)帶來(lái)CPU集成晶體管個(gè)數(shù)大增,發(fā)熱量也隨之增大,給設(shè)計(jì)制造帶來(lái)很大的難度。所以就算緩存容量做得很大,但如果設(shè)計(jì)不合理會(huì)造成緩存的延時(shí),CPU的性能也未必得到提高。
CPU二極緩存現(xiàn)在一般多大
處理器要想顯著的提升性能,不外乎四種方法:改進(jìn)微處理器架構(gòu)、增加處理器核心數(shù)量、提升頻率和增加二級(jí)緩存。而就目前的使用環(huán)境來(lái)說(shuō),有的時(shí)候增加處理器核心數(shù)量并不能帶來(lái)很好的性能提升,而架構(gòu)更新一般屬于整代產(chǎn)品更新之際才能出現(xiàn)。
因此主頻和二級(jí)緩存則成為提升性能、拉開產(chǎn)品價(jià)位差距的主要手段。英特爾自從全面轉(zhuǎn)入酷睿2架構(gòu)之后,二級(jí)緩存成為了衡量處理器性能的重要標(biāo)尺,從采用512KB的賽揚(yáng)420處理器到采用12MB二級(jí)緩存的QX9650,各個(gè)不同檔次的處理器系列在核心數(shù)量與頻率不同之外,緩存的容量上也具有很大差異,使得不同規(guī)格處理器在性能上有明顯差距,這也讓不同產(chǎn)品價(jià)格天差地別。
由于處理器與緩存之間帶寬和數(shù)據(jù)交換速度對(duì)處理器性能影響較大,一般來(lái)說(shuō)同規(guī)格處理器,緩存越大性能越好,但性能優(yōu)勢(shì)也不是說(shuō)緩存高一倍性能就能高一倍,僅僅是處理器內(nèi)部數(shù)據(jù)交換速度稍高一些罷了。另外,處理器使用性能單單從二級(jí)緩存上并不能作出判斷,緩存結(jié)構(gòu)設(shè)計(jì)等因素也影響著處理器性能。
酷睿架構(gòu)對(duì)緩存比較依賴,但并不是說(shuō)緩存成倍提升處理器性能就能成倍提升。
但是對(duì)普通玩家來(lái)說(shuō)最重要的因素還是價(jià)格,舉個(gè)例子來(lái)說(shuō),2MB二級(jí)緩存的Intel E5300賣440元,而3MB二級(jí)緩存的E7300則要賣到630塊,為這1MB緩存提升,消費(fèi)者需要多付出50%的價(jià)格。更別說(shuō)6MB緩存的E8200要賣到近千元,10MB和12MB緩存的四核心處理器價(jià)格則要2000元左右,但是花了這么多錢,性能真的可以得到同樣比例的提升么?答案恐怕會(huì)讓多數(shù)人感到出乎意料。
同頻率下的性能測(cè)試(標(biāo)有*的是四核處理器)
首先我們來(lái)看一下單純的處理器運(yùn)算能力,在CPU Mark99軟件中,我們將所有處理器都設(shè)定為同樣頻率,從最終測(cè)試成績(jī)可以看到雖然隨著二級(jí)緩存容量的提高,處理器成績(jī)也穩(wěn)步增長(zhǎng),但是增長(zhǎng)幅度并不大。唯一例外的就是在相同頻率下,512KB二級(jí)緩存的處理器得分大幅度落后于其他處理器,看來(lái)就算是理論方面的性能測(cè)試,512KB也已經(jīng)無(wú)法勝任了。而具有1MB二級(jí)緩存的處理器與6MB甚至是12MB的處理器可以說(shuō)是處于同一級(jí)別??梢娭惶岣呔彺嫒萘克鶐?lái)的性能提升相對(duì)其價(jià)格來(lái)說(shuō)并不劃算。
不同緩存,同樣頻率下測(cè)試成績(jī)(標(biāo)有*的是四核處理器)
其次,游戲測(cè)試中更能突出二級(jí)緩存對(duì)性能的影響,當(dāng)二級(jí)緩存提高的時(shí)候,游戲幀數(shù)也同樣穩(wěn)定提高,且提高幅度非常明顯。其中性能提高比例最大的部分出現(xiàn)在512KB到2MB之間,此時(shí)性能獲得了47.8%的提高,而當(dāng)二級(jí)緩存從2MB換為6MB時(shí),性能僅有23.2%的提高,后面幾款高端處理器二級(jí)緩存雖然成倍數(shù)增加,但是性能提升比例卻越來(lái)越小。
可見只有在運(yùn)行大型3D游戲和多媒體編輯等需要高強(qiáng)度運(yùn)算的時(shí)候才需要更大處理器緩存,這對(duì)更加傾向于高性能運(yùn)算的企業(yè)級(jí)用戶來(lái)說(shuō)意義較大,但是對(duì)于目前階段家庭應(yīng)用來(lái)說(shuō)2MB緩存配置的處理器產(chǎn)品無(wú)論從性能還是價(jià)格方面都是最好選擇。
從應(yīng)用方面考慮,如果是組建辦公用機(jī),E5300不輸于那些身價(jià)昂貴的大緩存處理器,比如E6700甚至QX9650,而在游戲性能方面,E5300處理器在同頻下更是保持著對(duì)低緩存處理器20%~35%的性能領(lǐng)先優(yōu)勢(shì),在測(cè)試中我們可以看到即便緩存更大的高端處理器與E5300相比,也很難取得與其價(jià)格相符的性能領(lǐng)先。
再來(lái)看看價(jià)格,在滿足用戶日常應(yīng)用的基礎(chǔ)上,2MB緩存的Intel E5300以440元左右的售價(jià)擁有非常強(qiáng)悍的性價(jià)比,成為目前裝機(jī)最佳選擇。對(duì)于普通DIY玩家來(lái)說(shuō),還可以考慮通過(guò)超頻進(jìn)一步挖掘Intel E5300處理器的性能,在獲得優(yōu)秀系統(tǒng)性能的同時(shí)還可以體驗(yàn)到更多使用樂(lè)趣。通過(guò)這樣的說(shuō)明,您是否已經(jīng)對(duì)處理器緩存與性能、價(jià)格的關(guān)系有了一定了解呢?希望您在采購(gòu)時(shí)可以選到稱心如意的產(chǎn)品。
結(jié)語(yǔ)
關(guān)于CPU二級(jí)緩存的介紹就到這了,希望本文能對(duì)你有所幫助,如有不足之處歡迎指正。
評(píng)論
查看更多