CPU的緩存設計是為了更快的數據處理速度,因為電腦的硬盤尤其是機械硬盤速度非常慢,比起CPU動輒幾Ghz的頻率差太多了,這樣如果CPU直接從硬盤調取數據就需要大量的時間等待,從而導致降低性能,無法充分發揮CPU的性能優勢,在這種情況下就為CPU設計了專用緩存,過去緩存是和CPU本體分離的,隨著半導體工藝的進步,CPU緩存就完全融為一體了,速度也比以前更快。
CPU為什么要設計一二三級緩存?因為一級緩存的速度是最快的,同時也是最復雜的,限于CPU核心面積,一級緩存不可能設計的很大,所以到現在的CPU的一級緩存也不過以KB來計算。
二級緩存主要就是用來彌補一級緩存容量的不足,因為緩存再快要是存儲不了多少數據也會降低性能,這樣二級緩存就使用了不同的結構以增大容量為主,目前主流CPU的二級緩存容量都是一級緩存的好幾倍,但是在多核CPU中,每個核心的二級緩存都是獨立的。
三級緩存出現的最晚,它是為了進一步增大CPU緩存容量以提高命中率來設計的,和二級緩存不同的是,三級緩存一般都是CPU所有核心共享的緩存,這樣設計可以大大提高CPU利用緩存的效率和靈活度,也是目前CPU緩存最大的一類。
CPU緩存的結構設計和內存是不同的,內存DRAM芯片結構更適合做大容量,所以能輕易做到以G為單位的容量,但是速度比起CPU內部緩存就慢很多,內存是作為CPU與硬盤之間的數據存儲功能,在速度上從快到慢是一級緩存>二級緩存>三級緩存>內存>硬盤,電腦正是通過這樣的設計一方面盡可能提高了CPU的速度,另一方面把整體成本降低到合理區間。