把賽揚D逼回老家 90nm 3100+超頻手記
很多時候我們都認為緩存的多少直接影響到了CPU的工作速度,雖然這中觀點正確,但并不是在任何情況下都適用。
CPU緩存(Cache Memoney)位于CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個內存儲器(緩存+內存)就變成了既有緩存的高速度,又有內存的大容量存儲系統。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。CPU進行處理的數據信息多是從內存中調取的,但CPU的運算速度要比內存快得多,為此在此傳輸過程中放置一存儲器,存儲CPU經常使用的數據和指令。這樣可以提高數據傳輸速度。可分一級緩存和二級緩存。
● 一級緩存
即L1 Cache。集成在CPU內部中,用于CPU在處理數據過程中數據的暫時保存。由于緩存指令和數據與CPU同頻工作,L1級高速緩存的容量越大,存儲信息越多,可減少CPU與內存之間的數據交換次數,提高CPU的運算效率。但因高速緩沖存儲器均由靜態RAM組成,結構較復雜,在有限的CPU芯片面積上,L1級高速緩存的容量不可能做得太大。
● 二級緩存
即L2 Cache。由于L1級高速緩存容量的限制,為了再次提高CPU的運算速度,在CPU外部放置一高速存儲器,即二級緩存。工作主頻比較靈活,可與CPU同頻,也可不同。CPU在讀取數據時,先在L1中尋找,再從L2尋找,然后是內存,最后是外存儲器,所以L2對系統的影響也不容忽視。
● 性能高低不能單看緩存大小
雖然緩存的重要性不言而喻,但看一切事物不能之看表面而忽略實質,CPU也是同一道理。AMD和Intel的處理器的二級緩存在數字上看似相差甚遠,而很多消費者誤認為AMD又開始不厚道了,其實不然,AMD和Intel的處理器在一級緩存的邏輯結構設計上有所不同。Intel的P4及賽揚的一級數據緩存稱為“數據代碼指令追蹤(讀寫)緩存” AMD的Athlon64/AthlonXP/閃龍/毒龍系列的一級數據緩存稱為“實數據讀寫緩存” 。相信從字面上我們對于上述2種一級緩存邏輯結構就能夠有個直觀的了解了。
簡單的說,假設有一個運算任務從1一直遞加到999999,在傳統的實數據讀寫緩存構架下,這一系列數據中最先用到的數據(如 1、2……449、450)將儲存在CPU的一級緩存中,更多的數據(如451、452……899999、900000)則儲存在二級緩存中。其余的數據暫存在內存中,CPU將按一級緩存→二級緩存→內存的順序讀取這些數據。而在Intel的數據代碼指令追蹤(讀寫)緩存構架的CPU中,一級緩存并不儲存這些最先用到的數據,而是將這些數據儲存在二級緩存中,一級緩存只儲存這些數據在二級緩存中的起址(又稱指令代碼)如,數據1、2……449、450順序存儲在二級緩存中,數據1所在地址為00001F數據450所在地址為00451F,實際上一級緩存只存儲00001F和00451F這2個地址就可以了,而不需存儲大量數據。但是由于一級緩存不存儲數據,數據都存儲在二級緩存中,故對二級緩存容量的依賴非常大,所以CPU需要更大的二級緩存容量才能發揮應有的性能。
在實際應用中,CPU處理的數據大多是0KB~128KB大小的數據,128KB~256KB的數據有10%,256~512的數據有5%,512~1MB的數據僅有3%。所以對于數據代碼指令追蹤(讀寫)緩存構架的CPU,二級緩存容量從0KB增加到256KB對CPU性能的提高幾乎是直線性的,增加到512KB對CPU性能的提高稍微小一些,從512增加到1MB,普通用戶很難感覺到CPU性能提高了。
與此對應的是AMD的CPU,它的一級數據緩存直接存儲數據,而128KB的容量在大多數情況下就可以承擔CPU急需的數據,所以其二級緩存對CPU的影響沒有那么大。這也說明了Athlon XP(256KB或512KB二級緩存)和毒龍(64KB二級緩存)雖然二級緩存容量差異巨大,但實際性能并沒那么大差異的原因。而Athlon 64/Sempron系列CPU在內存控制器,流水線長度,頻率,總線構架和擴展指令集等諸多方面和原來的產品都有差異,因此在性能上受二級緩存容量的影響更小了。
以上也說明了為什么P4做為Intel的高端為什么一級緩存非常小而二級緩存卻又很大的原因。AMD的閃龍系列雖然二級緩存容量不大,但對其性能的影響并不大,所以在CPU性能方面,不能用二級緩存容量去衡量一顆處理器的好壞,并妄下結論。
而正打算購買P4或賽揚D處理器的消費者也許你們正在為另一個不厚道的數字掏著更多的血汗錢。<
關注我們



