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