現在,CPU上不僅有了一、二級緩存,一些高端產品更是配備了三級緩存。緩存到底有什么作用?CPU緩存為什么要分級?為什么我們已經開始把緩存大小作為衡量CPU檔次的標準了?這些問題在下文中都將得到解答。
比內存更高效的數據寄存器
最初的CPU是沒有集成緩存的,因此CPU處理數據時是直接從內存中查找、訪問。而隨著CPU數據處理速度變得越來越快,大幅度高于內存速度,加之內存容量的增加,再讓CPU在內存中以緩慢的速度逐個查找數據就造成了CPU資源的浪費。于是處理器制造商們在CPU與內存之間增加了一個新的臨時數據寄存器——緩存。緩存與內存一樣,同樣是臨時數據寄存器,但由于緩存享受的是CPU的數據帶寬,因此它的速度要遠高于內存。部分CPU即將訪問的數據就能夠直接存放于緩存當中,使得CPU能夠高速處理這部分數據,效率比單純調用內存高出不少。緩存內存放的數據只能是一小部分,且必須不斷更新,一旦CPU在緩存當中找不到所需數據,就會在內存中查找,而緩存也將把這些數據調入,并將部分CPU不需要的數據清除出去。緩存加內存的內部存儲構架不僅擁有了緩存的高速優勢,同時也擁有了內存的容量優勢,讓CPU性能得到了充分發揮。
緩存的分級
最初的緩存只有一級緩存。一級緩存采用的都是Static RAM(靜態隨機存取記憶體),不僅速度快,同時無需刷新電路即能保存它內部存儲的數據,不過它的缺點在于成本過高,同時集成度低,即便目前的制造工藝已大幅提升,廠商還是無法在CPU內核中集成大容量的一級緩存。因此即便是目前最頂級的Core 2 QuadQ9650,一級緩存也僅有128KB。不過我們可以看到現在大部分處理器的二級緩存都已經達到了2MB以上,遠遠大于一級緩存容量。這又是怎么回事呢?

二級緩存使用的大多是DynamicRAM(動態隨機存取記憶體),這種記憶體的成本比static RAM便宜了不少,同時集成度非常高,目前所知的Core 2 Quad Q9650的內核已經集成了高達12MB的二級緩存,容量達到了它一級緩存的96倍。雖然使用Dynamic RAM的二級緩存速度較之一級緩存慢了不少,但相對于內存仍然有絕對的速度優勢。而隨著CPU處理器數據處理能力的不斷提升,以KB計算的一級緩存容量肯定是無法滿足需求了,因此大容量的二級緩存也成為了CPU性能提升的關鍵。二級緩存同樣存儲的是CPU即將訪問的數據,不過它既包含了一級緩存內的數據,也有一些訪問優先級較低的數據,這樣只有CPU在一級、二級緩存中都無法找到數據時,才會訪問內存。當然,CPU并不能保證100%地查找到緩存中的數據,但目前主流CPU的讀取命中率都在90%以上,因此如果一級緩存中的有10%沒有被讀取,那么剩下的數據則會在二級緩存中查找,上下的10%再乘以90%的命中率,那么剩下需要從三級緩存或者是內存中查找的數據就只剩下1%了。所以緩存的分級也能有效提升CPU的數據命中率。

在進入一個大型3D游戲時,游戲的運行數據開始將被調入內存,接著由內存提供給二級緩存再到一級緩存,而CPU的數據訪問則是由上而下的,緩存的分級實際上就是讓數據查找訪問過程盡可能少地在執行效率低的數據存儲器上進行,以提升數據處理效率,當然我們也可以相應地將內存看作是一個容量以GB計而速度極慢的n級緩存。
衡量CPU檔次的標桿
正是因為緩存在數據處理上帶來的高效率才使它的地位愈發重要,繼而成為衡量CPU檔次的重要標準。在CPU制造過程中,實際上同一塊晶元不僅能切割出不同頻率的處理器產品,同時由于芯片瑕疵問題,廠商們不得不將質量不夠高的產品的緩存屏蔽掉,作為低檔次產品銷售。這就使得被屏蔽掉緩存的CPU成了賽揚,而不用被屏蔽緩存的CPU變成了檔次更高的奔騰或者酷睿。