CPU維修知識(shí)
更多

CPU緩存對(duì)CPU性能的影響

作者:佚名    文章來(lái)源:不詳    點(diǎn)擊數(shù):    更新時(shí)間:2011/6/16
    核心提示:CPU緩存是什么?CPU緩存有什么用?CPU緩存多大才好?這是很多朋友在選購(gòu)CPU時(shí)會(huì)考慮到的問(wèn)題。CPU緩存(CacheMemory)是位于CPU與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(nèi)存小的多但是交換

  CPU緩存是什么?CPU緩存有什么用?CPU緩存多大才好?這是很多朋友在選購(gòu)CPU時(shí)會(huì)考慮到的問(wèn)題。CPU緩存(Cache Memory)是位于CPU與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(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)存。下面我們來(lái)詳細(xì)說(shuō)說(shuō)CPU緩存對(duì)CPU性能的影響。

 

  緩存的工作原理是當(dāng)CPU要讀取一個(gè)數(shù)據(jù)時(shí),首先從緩存中查找,如果找到就立即讀取并送給CPU處理;如果沒(méi)有找到,就用相對(duì)慢的速度從內(nèi)存中讀取并送給CPU處理,同時(shí)把這個(gè)數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入緩存中,可以使得以后對(duì)整塊數(shù)據(jù)的讀取都從緩存中進(jìn)行,不必再調(diào)用內(nèi)存。

     

CPU緩存對(duì)CPU性能的影響 

處理器緩存工作原理

  正是這樣的讀取機(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緩存對(duì)CPU性能的影響 
處理器緩存構(gòu)造

CPU緩存對(duì)CPU性能的影響

L2級(jí)緩存

  緩存大小是CPU的重要指標(biāo)之一,而且緩存的結(jié)構(gòu)和大小對(duì)CPU速度的影響非常大,CPU內(nèi)緩存的運(yùn)行頻率極高,一般是和處理器同頻運(yùn)作,工作效率遠(yuǎn)遠(yuǎn)大于系統(tǒng)內(nèi)存和硬盤(pán)。實(shí)際工作時(shí),CPU往往需要重復(fù)讀取同樣的數(shù)據(jù)塊,而緩存容量的增大,可以大幅度提升CPU內(nèi)部讀取數(shù)據(jù)的命中率,而不用再到內(nèi)存或者硬盤(pán)上尋找,以此提高系統(tǒng)性能。但是由于CPU芯片面積和成本的因素來(lái)考慮,緩存都很小。

 

  L1 Cache(一級(jí)緩存)是CPU第一層高速緩存,分為數(shù)據(jù)緩存和指令緩存。內(nèi)置的L1高速緩存的容量和結(jié)構(gòu)對(duì)CPU的性能影響較大,不過(guò)高速緩沖存儲(chǔ)器均由靜態(tài)RAM組成,結(jié)構(gòu)較復(fù)雜,在CPU管芯面積不能太大的情況下,L1級(jí)高速緩存的容量不可能做得太大。一般服務(wù)器CPU的L1緩存的容量通常在32—256KB。

  L2 Cache(二級(jí)緩存)是CPU的第二層高速緩存,分內(nèi)部和外部?jī)煞N芯片。內(nèi)部的芯片二級(jí)緩存運(yùn)行速度與主頻相同,而外部的二級(jí)緩存則只有主頻的一半。L2高速緩存容量也會(huì)影響CPU的性能,原則是越大越好,現(xiàn)在家庭用CPU容量最大的是4MB,而服務(wù)器和工作站上用CPU的L2高速緩存更高達(dá)2MB—4MB,有的高達(dá)8MB或者19MB。

  L3 Cache(三級(jí)緩存),分為兩種,早期的是外置,現(xiàn)在的都是內(nèi)置的。而它的實(shí)際作用即是,L3緩存的應(yīng)用可以進(jìn)一步降低內(nèi)存延遲,同時(shí)提升大數(shù)據(jù)量計(jì)算時(shí)處理器的性能。降低內(nèi)存延遲和提升大數(shù)據(jù)量計(jì)算能力對(duì)游戲都很有幫助。而在服務(wù)器領(lǐng)域增加L3緩存在性能方面仍然有顯著的提升。比方具有較大L3緩存的配置利用物理內(nèi)存會(huì)更有效,故它比較慢的磁盤(pán)I/O子系統(tǒng)可以處理更多的數(shù)據(jù)請(qǐng)求。具有較大L3緩存的處理器提供更有效的文件系統(tǒng)緩存行為及較短消息和處理器隊(duì)列長(zhǎng)度。

  其實(shí)最早的L3緩存被應(yīng)用在AMD發(fā)布的K6-III處理器上,當(dāng)時(shí)的L3緩存受限于制造工藝,并沒(méi)有被集成進(jìn)芯片內(nèi)部,而是集成在主板上。在只能夠和系統(tǒng)總線(xiàn)頻率同步的L3緩存同主內(nèi)存其實(shí)差不了多少。后來(lái)使用L3緩存的是英特爾為服務(wù)器市場(chǎng)所推出的Itanium處理器。接著就是P4EE和至強(qiáng)MP。Intel還打算推出一款9MB L3緩存的Itanium2處理器,和以后24MB L3緩存的雙核心Itanium2處理器。

  但基本上L3緩存對(duì)處理器的性能提高顯得不是很重要,比方配備1MB L3緩存的Xeon MP處理器卻仍然不是Opteron的對(duì)手,由此可見(jiàn)前端總線(xiàn)的增加,要比緩存增加帶來(lái)更有效的性能提升。

 

       CPU高速緩存的工作原理

 

  1、讀取順序

  CPU要讀取一個(gè)數(shù)據(jù)時(shí),首先從Cache中查找,如果找到就立即讀取并送給CPU處理;如果沒(méi)有找到,就用相對(duì)慢的速度從內(nèi)存中讀取并送給CPU處理,同時(shí)把這個(gè)數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入Cache中,可以使得以后對(duì)整塊數(shù)據(jù)的讀取都從Cache中進(jìn)行,不必再調(diào)用內(nèi)存。

  正是這樣的讀取機(jī)制使CPU讀取Cache的命中率非常高(大多數(shù)CPU可達(dá)90%左右),也就是說(shuō)CPU下一次要讀取的數(shù)據(jù)90%都在Cache中,只有大約10%需要從內(nèi)存讀取。這大大節(jié)省了CPU直接讀取內(nèi)存的時(shí)間,也使CPU讀取數(shù)據(jù)時(shí)基本無(wú)需等待。總的來(lái)說(shuō),CPU讀取數(shù)據(jù)的順序是先Cache后內(nèi)存。

  2、緩存分類(lèi)

  前面是把Cache作為一個(gè)整體來(lái)考慮的,現(xiàn)在要分類(lèi)分析了。Intel從Pentium開(kāi)始將Cache分開(kāi),通常分為一級(jí)高速緩存L1和二級(jí)高速緩存L2。在以往的觀念中,L1 Cache是集成在CPU中的,被稱(chēng)為片內(nèi)Cache。在L1中還分?jǐn)?shù)據(jù)Cache(D-Cache)和指令Cache(I-Cache)。它們分別用來(lái)存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,而且兩個(gè)Cache可以同時(shí)被CPU訪(fǎng)問(wèn),減少了爭(zhēng)用Cache所造成的沖突,提高了處理器效能。

  在P4處理器中使用了一種先進(jìn)的一級(jí)指令Cache——動(dòng)態(tài)跟蹤緩存。它直接和執(zhí)行單元及動(dòng)態(tài)跟蹤引擎相連,通過(guò)動(dòng)態(tài)跟蹤引擎可以很快地找到所執(zhí)行的指令,并且將指令的順序存儲(chǔ)在追蹤緩存里,這樣就減少了主執(zhí)行循環(huán)的解碼周期,提高了處理器的運(yùn)算效率。

  以前的L2 Cache沒(méi)集成在CPU中,而在主板上或與CPU集成在同一塊電路板上,因此也被稱(chēng)為片外Cache。但從PⅢ開(kāi)始,由于工藝的提高L2 Cache被集成在CPU內(nèi)核中,以相同于主頻的速度工作,結(jié)束了L2 Cache與CPU大差距分頻的歷史,使L2 Cache與L1 Cache在性能上平等,得到更高的傳輸速度。L2Cache只存儲(chǔ)數(shù)據(jù),因此不分?jǐn)?shù)據(jù)Cache和指令Cache。在CPU核心不變化的情況下,增加L2 Cache的容量能使性能提升,同一核心的CPU高低端之分往往也是在L2 Cache上做手腳,可見(jiàn)L2 Cache的重要性。現(xiàn)在CPU的L1 Cache與L2 Cache惟一區(qū)別在于讀取順序。

  3、讀取命中率

  CPU在Cache中找到有用的數(shù)據(jù)被稱(chēng)為命中,當(dāng)Cache中沒(méi)有CPU所需的數(shù)據(jù)時(shí)(這時(shí)稱(chēng)為未命中),CPU才訪(fǎng)問(wèn)內(nèi)存。從理論上講,在一顆擁有2級(jí)Cache的CPU中,讀取L1 Cache的命中率為80%。也就是說(shuō)CPU從L1 Cache中找到的有用數(shù)據(jù)占數(shù)據(jù)總量的80%,剩下的20%從L2 Cache讀取。由于不能準(zhǔn)確預(yù)測(cè)將要執(zhí)行的數(shù)據(jù),讀取L2的命中率也在80%左右(從L2讀到有用的數(shù)據(jù)占總數(shù)據(jù)的16%)。那么還有的數(shù)據(jù)就不得不從內(nèi)存調(diào)用,但這已經(jīng)是一個(gè)相當(dāng)小的比例了。在一些高端領(lǐng)域的CPU(像Intel的Itanium)中,我們常聽(tīng)到L3 Cache,它是為讀取L2 Cache后未命中的數(shù)據(jù)設(shè)計(jì)的—種Cache,在擁有L3 Cache的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率。

  為了保證CPU訪(fǎng)問(wèn)時(shí)有較高的命中率,Cache中的內(nèi)容應(yīng)該按一定的算法替換。一種較常用的算法是“最近最少使用算法”(LRU算法),它是將最近一段時(shí)間內(nèi)最少被訪(fǎng)問(wèn)過(guò)的行淘汰出局。因此需要為每行設(shè)置一個(gè)計(jì)數(shù)器,LRU算法是把命中行的計(jì)數(shù)器清零,其他各行計(jì)數(shù)器加1。當(dāng)需要替換時(shí)淘汰行計(jì)數(shù)器計(jì)數(shù)值最大的數(shù)據(jù)行出局。這是一種高效、科學(xué)的算法,其計(jì)數(shù)器清零過(guò)程可以把一些頻繁調(diào)用后再不需要的數(shù)據(jù)淘汰出Cache,提高Cache的利用率。 緩存技術(shù)的發(fā)展

 

  總之,在傳輸速度有較大差異的設(shè)備間都可以利用Cache作為匹配來(lái)調(diào)節(jié)差距,或者說(shuō)是這些設(shè)備的傳輸通道。在顯示系統(tǒng)、硬盤(pán)和光驅(qū),以及網(wǎng)絡(luò)通訊中,都需要使用Cache技術(shù)。但Cache均由靜態(tài)RAM組成,結(jié)構(gòu)復(fù)雜,成本不菲,使用現(xiàn)有工藝在有限的面積內(nèi)不可能做得很大,不過(guò),這也正是技術(shù)前進(jìn)的源動(dòng)力,有需要才有進(jìn)步!

關(guān)于我們 - 辦學(xué)優(yōu)勢(shì) - 培訓(xùn)課程 - 師資力量 - 培訓(xùn)費(fèi)用 - 聯(lián)系我們 - 乘車(chē)路線(xiàn) - 網(wǎng)站地圖 - SiteMap - Article
欧美午夜三级福利片在线,欧美色欧美亚洲高清在线视频,欧美人与欧美福利视频,欧美.另类亚洲日本一区二区
亚洲最大日韩中文字幕另类 | 日韩欧美国产一线 | 日本一区二区三区精品无卡 | 亚洲性爱免费视频在线 | 日本日本乱码伦不卡视频 | 亚洲无线码在线高清 |