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