菜鳥成長(zhǎng)手冊(cè):緩存對(duì)CPU性能影響四大誤區(qū)

處理器緩存的傳輸速率確實(shí)很高,然而還不足以取代內(nèi)存的地位,這主要是由于緩存只是內(nèi)存中少部分?jǐn)?shù)據(jù)的復(fù)制品,所以CPU到緩存中尋找數(shù)據(jù)時(shí),也會(huì)出現(xiàn)找不到的情況(因?yàn)檫@些數(shù)據(jù)沒有從內(nèi)存復(fù)制到緩存中去),這時(shí)CPU還是會(huì)到內(nèi)存中去找數(shù)據(jù)。與此同時(shí)系統(tǒng)的速度就慢了下來,不過CPU會(huì)把這些數(shù)據(jù)復(fù)制到緩存中去,以便下一次不用再到內(nèi)存中去取。就目前緩存容量、成本以及功耗表現(xiàn)來看,還遠(yuǎn)遠(yuǎn)無法與內(nèi)存抗衡,另外從某種意義上來說,內(nèi)存也是處理器緩存的一種表現(xiàn)形式,只不過在速率上慢很多,然而卻在容量、功耗以及成本方面擁有巨大優(yōu)勢(shì)。如果內(nèi)存在將來可以做到足夠強(qiáng)的話,反而很有取代處理器緩存的可能。
錯(cuò)誤觀點(diǎn)二:處理器緩存是一個(gè)整體
【圖】生產(chǎn)技術(shù)對(duì)緩存容量大小的影響
【圖】PCB上帶緩存的PentiumIII處理器
事實(shí)上最早先的CPU緩存確實(shí)是個(gè)整體,而且容量也很低。英特爾公司從Pentium時(shí)代開始后就把緩存進(jìn)行了分類,當(dāng)時(shí)集成在CPU內(nèi)核中的緩存已不足以滿足CPU的需求,而制造工藝上的限制又不能大幅度提高緩存的容量。因此出現(xiàn)了集成在與CPU同一塊電路板上或主板上的緩存,此時(shí)就把CPU內(nèi)核集成的緩存稱為一級(jí)緩存,而外部的稱為二級(jí)緩存;后來隨著生產(chǎn)技術(shù)的不斷提高,最終二級(jí)緩存也被挪進(jìn)了處理器當(dāng)中。通常一級(jí)緩存中還分?jǐn)?shù)據(jù)緩存(Data Cache,D-Cache)和指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,而且兩者可以同時(shí)被CPU訪問,減少了爭(zhēng)用Cache所造成的沖突,提高了處理器效能。英特爾公司在推出Pentium 4處理器時(shí),還新增了一種一級(jí)追蹤緩存,容量為12KB。
錯(cuò)誤觀點(diǎn)三:L1級(jí)緩存和L2級(jí)緩存只有容量上的差別
用于存儲(chǔ)數(shù)據(jù)的緩存部分通常被稱為RAM,掉電以后其中的信息就會(huì)消失。RAM又分兩種,其中一種是靜態(tài)RAM(SRAM);另外一種是動(dòng)態(tài)RAM(DRAM)。前者的存儲(chǔ)速度要比后者快得多,我們現(xiàn)在使用的內(nèi)存一般都是動(dòng)態(tài)RAM。處理器的L1級(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ò)大原來的靜態(tài)RAM緩存容量的情況下,僅僅增加一些高速動(dòng)態(tài)RAM做為L(zhǎng)2級(jí)緩存。高速動(dòng)態(tài)RAM速度要比常規(guī)動(dòng)態(tài)RAM快,但比原來的靜態(tài)RAM緩存慢,而且成本也較為適中。一級(jí)緩存和二級(jí)緩存中的內(nèi)容都是內(nèi)存中訪問頻率高的數(shù)據(jù)的復(fù)制品(映射),它們的存在都是為了減少高速CPU對(duì)慢速內(nèi)存的訪問。
二級(jí)緩存是CPU性能表現(xiàn)的關(guān)鍵之一,在CPU核心不變化的情況下,增加二級(jí)緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級(jí)緩存上存在差異,由此可見二級(jí)緩存對(duì)CPU的重要性。CPU在緩存中找到有用的數(shù)據(jù)被稱為命中,當(dāng)緩存中沒有CPU所需的數(shù)據(jù)時(shí)(這時(shí)稱為未命中),CPU才訪問內(nèi)存。從理論上講,在一顆擁有二級(jí)緩存的CPU中,讀取一級(jí)緩存的命中率為80%。也就是說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的效率,從某種意義上說,預(yù)取效率的提高,大大降低了生產(chǎn)成本卻提供了非常接近理想狀態(tài)的性能。除非某天生產(chǎn)技術(shù)變得非常強(qiáng),否則內(nèi)存仍會(huì)存在,緩存的性能遞增特性也仍會(huì)保留。
錯(cuò)誤觀點(diǎn)四:緩存只是隨意調(diào)取數(shù)據(jù)并無選擇
即便處理器內(nèi)部集成的緩存數(shù)據(jù)交換能力非常強(qiáng),也仍需要對(duì)調(diào)取數(shù)據(jù)做一定的篩選。這是因?yàn)殡S著時(shí)間的變化,被訪問得最頻繁的數(shù)據(jù)不是一成不變的,也就是說,剛才還不頻繁的數(shù)據(jù),此時(shí)已經(jīng)需要被頻繁的訪問,剛才還是最頻繁的數(shù)據(jù),現(xiàn)在又不頻繁了,所以說緩存中的數(shù)據(jù)要經(jīng)常按照一定的算法來更換,這樣才能保證緩存中的數(shù)據(jù)經(jīng)常是被訪問最頻繁的。命中率算法中較常用的“最近最少使用算法”(LRU算法),它是將最近一段時(shí)間內(nèi)最少被訪問過的行淘汰出局。因此需要為每行設(shè)置一個(gè)計(jì)數(shù)器,LRU算法是把命中行的計(jì)數(shù)器清零,其他各行計(jì)數(shù)器加1。當(dāng)需要替換時(shí)淘汰行計(jì)數(shù)器計(jì)數(shù)值最大的數(shù)據(jù)行出局。這是一種高效、科學(xué)的算法,其計(jì)數(shù)器清零過程可以把一些頻繁調(diào)用后再不需要的數(shù)據(jù)淘汰出緩存,提高緩存的利用率。
【圖】擁有144MB緩存的八路IBM POWER5處理器
總結(jié):
高速緩存做為處理器不可分割的一部分,已經(jīng)融入到性能提升的考慮因素當(dāng)中,伴隨生產(chǎn)技術(shù)的進(jìn)一步發(fā)展,緩存的級(jí)數(shù)還將增加,容量也會(huì)進(jìn)一步提高。作為處理器性能助推器的高速緩存,仍會(huì)在成本和功耗控制發(fā)揮巨大的優(yōu)勢(shì),而性能方面也會(huì)有長(zhǎng)足的發(fā)展??梢院敛豢鋸埖恼f:緩存技術(shù)帶領(lǐng)處理器走進(jìn)了多彩的天堂。
相關(guān)文章
CPU型號(hào)、主頻、緩存、插槽接口類型等參數(shù)怎么查看?
CPU型號(hào)、主頻、緩存、插槽接口類型等參數(shù)怎么查看?對(duì)于購(gòu)買電腦的朋友,這些都要查看,那么怎么查看呢?下面小編就為大家詳細(xì)介紹一下,一起來看看吧2015-11-05cpu中一級(jí)緩存是什么及數(shù)據(jù)緩存設(shè)計(jì)介紹
一級(jí)緩存都內(nèi)置在CPU內(nèi)部并與CPU同速運(yùn)行,可以有效的提高CPU的運(yùn)行效率,下面為大家介紹下一級(jí)緩存的分類及數(shù)據(jù)緩存設(shè)計(jì),感興趣的朋友可以參考下哈,希望對(duì)你有所幫助2013-05-08- 三級(jí)緩存是為讀取二級(jí)緩存后未命中的數(shù)據(jù)設(shè)計(jì)的—種緩存,在擁有三級(jí)緩存的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率,下面為大家介紹下其分類及性2013-05-08
CPU三級(jí)緩存的作用 二級(jí)緩存和三級(jí)緩存有什么區(qū)別
最近有網(wǎng)友詢問CPU的三級(jí)緩存是什么意思,有什么用呢?針對(duì)此類細(xì)節(jié)問題,下面小編與大家做個(gè)簡(jiǎn)單介紹,感興趣的你可不要錯(cuò)過了哈,希望本文知識(shí)點(diǎn)可以幫助到你2013-02-22- CPU緩存(Cache Memory)是位于CPU與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(nèi)存小但交換速度快。在緩存中的數(shù)據(jù)是內(nèi)存中的一小部分,但這一小部分是短時(shí)間內(nèi)CPU即將訪問的,當(dāng)C2012-12-27
- 本文詳細(xì)的介紹了CPU三級(jí)緩存的作用2012-11-17
- 一客戶送修一臺(tái)電腦,配置如下:賽揚(yáng)800MHz的CPU,QDI693A主板,HY128MB內(nèi)存,邁拓20GB硬盤。故障現(xiàn)象表現(xiàn)為開機(jī)自檢完成后無法進(jìn)入操作系統(tǒng),即電腦顯示“Verifying2010-09-08
- 在電腦城看到了一顆叫BE 2300的AMD X2 CPU,問老板他也說不出什么所以然來,請(qǐng)問這塊CPU的型號(hào)是怎么回事,有什么特別的地方嗎? 【答】:BE-2300是Athlon X22009-04-21
- 現(xiàn)代桌面級(jí)PC的CPU二級(jí)緩存容量大多數(shù)在64KB到2MB之間。因?yàn)镃PU二級(jí)緩存容量對(duì)CPU性能有不小的影響,所以低端CPU和中高端CPU在物理結(jié)構(gòu)上的差異主要就是二級(jí)緩存容量的2009-04-21
- 說到CPU,不得不說的就是CPU緩存,目前CPU的緩存已經(jīng)成了衡量CPU性能的一個(gè)必要指標(biāo),那么CPU緩存到底對(duì)CPU性能的影響有多大呢? 我們知道,CPU執(zhí)行指令時(shí),會(huì)將執(zhí)行結(jié)果2009-04-21