本文主要是關(guān)于二極緩存的介紹,并闡述了二級(jí)緩存是否損壞的查看方法,并探討了二級(jí)緩存對(duì)CPU性能的影響。
二級(jí)緩存
二級(jí)緩存的工作原理是當(dāng)CPU要讀取一個(gè)數(shù)據(jù)時(shí),首先從緩存中查找,如果找到就立即讀取并送給CPU處理;如果沒(méi)有找到,就用相對(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í)代開(kāi)始把緩存進(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所造成的沖突,提高了處理器效能。
如何檢測(cè)cpu二級(jí)緩存是否損壞
可以通過(guò)CPU-Z進(jìn)行查看:
百度搜索CPU-Z,并進(jìn)行下載安裝;
運(yùn)行已安裝的軟件,在界面上就能看到二級(jí)緩存信息:
二級(jí)緩存損壞的解決方法
如果在默認(rèn)頻率下仍然頻繁死機(jī),就很可能是這款處理器的二級(jí)緩存有缺陷,才造成無(wú)法穩(wěn)定運(yùn)行的。面對(duì)這種情況,除了更換處理器之外,還有一種解決方案就是在BIOS當(dāng)中屏蔽CPU的二級(jí)緩存。操作方法比較簡(jiǎn)單,在開(kāi)機(jī)時(shí)按住“Delete”即可進(jìn)入BIOS界面。利用鍵盤上的方向鍵進(jìn)行操作,并找到“CPU Level 2 Cache”選項(xiàng)(如圖),將后面的參數(shù)從“Enabled”修改為“Disabled”。保存退出后重啟電腦,電腦就可以穩(wěn)定運(yùn)行了。不過(guò)需要注意的是,由于將二級(jí)緩存關(guān)閉后會(huì)大幅度降低處理器的性能表現(xiàn),所以系統(tǒng)的性能會(huì)受到很大的影響。不過(guò)即便是如此,酷睿處理器憑借強(qiáng)大的一級(jí)緩存,其性能也明顯優(yōu)于同頻的奔騰處理器。
由于目前的新主板基本都沒(méi)有禁用二級(jí)緩存的BIOS設(shè)計(jì)了,所以上述方法對(duì)于現(xiàn)在的新主板來(lái)說(shuō)不再適用。在條件允許的情況下,最好還是不要購(gòu)買ES版處理器。因?yàn)榇祟愄幚砥鞅緛?lái)就是工程樣品,所以難免可能有各種各樣的隱性問(wèn)題。即便是圖便宜要選購(gòu)ES版處理器,也最好選擇同城賣家,并要求對(duì)方提供與散裝正式版處理器相同的保修服務(wù)。而如果對(duì)方拒絕提供保修,或者并不答應(yīng)白紙黑字寫下保修條款,那么所要購(gòu)買的ES版處理器就很可能有貓膩。
詳解二級(jí)緩存對(duì)CPU性能影響
現(xiàn)代桌面級(jí)PC的CPU二級(jí)緩存容量大多數(shù)在64KB到2MB之間。因?yàn)镃PU二級(jí)緩存容量對(duì)CPU性能有不小的影響,所以低端CPU和中高端CPU在物理結(jié)構(gòu)上的差異主要就是二級(jí)緩存容量的大小。那么二級(jí)緩存容量為什么如此重要?它對(duì)CPU性能有什么樣的影響呢?
正如在《淺談 CPU緩存的分級(jí)》中所講的,CPU二級(jí)緩存作為一級(jí)緩存的“后備倉(cāng)庫(kù)”,用于為一級(jí)緩存存儲(chǔ)更多的數(shù)據(jù),減少CPU直接訪問(wèn)內(nèi)存 的次數(shù)。理論上,CPU訪問(wèn)并調(diào)用緩存的數(shù)據(jù)所占的比重越大,則CPU訪問(wèn)并調(diào)用內(nèi)存的數(shù)據(jù)所占的比重就越小,那么因訪問(wèn)內(nèi)存而耽誤的時(shí)間 就越少。所以緩存的容量越大,CPU的實(shí)際效率也就越高,性能就越強(qiáng)。
實(shí)際上,現(xiàn)在Intel和AMD處理器在一級(jí)緩存的邏輯結(jié)構(gòu)設(shè)計(jì)上有所不同,所以二級(jí)緩存對(duì)CPU性能的影響也不盡相同。因?yàn)镃PU讀取的 數(shù)據(jù)(包括指令)中有80%的數(shù)據(jù)來(lái)自一級(jí)緩存,所以一級(jí)緩存的邏輯結(jié)構(gòu)決定了CPU二級(jí)緩存容量對(duì)CPU性能的影響。Intel的Pentium 4及Celeron系列處理器的一級(jí)數(shù)據(jù)緩存被稱為“數(shù)據(jù)代碼指令追蹤(讀寫)緩存”;AMD的Athlon 64/Athlon XP/Sempron/Duron系列處理器 的一級(jí)數(shù)據(jù)緩存叫作“實(shí)數(shù)據(jù)讀寫緩存”。
這兩類CPU一級(jí)緩存不同的邏輯結(jié)構(gòu)有什么不同?下面,我用一個(gè)例子來(lái)描述。
假設(shè)有一個(gè)運(yùn)算任務(wù),要從“1”一直遞加到“999999”。在傳統(tǒng)的“實(shí)數(shù)據(jù)讀寫緩存”架構(gòu)下,這一系列數(shù)據(jù)中最先用到的數(shù)據(jù)(如 “1、2……449、450”)將存儲(chǔ)在CPU一級(jí)數(shù)據(jù)緩存中,更多的數(shù)據(jù)(如“451、452……899999、900000”)存儲(chǔ)在CPU二級(jí)緩存中,其余的數(shù) 據(jù)(如“900001、999002……999998、999999”)暫存在內(nèi)存中,CPU將按照一級(jí)數(shù)據(jù)緩存、二級(jí)緩存和內(nèi)存的順序讀取這些數(shù)據(jù)。
[#img_367743_no_1_Black#]
傳統(tǒng)的一級(jí)數(shù)據(jù)緩存的存儲(chǔ)方式
但是在“數(shù)據(jù)代碼指令追蹤緩存”架構(gòu)的CPU中,一級(jí)數(shù)據(jù)緩存并不存儲(chǔ)這些最先用到的數(shù)據(jù)(“1、2……449、450”),而是將這些 數(shù)據(jù)存儲(chǔ)到二級(jí)緩存中,一級(jí)數(shù)據(jù)緩存僅僅存儲(chǔ)這些數(shù)據(jù)在二級(jí)緩存中的起止地址(又稱為:指令代碼)。例如,數(shù)據(jù)“1、2……449、450” 順序存儲(chǔ)在二級(jí)緩存中,數(shù)據(jù)“1”所在地址為“00001F”,數(shù)據(jù)“450” 所在地址為“00451F”,實(shí)際上一級(jí)數(shù)據(jù)緩存只需要存儲(chǔ)“00001F”和“00451F”這兩個(gè)地址就可以了,而不需要存儲(chǔ)大量的數(shù)據(jù)。
[#img_367747_no_1_Black#]
“數(shù)據(jù)代碼指令追蹤緩存”架構(gòu)的一級(jí)數(shù)據(jù)緩存的存儲(chǔ)方式
但是由于其一級(jí)數(shù)據(jù)緩存不存儲(chǔ)數(shù)據(jù),數(shù)據(jù)存儲(chǔ)在二級(jí)緩存中,因此對(duì)二級(jí)緩存容量的依賴非常大,所以CPU需要更大的二級(jí)緩存容量 才能發(fā)揮出應(yīng)有的性能。在實(shí)際應(yīng)用中,CPU處理的數(shù)據(jù)中大多數(shù)都是0KB~128KB大小的數(shù)據(jù),128KB~256KB的數(shù)據(jù)約有10%,256KB~512KB的 數(shù)據(jù)有5%,512KB~1MB的數(shù)據(jù)僅有3%左右。所以對(duì)于這種CPU來(lái)說(shuō),二級(jí)緩存容量從0KB增加到256KB對(duì)CPU性能的提高幾乎是直線性的;增加 到512KB對(duì)CPU性能的提高稍微小一些;從512KB增加到1MB,普通用戶就很難體會(huì)到CPU性能有提高了。正因?yàn)槿绱耍蠹夷芨惺艿絇entium 4 C(512KB二級(jí)緩存)與Celeron(128KB二級(jí)緩存)的性能差異,卻很難感受到Pentium 4 C(512KB二級(jí)緩存)與Pentium 4 E(1MB二級(jí)緩存)的性能差異了。
[#img_367748_no_1_Black#]
CPU處理數(shù)據(jù)大小的概率分布圖
例如,同為2.8GHz主頻的Celeron D(256KB二級(jí)緩存)和Pentium 4 E(1MB二級(jí)緩存)運(yùn)算super π 104萬(wàn)位的耗時(shí)分別為56秒和48秒 ,除去外頻(前者為133MHz,后者為200MHz)的差異和超線程技術(shù)的影響,兩者的性能差距只有10%左右,對(duì)于普通用戶而言這樣的性能差距 是微不足道的;只有對(duì)CPU運(yùn)算性能要求“苛刻”的玩家來(lái)說(shuō)更大的二級(jí)緩存容量才是必須的。
[#img_367749_no_1_Black#]
Celeron D
[#img_367750_no_1_Black#]
Pentium 4 E
相對(duì)的,由于AMD的Athlon 64/Athlon XP/Sempron/Duron系列產(chǎn)品的一級(jí)數(shù)據(jù)緩存直接存儲(chǔ)數(shù)據(jù),而且128KB的容量在大多數(shù)情況下就 可以承擔(dān)CPU所急需的數(shù)據(jù),所以其二級(jí)緩存對(duì)CPU性能的影響并沒(méi)有那么大。這也就解釋了為什么主頻和外頻相同的Athlon XP(256KB或512KB二級(jí)緩存)和Duron(64KB二級(jí)緩存)雖然二級(jí)緩存容量差異巨大,但實(shí)際性能差距不大的原因。而且Athlon 64/Sempron 系列CPU在內(nèi)存控制器、流水線長(zhǎng)度、頻率、總線架構(gòu)和擴(kuò)展指令集等諸多方面與以前的產(chǎn)品都有差異,因此在性能上受二級(jí)緩存容量的影響就 更小了。
[#img_367751_no_1_Black#]
Sempron
[#img_367752_no_1_Black#]
Athlon 64
綜上所述,在CPU性能方面,并非只從二級(jí)緩存容量上作對(duì)比就可以得到準(zhǔn)確的答案,實(shí)際上還要考慮到緩存的總體設(shè)計(jì)結(jié)構(gòu)、一級(jí)數(shù) 據(jù)緩存容量等因素。雖然從總體上來(lái)講,二級(jí)緩存容量越大越好,但是并不是二級(jí)緩存容量提高一倍就能使CPU性能提升一倍。因此對(duì)于一般家 庭用戶來(lái)說(shuō),電腦主要是用來(lái)上網(wǎng)、欣賞音樂(lè)和電影以及文字處理,二級(jí)緩存為256KB的Celeron D或Sempron已經(jīng)足夠了。只有對(duì)3D游戲、辦公軟件和多媒體編輯性能要求較高的用戶才需要更大二級(jí)緩存的CPU。
結(jié)語(yǔ)
關(guān)于二級(jí)緩存的介紹就到這了,希望本文能讓你對(duì)二級(jí)緩存有更全面的認(rèn)識(shí),如有不足之處歡迎指正。
評(píng)論
查看更多