CPU緩存:通過(guò)優(yōu)化的的讀取機(jī)制,可以使CPU讀取緩存的命中率非常高(大多數(shù)CPU可達(dá)90%左右),也就是說(shuō)CPU下一次要讀取的數(shù)據(jù)90%都在緩存中,只有大約10%需要從內(nèi)存讀取。這大大節(jié)省了CPU直接讀取內(nèi)存的時(shí)間,也使CPU讀取數(shù)據(jù)時(shí)基本無(wú)需等待。
總的來(lái)說(shuō),CPU讀取數(shù)據(jù)的順序是先緩存后內(nèi)存。
CPU內(nèi)核集成的緩存稱為一級(jí)緩存(L1 cache),而外部的稱為二級(jí)緩存(L2 Cache);后來(lái)隨著生產(chǎn)技術(shù)的不斷提高,最終二級(jí)緩存也被挪進(jìn)了CPU當(dāng)中。通常一級(jí)緩存中還分?jǐn)?shù)據(jù)緩存(Data Cache, D-Cache)和指令緩存(Instruction Cache, I-Cache)。二者分別用來(lái)存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,而且兩者可以同時(shí)被CPU訪問(wèn),減少了爭(zhēng)用Cache所造成的沖突,提高了CPU效能。
CPU的一級(jí)緩存通常都是靜態(tài)RAM,速度非常的快,但是靜態(tài)RAM集成度低(存儲(chǔ)相同的數(shù)據(jù),靜態(tài)RAM的體積是動(dòng)態(tài)RAM的6倍),而且價(jià)格也相對(duì)較為昂貴(同容量的靜態(tài)RAM是動(dòng)態(tài)RAM的四倍)。
擴(kuò)大靜態(tài)RAM作為緩存是一個(gè)不太合算的做法,但是為了提高系統(tǒng)的性能和速度又必須要擴(kuò)大緩存,這就有了一個(gè)折中的方法:在不擴(kuò)大原來(lái)的靜態(tài)RAM緩存容量的情況下,僅僅增加一些高速動(dòng)態(tài)RAM做為L(zhǎng)2級(jí)緩存。高速動(dòng)態(tài)RAM速度要比常規(guī)動(dòng)態(tài)RAM快,但比原來(lái)的靜態(tài)RAM緩存慢,而且成本也較為適中。一級(jí)緩存和二級(jí)緩存中的內(nèi)容都是內(nèi)存中訪問(wèn)頻率高的數(shù)據(jù)的復(fù)制品(映射),它們的存在都是為了減少高速CPU對(duì)慢速內(nèi)存的訪問(wèn)。
二級(jí)緩存是CPU性能表現(xiàn)的關(guān)鍵之一,在CPU核心不變化的情況下,增加二級(jí)緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級(jí)緩存上存在差異,由此可見(jiàn)二級(jí)緩存對(duì)CPU的重要性。
CPU在緩存中找到有用的數(shù)據(jù)被稱為命中,當(dāng)緩存中沒(méi)有CPU所需的數(shù)據(jù)時(shí)(這時(shí)稱為未命中),CPU才訪問(wèn)內(nèi)存。從理論上講,在一顆擁有二級(jí)緩存的CPU中,讀取一級(jí)緩存的命中率為80%。也就是說(shuō)CPU一級(jí)緩存中找到的有用數(shù)據(jù)占數(shù)據(jù)總量的80%,剩下的20%從二級(jí)緩存中讀取。由于不能準(zhǔn)確預(yù)測(cè)將要執(zhí)行的數(shù)據(jù),讀取二級(jí)緩存的命中率也在80%左右(從二級(jí)緩存讀到有用的數(shù)據(jù)占總數(shù)據(jù)的16%)。那么還有的數(shù)據(jù)就不得不從內(nèi)存調(diào)用,但這已經(jīng)是一個(gè)相當(dāng)小的比例了。
目前的較高端CPU中,還會(huì)帶有三級(jí)緩存,它是為讀取二級(jí)緩存后未命中的數(shù)據(jù)設(shè)計(jì)的—種緩存,在擁有三級(jí)緩存的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率,從某種意義上說(shuō),預(yù)取效率的提高,大大降低了生產(chǎn)成本卻提供了非常接近理想狀態(tài)的性能。除非某天生產(chǎn)技術(shù)變得非常強(qiáng),否則內(nèi)存仍會(huì)存在,緩存的性能遞增特性也仍會(huì)保留。
-
cpu
+關(guān)注
關(guān)注
68文章
10902瀏覽量
213006 -
RAM
+關(guān)注
關(guān)注
8文章
1369瀏覽量
115002 -
緩存
+關(guān)注
關(guān)注
1文章
241瀏覽量
26757
原文標(biāo)題:講一講CPU的一級(jí)緩存與二級(jí)緩存
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論