對于CPU二級緩存(L2 Cache)的作用,想必大家都多多少少有一定了解,即使不完全明白其中道理,至少也可以從Pentium 4和Celeron的差價判斷出其重要性—256KB二級緩存的Celeron D 2.4GHz比512KB二級緩存的Pentium 4 2.4C便宜近一半,
如何對CPU進(jìn)行優(yōu)化
。如果這時候有人說Windows XP操作系統(tǒng)并沒有充分利用CPU的二級緩存,你會怎么想?這簡直就是在浪費(fèi)用戶的投資嘛!事實(shí)上,有一種廣為流傳的說法是Windows XP沒有對CPU進(jìn)行優(yōu)化,理由就是它默認(rèn)狀態(tài)下并沒有打開CPU的二級緩存。如果你打開注冊表編輯器,找到“HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Session Manager\Memory Management”,在其中可以看到一個名為“SecondLevelDataCache”的項,它的默認(rèn)值為“0”。再明顯不過了,“SecondLevelDataCache”就是二級數(shù)據(jù)緩存的意思,既然被設(shè)置為“0”,那就是關(guān)閉了二級緩存。
正是基于以上論斷,才出現(xiàn)了優(yōu)化二級緩存的技巧,也就是把“SecondLevelDataCache”的值設(shè)置為CPU的二級緩存容量(單位KB)。在眾多的優(yōu)化軟件中也包含了優(yōu)化CPU二級緩存的設(shè)置,例如“超級兔子魔法設(shè)置”、“Windows優(yōu)化大師”和PcMedik等。這樣的優(yōu)化到底有多大的效果呢?還是讓事實(shí)說話比較好,請看我們進(jìn)行的對比測試。
從測試結(jié)果來看,修改“SecondLevel DataCache”的值對測試結(jié)果沒有任何影響,這是為什么呢?事實(shí)上,在微軟的知識庫文章(http://support.microsoft.com/default.aspx?scid=kb;en-us;183063)中可以看到,從Windows NT4開始,“SecondLevelData Cache”的默認(rèn)設(shè)置就已經(jīng)是“0”了,
電腦資料
《如何對CPU進(jìn)行優(yōu)化》(http://www.msguai.com)。這篇文章指出,當(dāng)“SecondLevelDataCache”為“0”時,系統(tǒng)會嘗試通過硬件抽象層(Hardware Abstraction Layer,HAL)獲取二級緩存容量,即便是硬件抽象層無法獲取二級緩存容量,系統(tǒng)也默認(rèn)設(shè)定二級緩存為256KB,而不是完全關(guān)閉二級緩存。在另外一篇Windows 2000的知識庫文章中(http://support.microsoft.com/default.aspx?scid=kb;en-us;228766)中,明確地告訴用戶,一些第三方資料宣稱修改“SecondLevelDataCache”可以優(yōu)化系統(tǒng)性能,這是不正確的。Windows XP與Windows NT4/2000都是NT內(nèi)核,因此在設(shè)計上具有一定的繼承性,雖然這兩篇知識庫文章并不是直接針對Windows XP提出的,但可以看到這個問題由來已久,Windows NT系列操作系統(tǒng)在最初就已經(jīng)把這個問題考慮周全了。從實(shí)際測試的結(jié)果和微軟知識庫文章的解釋可以得出結(jié)論,所謂的Windows系統(tǒng)沒有對CPU進(jìn)行優(yōu)化的說法是錯誤的,雖然手動修改“SecondLevelDataCache”也沒有帶來什么負(fù)面影響,但這種“優(yōu)化”絕對是多此一舉。
測試平臺: CPU Pentium 4 2.8E
主板 微星865PE Neo2
內(nèi)存 Kingston DDR400(256MB×2)
硬盤 Maxtor Plus 9 120GB(SATA)
顯卡 ELSA影雷者FX534DV
操作系統(tǒng) Windows XP Pro+SP1
SecondLevelDataCache Super Pi 209萬位測試
0 110秒
1024 110秒
512 110秒
256 110秒
128 110秒
64 110秒
32 110秒
16 110秒
8 110秒