聊一聊CPU緩存的作用 是越大越好么?
在CPU的參數(shù)中,我們除了常見(jiàn)的核心線程以及各種頻率之外,還經(jīng)常會(huì)看到一個(gè)名為緩存的參數(shù)。
有的是9MB,有的是16MB,甚至在三代銳龍上還有的能達(dá)到72MB,那么這些緩存到底是干什么的?
先說(shuō)一下概念,CPU中緩存是為了加快CPU讀取數(shù)據(jù)的速度,也是為了給內(nèi)存一個(gè)緩沖期。
因?yàn)镃PU運(yùn)算速度太快了,光靠?jī)?nèi)存讀寫完全跟不上,而CPU緩存的數(shù)據(jù)交換比內(nèi)存快多了,大部分時(shí)候CPU可以直接從緩存讀取數(shù)據(jù)。
找不到的話再?gòu)膬?nèi)存讀取,這樣可以節(jié)省CPU讀取內(nèi)存數(shù)據(jù)時(shí)浪費(fèi)的時(shí)間。
CPU緩存分為三類,一級(jí)緩存(L1)、二級(jí)緩存(L2)和三級(jí)緩存(L3)。
我們現(xiàn)在常見(jiàn)的是三級(jí)緩存。但是CPU在實(shí)際數(shù)據(jù)讀取中重要的卻是一級(jí)緩存,因?yàn)橐患?jí)緩存速度最快,二級(jí)緩存其次,三級(jí)緩存最慢。
只是三級(jí)緩存的容量最大,上百M(fèi)B的都有,更容易體現(xiàn)產(chǎn)品更新?lián)Q代時(shí)的價(jià)值。
一級(jí)緩存雖然速度最快,但容量最小,單位都是KB,不同CPU之間一級(jí)緩存沒(méi)有差距,所以現(xiàn)在不怎么提了,二級(jí)緩存容量也不大,基本都是個(gè)位數(shù)MB,除了一些服務(wù)器CPU會(huì)有10幾MB之外,現(xiàn)在CPU也不怎么提二級(jí)緩存。
CPU讀取緩存時(shí)會(huì)先從一級(jí)緩存開(kāi)始,然是二級(jí)緩存,而讀取二級(jí)緩存有時(shí)候會(huì)出現(xiàn)數(shù)據(jù)未命中的情況,這時(shí)候就需要從三級(jí)緩存讀取。
但是要注意的是三級(jí)緩存越大并不一定說(shuō)這個(gè)CPU性能就越強(qiáng),因?yàn)槿?jí)緩存的容量還依靠CPU架構(gòu)和工藝等方面的影響,如果是與架構(gòu)工藝搭配升級(jí)的三級(jí)緩存,容量越大才會(huì)性能越高。
比如說(shuō)這次AMD的三代銳龍,依靠Zen2架構(gòu)和7nm工藝帶來(lái)的超大容量三級(jí)緩存,解決了前兩代內(nèi)存延遲的問(wèn)題,實(shí)際效果就是三代銳龍整體游戲表現(xiàn)提升顯著。
總的來(lái)說(shuō),不同工藝和架構(gòu)之間的CPU,單純從三級(jí)緩存大小是看不出來(lái)性能好壞的,不是越大越厲害。
如果是相同架構(gòu)相同工藝的話,我們才需要考慮CPU三級(jí)緩存容量的問(wèn)題,在這時(shí)候確實(shí)三級(jí)緩存容量越大性能越強(qiáng),需要具體問(wèn)題具體分析。
在選購(gòu)的時(shí)候就沒(méi)必要太過(guò)講究三級(jí)緩存的大小了,遠(yuǎn)不如核心線程和頻率的收益大。