聊一聊CPU快取的作用 是越大越好么?
- 2020 年 2 月 21 日
- 資訊
在CPU的參數中,我們除了常見的核心執行緒以及各種頻率之外,還經常會看到一個名為快取的參數。
有的是9MB,有的是16MB,甚至在三代Ryzen上還有的能達到72MB,那麼這些快取到底是幹什麼的?
先說一下概念,CPU中快取是為了加快CPU讀取數據的速度,也是為了給記憶體一個緩衝期。
因為CPU運算速度太快了,光靠記憶體讀寫完全跟不上,而CPU快取的數據交換比記憶體快多了,大部分時候CPU可以直接從快取讀取數據。
找不到的話再從記憶體讀取,這樣可以節省CPU讀取記憶體數據時浪費的時間。
CPU快取分為三類,一級快取(L1)、二級快取(L2)和三級快取(L3)。
我們現在常見的是三級快取。但是CPU在實際數據讀取中重要的卻是一級快取,因為一級快取速度最快,二級快取其次,三級快取最慢。
只是三級快取的容量最大,上百MB的都有,更容易體現產品更新換代時的價值。
一級快取雖然速度最快,但容量最小,單位都是KB,不同CPU之間一級快取沒有差距,所以現在不怎麼提了,二級快取容量也不大,基本都是個位數MB,除了一些伺服器CPU會有10幾MB之外,現在CPU也不怎麼提二級快取。
CPU讀取快取時會先從一級快取開始,然是二級快取,而讀取二級快取有時候會出現數據未命中的情況,這時候就需要從三級快取讀取。
但是要注意的是三級快取越大並不一定說這個CPU性能就越強,因為三級快取的容量還依靠CPU架構和製程等方面的影響,如果是與架構製程搭配升級的三級快取,容量越大才會性能越高。
比如說這次AMD的三代Ryzen,依靠Zen2架構和7nm製程帶來的超大容量三級快取,解決了前兩代記憶體延遲的問題,實際效果就是三代Ryzen整體遊戲表現提升顯著。
總的來說,不同製程和架構之間的CPU,單純從三級快取大小是看不出來性能好壞的,不是越大越厲害。
如果是相同架構相同製程的話,我們才需要考慮CPU三級快取容量的問題,在這時候確實三級快取容量越大性能越強,需要具體問題具體分析。
在選購的時候就沒必要太過講究三級快取的大小了,遠不如核心執行緒和頻率的收益大。