2023年最新的CPU緩存作用知識(shí)科普_第1頁(yè)
2023年最新的CPU緩存作用知識(shí)科普_第2頁(yè)
2023年最新的CPU緩存作用知識(shí)科普_第3頁(yè)
2023年最新的CPU緩存作用知識(shí)科普_第4頁(yè)
2023年最新的CPU緩存作用知識(shí)科普_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第CPU緩存作用知識(shí)科普CPU緩存的作用

CPU緩存(CPUCache)是位于CPU與內(nèi)存之間的靜態(tài)隨機(jī)存取存儲(chǔ)器(StaticRandomAccessMemory,SRAM)。所謂“靜態(tài)〞指的是這種存儲(chǔ)器只要保持通電,里面存儲(chǔ)的數(shù)據(jù)就可以恒常保持。相比之下,電腦的內(nèi)存——?jiǎng)討B(tài)隨機(jī)存取存儲(chǔ)器(DRAM)里面所存儲(chǔ)的數(shù)據(jù)那么需要周期性地刷新。

內(nèi)存簡(jiǎn)介

電腦存儲(chǔ)器

SRAM的優(yōu)勢(shì)在于它不需要像DRAM一樣刷新(每隔一段時(shí)間充電一次)電路就能保存它內(nèi)部存儲(chǔ)的數(shù)據(jù)。因此緩存(SRAM)具有比內(nèi)存(DRAM)更高的性能。SRAM的缺點(diǎn)是SRAM集成度較低,功耗較DRAM大,相同容量的DRAM內(nèi)存可以設(shè)計(jì)得更小,但SRAM卻需要保持很大的體積,因此SRAM更加昂貴。

2.CPU緩存的工作原理

電腦在運(yùn)行程序時(shí),當(dāng)CPU要讀取一個(gè)數(shù)據(jù),首先將從緩存中查找,如果找到就立即送給CPU處理。緩存與CPU之間的數(shù)據(jù)交換速度要比CPU和內(nèi)存之間快得多。

如果CPU沒(méi)有在緩存中找到需要的數(shù)據(jù)。

就用相對(duì)慢的速度從內(nèi)存中讀取并送給CPU處理。

同時(shí)把這個(gè)數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入緩存中。

這樣,可以使得下次再使用同樣的數(shù)據(jù)時(shí),可以通過(guò)緩存快速讀取,而不必再調(diào)用內(nèi)存。而CPU在需要訪(fǎng)問(wèn)特定的數(shù)據(jù)時(shí),也會(huì)先檢查一下緩存,看看其中是不是有自己需要的數(shù)據(jù)。

這樣的數(shù)據(jù)讀取機(jī)制使CPU讀取緩存數(shù)據(jù)的命中率(hit)非常高(90%左右),也就是說(shuō)經(jīng)過(guò)上面所示的數(shù)據(jù)讀取與調(diào)用后,CPU經(jīng)常要用的數(shù)據(jù)很大可能被保存在了緩存中,當(dāng)它下一次要讀取相同的數(shù)據(jù)時(shí),90%的數(shù)據(jù)都在緩存中了,無(wú)需再?gòu)妮^遠(yuǎn)的內(nèi)存中調(diào)用。這大大節(jié)省了CPU直接讀取內(nèi)存的時(shí)間,也使CPU讀取數(shù)據(jù)時(shí)根本無(wú)需訪(fǎng)問(wèn)內(nèi)存。

一臺(tái)電腦如果沒(méi)有CPU緩存,它雖然仍可以工作,但是相比擁有CPU緩存的電腦,它的運(yùn)行速度會(huì)慢很多。

3.CPU緩存解決的問(wèn)題

由于CPU核心的開(kāi)展速度遠(yuǎn)遠(yuǎn)超過(guò)了內(nèi)存技術(shù)的開(kāi)展速度,導(dǎo)致CPU處理數(shù)據(jù)的速度太快,快到內(nèi)存提供的數(shù)據(jù)跟不上CPU處理數(shù)據(jù)的速度。緩存沒(méi)有出現(xiàn)之前,在處理器時(shí)鐘周期內(nèi),CPU常常需要等待內(nèi)存供應(yīng)數(shù)據(jù),這不僅浪費(fèi)資源,還降低了CPU的工作效率。

因此緩存便應(yīng)運(yùn)而生,它的出現(xiàn)是為了緩解CPU和內(nèi)存之間速度的不匹配問(wèn)題。

緩存的出現(xiàn)解決了CPU運(yùn)行速度提升的瓶頸問(wèn)題。

4.CPU的三級(jí)緩存

CPU緩存有三種不同的等級(jí),包括L1一級(jí)緩存、L2二級(jí)緩存、L3三級(jí)緩存。

L1一級(jí)緩存

L1一級(jí)緩存也被稱(chēng)為“主緩存〞,這個(gè)名詞出現(xiàn)應(yīng)該是在Intel公司奔騰(Pentium)處理器時(shí)代把緩存開(kāi)始分類(lèi)的時(shí)候,當(dāng)時(shí)在CPU內(nèi)部集成的CPU緩存已經(jīng)不能滿(mǎn)足整機(jī)的性能需求,而制造工藝上的限制不能在CPU內(nèi)部大幅提高緩存的數(shù)量,所以出現(xiàn)了集成在主板上的緩存,當(dāng)時(shí)人們把CPU內(nèi)部集成的CPU緩存成為一級(jí)緩存,而把CPU外部主板上的緩存稱(chēng)為二級(jí)緩存。

一級(jí)緩存位于CPU的內(nèi)部,CPU訪(fǎng)問(wèn)它速度與CPU自身的速度相當(dāng),因此一級(jí)緩存速度非??臁K请娔X中速度最快的緩存。

一級(jí)緩存其實(shí)還分為一級(jí)數(shù)據(jù)緩存(DataCache,D-Cache,L1d)和一級(jí)指令緩存(InstructionCache,I-Cache,L1i),分別用于存放數(shù)據(jù)及執(zhí)行數(shù)據(jù)的指令解碼,兩者可同時(shí)被CPU訪(fǎng)問(wèn),減少了CPU多核心、多線(xiàn)程爭(zhēng)用緩存造成的沖突,提高了處理器的效能。一般CPU的L1i和L1d具備相同的容量,例如i7-8700K的L1即為32KB+32KB。

L2二級(jí)緩存

L2二級(jí)緩存也被稱(chēng)為“外部緩存〞。它被用于存儲(chǔ)最近被處理器訪(fǎng)問(wèn)但還沒(méi)有被一級(jí)緩存存儲(chǔ)的數(shù)據(jù)。二級(jí)緩存的容量要比一級(jí)緩存大,但速度卻沒(méi)有一級(jí)緩存那么快。

概括地說(shuō)CPU在尋找需要的數(shù)據(jù)時(shí),沒(méi)有在一級(jí)緩存中找到自己需要的數(shù)據(jù),它便會(huì)搜索二級(jí)緩存。

隨著CPU制造工藝的開(kāi)展,本來(lái)處于CPU外部的二級(jí)緩存也可以輕易地集成進(jìn)CPU內(nèi)部。

在這種情況下再用緩存是否處于CPU內(nèi)部來(lái)判斷一、二級(jí)緩存已經(jīng)不再確切。集成進(jìn)CPU的二級(jí)緩存運(yùn)行速率漸漸可以跟上CPU的運(yùn)行速度了。

L3三級(jí)緩存

早期,出現(xiàn)L3三級(jí)緩存的CPU是AMD的K6-III處理器,當(dāng)時(shí)受限于制造工藝,L3只能集成在主板上。隨后Intel首次推出L3三級(jí)緩存的CPU是Itanium安騰效勞器處理器,接著就是P4EE和至強(qiáng)MP。

三級(jí)緩存的出現(xiàn)其實(shí)對(duì)CPU性能提升呈一個(gè)爬坡曲線(xiàn)——三級(jí)緩存在0到2M的情況下CPU性能提升非常明顯,但三級(jí)緩存在2M到6M下,對(duì)CPU性能的提升可能就只有10%不到了,這是在近代CPU多核共享L3的情況下;當(dāng)L3集成進(jìn)CPU正式成為CPU內(nèi)部緩存后,CPU處理數(shù)據(jù)時(shí)只有5%需要在內(nèi)存中調(diào)用數(shù)據(jù),進(jìn)一步地減少了內(nèi)存延遲,使系統(tǒng)的響應(yīng)更為快速。

同理,三級(jí)緩存是二級(jí)緩存與主內(nèi)存之間的緩沖器,主要表達(dá)在提升CPU對(duì)大數(shù)據(jù)處理方面的性能,對(duì)游戲表現(xiàn)方面有較大的幫助。

三級(jí)緩存的容量比二級(jí)緩存要大,但速度卻比二級(jí)緩存要慢。三級(jí)緩存也被稱(chēng)為共享緩存。因?yàn)樗拇鎯?chǔ)空間是被CPU之間的所有內(nèi)核共享的。

而一級(jí)和二級(jí)緩存那么是專(zhuān)用的,CPU中每個(gè)核心都有自己的一級(jí)和二級(jí)核心。

總結(jié)

由于數(shù)據(jù)的局限性,CPU往往需要在短時(shí)間內(nèi)重復(fù)屢次讀取數(shù)據(jù),內(nèi)存的運(yùn)行頻率自然是遠(yuǎn)遠(yuǎn)跟不上CPU的處理速度的。此時(shí),緩存的重要性就凸顯出來(lái)了,CPU可以避開(kāi)內(nèi)存在緩存里讀取到想要的數(shù)據(jù),稱(chēng)之為命中(hit)。一級(jí)的運(yùn)行速度很快,但是它的數(shù)據(jù)容量很小,CPU能在一級(jí)緩存里命中的概率大概在80%左右;二級(jí)、三級(jí)緩存的機(jī)制也類(lèi)似如此。這樣一來(lái),電腦在運(yùn)行程序時(shí),CPU需要在內(nèi)存中讀取的數(shù)據(jù)大概為其所需數(shù)據(jù)的5%-10%,其余數(shù)據(jù)命中全部可以在L1、L2、L3中做到,這大大減少了系統(tǒng)的響應(yīng)時(shí)間,總的來(lái)說(shuō),所有CPU讀取數(shù)據(jù)的順序都是先緩存再內(nèi)存。

為了加深讀者對(duì)CPU緩存和三級(jí)緩存的了解,這里用一個(gè)比喻來(lái)總結(jié)以上內(nèi)容。

如果我們把CPU中的一個(gè)核心可以看成是一個(gè)只會(huì)算加減乘除以及與或非之類(lèi)的簡(jiǎn)單邏輯運(yùn)算的小學(xué)生,它的任務(wù)也就是不停地算一個(gè)個(gè)的加減乘除與或非這樣的計(jì)算題。

CPU緩存有什么用?來(lái),科普一下!

CPU沒(méi)有存儲(chǔ)功能,那么緩存到底是干什么的?CPU緩存是用于減少處理器訪(fǎng)問(wèn)內(nèi)存所需平均時(shí)間的部件,作用類(lèi)似于CPU內(nèi)部的內(nèi)存。

更詳細(xì)來(lái)講,在計(jì)算機(jī)系統(tǒng)中,CPU高速緩存在金字塔式存儲(chǔ)體系中它位于自頂向下的第二層,僅次于CPU存放器。其容量遠(yuǎn)小于內(nèi)存,但速度卻可以接近處理器的頻率,比內(nèi)存快得多。

緩存的出現(xiàn)主要是為了解決CPU運(yùn)算速度與內(nèi)存讀寫(xiě)速度不匹配的矛盾,因?yàn)镃PU運(yùn)算速度要比內(nèi)存讀寫(xiě)速度快很多,這樣會(huì)使CPU花費(fèi)很長(zhǎng)時(shí)間等待數(shù)據(jù)到來(lái)或把數(shù)據(jù)寫(xiě)入內(nèi)存。

按照數(shù)據(jù)讀取順序和與CPU結(jié)合的緊密程度,CPU緩存可以分為一級(jí)緩存,二級(jí)緩存,局部高端CPU還具有三級(jí)緩存。

之所以CPU需要采用這種層級(jí)結(jié)構(gòu),主要就是是從本錢(qián)、性能、容量還有面積上來(lái)平衡的。

提升命中率:所謂的命中率是在高速緩存中找到內(nèi)存引用的速率,我們希望能夠首先通過(guò)緩存中獲得信息,以得到速度優(yōu)勢(shì),所以緩存需要最大限度地實(shí)現(xiàn)這一目標(biāo)。對(duì)于單個(gè)高速緩存,大小、關(guān)聯(lián)性和塊大小決定命中率。

降低更低級(jí)別內(nèi)存下的開(kāi)銷(xiāo):高速緩存是內(nèi)存層次結(jié)構(gòu)的一局部,其性能會(huì)影響其它性能,處理其它內(nèi)存花費(fèi)的時(shí)間越長(zhǎng),意味著系統(tǒng)性能越低,也就是說(shuō)盡可能讓處理在緩存中完成。

減少錯(cuò)失懲罰:緩存中不能命中是無(wú)法防止的事情,但是我們可以減少處理未命中所需的時(shí)間以獲得更好的處理器性能,通過(guò)提升命中率并通過(guò)應(yīng)用不同的優(yōu)化,能夠降低錯(cuò)失懲罰。

高速緩存是CPU中十分重要的局部,占據(jù)了大量的資源開(kāi)銷(xiāo)和本錢(qián),如果您看過(guò)CPU架構(gòu)圖的話(huà),您就會(huì)發(fā)現(xiàn)緩存占據(jù)了至少50%的面積,絕對(duì)至關(guān)重要。

CPU緩存是什么知道它挑選更明智

現(xiàn)在大家看到的CPU緩存一般分三級(jí),就是一級(jí)緩存(L1Cache)、二級(jí)緩存(L2Cache)和三級(jí)緩存(L3Cache),它們的位置、大小、作用差異都很大,咱們分別說(shuō)說(shuō)。

CPU的一級(jí)緩存一般做在CPU的每個(gè)核心內(nèi)部,因?yàn)榭臻g受限,不會(huì)很大,都是幾十kB。它們的任務(wù)是存儲(chǔ)核心計(jì)算時(shí)候的暫時(shí)性數(shù)據(jù),可以說(shuō)是每個(gè)核心自用的小內(nèi)存,更形象地說(shuō)就是給每個(gè)核心童鞋計(jì)算時(shí)配的草稿紙。

二級(jí)緩存同樣是跟著每個(gè)核心的,一般有幾百kB,它也只存儲(chǔ)每個(gè)核心自己的數(shù)據(jù),這點(diǎn)類(lèi)似更大但更慢的一級(jí)緩存。此外它存儲(chǔ)的是比較“成型〞的數(shù)據(jù)結(jié)果,這些數(shù)據(jù)要和三級(jí)緩存做交流的。形象地說(shuō),就是除了草稿之外,也存了不少核心童鞋需要處理和已經(jīng)做完,要上交的作業(yè)、試卷。

三級(jí)緩存可就大了,現(xiàn)在主流CPU的配備都是成MB的,一般是整個(gè)CPU或者其中的某幾個(gè)核心共用。它首先是多個(gè)核心的“會(huì)議桌〞,相互間的數(shù)據(jù)交換都在這里進(jìn)行,當(dāng)然內(nèi)置顯示核心也要使用。另外它也和硬盤(pán)等配件的緩存一樣,負(fù)責(zé)和內(nèi)存交換數(shù)據(jù)。

一般來(lái)說(shuō),英特爾和AMD的一、二級(jí)緩存容量差不多,但三級(jí)差異很大,比方同樣是中端CPU,銳龍5就有十幾、幾十MB的三級(jí)緩存,酷睿i5只有幾MB,高端就差更多了。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論