本文主要是關(guān)于amd二級緩存的介紹,探討了二級緩存的大小及其選擇范圍,希望通過本文能讓你對二級緩存有更深的了解。
二級緩存
緩存的工作原理是當(dāng)CPU要讀取一個數(shù)據(jù)時,首先從緩存中查找,如果找到就立即讀取并送給CPU處理;如果沒有找到,就用相對慢的速度從內(nèi)存中讀取并送給CPU處理,同時把這個數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入緩存中,可以使得以后對整塊數(shù)據(jù)的讀取都從緩存中進(jìn)行,不必再調(diào)用內(nèi)存。
正是這樣的讀取機(jī)制使CPU讀取緩存的命中率非常高(大多數(shù)CPU可達(dá)90%左右),也就是說CPU下一次要讀取的數(shù)據(jù)90%都在緩存中,只有大約10%需要從內(nèi)存讀取。這大大節(jié)省了CPU直接讀取內(nèi)存的時間,也使CPU讀取數(shù)據(jù)時基本無需等待。總的來說,CPU讀取數(shù)據(jù)的順序是先緩存后內(nèi)存。 最早先的CPU緩存是個整體的,而且容量很低,英特爾公司從Pentium時代開始把緩存進(jìn)行了分類。當(dāng)時集成在CPU內(nèi)核中的緩存已不足以滿足CPU的需求,而制造工藝上的限制又不能大幅度提高緩存的容量。因此出現(xiàn)了集成在與CPU同一塊電路板上或主板上的緩存,此時就把 CPU內(nèi)核集成的緩存稱為一級緩存,而外部的稱為二級緩存。一級緩存中還分?jǐn)?shù)據(jù)緩存(Data Cache,D-Cache)和指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。
amd二級緩存多少比較好
AMD處理器處理器數(shù)據(jù)時采用有續(xù)處理,處理器一個接一個的處理,不是隨機(jī)的。每個數(shù)據(jù)幾乎都直接來自于L2,因?yàn)長2的大小是有限的,當(dāng)單個數(shù)據(jù)的大小超過L2的時候,只有訪問內(nèi)存,或者是上一個數(shù)據(jù)關(guān)聯(lián)的數(shù)據(jù)在內(nèi)存中的時候,AMD才需要訪問內(nèi)存。
舉例說明:AMD的的處理方式像從倉庫搬東西,L2是個小倉庫,內(nèi)存是大倉庫,從小倉庫L2中搬東西的速度最快,處理器每次訪問數(shù)據(jù)都直接從小倉庫中版,但是偶爾也回遇到些情況,就是要搬的東西實(shí)在太大了,小倉庫裝不了,那么只有從大倉庫搬了。
由于AMD的有續(xù)處理方式,對L2的需求只需要看單個數(shù)據(jù)的大小。當(dāng)L2能滿足大多數(shù)單個數(shù)據(jù)的時候,提升L2就沒有什么必要了。
cpu要處理的單個數(shù)據(jù)中0-64kb占50%,64-128kb的占25%,128-256kb占15%,256-512占8%,剩下的2%才是大于512kb的。
當(dāng)512kb就能滿足絕大多說要求的時候,沒有必要為了提升很小的性能,來增加很多的成本,所以512k就夠了。
而Intel在處理器上設(shè)計(jì)的時候是采取亂處理模式的,意思是,intel的處理器在要處理一個數(shù)據(jù)的時候是隨機(jī)選擇一個數(shù)據(jù)來處理,當(dāng)這個數(shù)據(jù)在L2中的時候,則直接從L2中讀取,不在L2中的時候,則需要訪問內(nèi)存。要知道L2的速度比內(nèi)存快很多,因此,intel很需要增大L2的容量,來提高cpu整體能力。
舉例說明:
intel的處理器像一個人在投飛標(biāo),紅心就是L2,其他地方是內(nèi)存,飛標(biāo)是隨便投的,投到每個地方的幾率相同。要想投中高速的紅心面積的幾率增加,那么最直接的好辦法就是增加紅心的面積,就是增大L2。因此intel的處理器顯得特別要大的L2。
amd二級緩存的選擇范圍
AMD和Intel:巨大差異皆因設(shè)計(jì)不同
提到二級緩存容量的差距,還得從兩大CPU巨頭對一級緩存的理解說起。對,沒看錯,就是平常曝光率遠(yuǎn)遜于二級緩存的“一級緩存”!它才是造成上面提到巨大差異的“罪魁禍?zhǔn)住薄?/p>
現(xiàn)今的CPU中,Intel對一級緩存的理解是“數(shù)據(jù)代碼指令追蹤緩存”,即是說一級緩存中存儲的其實(shí)只是二級緩存中數(shù)據(jù)和指令的地址,而不是這些數(shù)據(jù)和指令的復(fù)制。二級緩存的容量相當(dāng)程度上影響了IntelCPU的性能。
相比之下,AMD對一級緩存的定位是“實(shí)數(shù)據(jù)讀寫緩存”,即二級緩存中的一部分?jǐn)?shù)據(jù)都要在一定的規(guī)則下搬到一級緩存中。
不僅在一級緩存的工作方式上有區(qū)別,而且AMD的CPU在一級緩存的大小上還占有優(yōu)勢,以AMDAthlon64X26000+AM2(盒)為例,兩個內(nèi)核各配備64KB數(shù)據(jù)高速緩存、64KB指令高速緩存。而價格稍高的IntelCore2DuoE6320(三年盒),兩個內(nèi)核各配備32KB數(shù)據(jù)高速緩存、32KB指令高速緩存。
當(dāng)然,上面只是Intel的AMD的CPU二級緩存巨大差異的主要原因。事實(shí)上CPU對二級緩存容量的“敏感”與否還受到諸如內(nèi)存控制器,流水線長度、頻率、總線架構(gòu)和指令集等等多方面的影響。在多核CPU中還關(guān)乎各個物理內(nèi)核之間的數(shù)據(jù)交換問題。
在多核心CPU中,對二級緩存的利用效率有高有低。簡單的說,Intel新一代Core架構(gòu)二級緩存的利用最為優(yōu)秀,AMD的AthlonX2系列次之,較老的PentiumD(PentiumEE)系列最差。
幾年時間里,二級緩存從小小的64KB一舉增長到了8MB,整整128倍!越來越大的二級緩存是不是真的換來了CPU性能同樣“突飛猛進(jìn)”發(fā)展?還是只不過是Intel和AMD聯(lián)手玩的數(shù)字游戲?
其實(shí),二級緩存容量對性能的影響是漸漸減弱的,當(dāng)二級緩存從沒有增長到128KB時,帶來的性能提升可能是直線上升的。但是當(dāng)它從2MB增長到4MB的時候,可能使用者甚至感覺不到性能的提升。這是因?yàn)樵诋?dāng)前CPU所處理數(shù)據(jù)的過程中,幾乎無時不刻需要用到128KB以下的緩存,但是需要用到1MB以上緩存的時候很少(2%左右)。因此雖然二級緩存越漲越大,實(shí)際上對CPU性能的影響卻是越來越小的。像文章開頭的兩款CPU,二級緩存巨大的差異并不會最終表現(xiàn)在CPU速度上。因此,完全不必要盲目追求二級緩存的高容量,夠用就好。
二級緩存的利用率
概述
CPU在緩存中找到有用的數(shù)據(jù)被稱為命中,當(dāng)緩存中沒有CPU所需的數(shù)據(jù)時(這時稱為未命中),CPU才訪問內(nèi)存。從理論上講,在一顆擁有二級緩存的CPU中,讀取一級緩存的命中率為80%。也就是說CPU一級緩存中找到的有用數(shù)據(jù)占數(shù)據(jù)總量的80%,剩下的20%從二級緩存中讀取。由于不能準(zhǔn)確預(yù)測將要執(zhí)行的數(shù)據(jù),讀取二級緩存的命中率也在80%左右(從二級緩存讀到有用的數(shù)據(jù)占總數(shù)據(jù)的16%)。那么還有的數(shù)據(jù)就不得不從內(nèi)存調(diào)用,但這已經(jīng)是一個相當(dāng)小的比例了。較高端的CPU中,還會帶有三級緩存,它是為讀取二級緩存后未命中的數(shù)據(jù)設(shè)計(jì)的—種緩存,在擁有三級緩存的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率。
為了保證CPU訪問時有較高的命中率,緩存中的內(nèi)容應(yīng)該按一定的算法替換。一種較常用的算法是“最近最少使用算法”(LRU算法),它是將固定時間內(nèi)最少被訪問過的行淘汰出局。因此需要為每行設(shè)置一個計(jì)數(shù)器,LRU算法是把命中行的計(jì)數(shù)器清零,其他各行計(jì)數(shù)器加1。當(dāng)需要替換時淘汰行計(jì)數(shù)器計(jì)數(shù)值最大的數(shù)據(jù)行出局。這是一種高效、科學(xué)的算法,其計(jì)數(shù)器清零過程可以把一些頻繁調(diào)用后再不需要的數(shù)據(jù)淘汰出緩存,提高緩存的利用率。
處理器緩存
所謂處理器緩存,通常指的是二級高速緩存,或外部高速緩存。即高速緩沖存儲器,是位于CPU和主存儲器DRAM(Dynamic RAM)之間的規(guī)模較小的但速度很高的存儲器,通常由SRAM(靜態(tài)隨機(jī)存儲器)組成。用來存放那些被CPU頻繁使用的數(shù)據(jù),以便使CPU不必依賴于速度較慢的DRAM(動態(tài)隨機(jī)存儲器)。L2高速緩存一直都屬于速度極快而價格也相當(dāng)昂貴的一類內(nèi)存,稱為SRAM(靜態(tài)RAM),SRAM(Static RAM)是靜態(tài)存儲器的英文縮寫。由于SRAM采用了與制作CPU相同的半導(dǎo)體工藝,因此與動態(tài)存儲器DRAM比較,SRAM的存取速度快,但體積較大,價格很高。
品牌差異
實(shí)際上,Intel和AMD處理器在一級緩存的邏輯結(jié)構(gòu)設(shè)計(jì)上有所不同,所以二級緩存對CPU性能的影響也不盡相同。因?yàn)镃PU讀取的數(shù)據(jù)(包括指令)中有80%的數(shù)據(jù)來自一級緩存,所以一級緩存的邏輯結(jié)構(gòu)決定了CPU二級緩存容量對CPU性能的影響。Intel的Pentium 4及Celeron系列處理器的一級數(shù)據(jù)緩存被稱為“數(shù)據(jù)代碼指令追蹤(讀寫)緩存”;AMD的Athlon 64/Athlon XP/Sempron/Duron系列處理器 的一級數(shù)據(jù)緩存叫作“實(shí)數(shù)據(jù)讀寫緩存”。
結(jié)語
關(guān)于amd二級緩存的相關(guān)介紹就到這了,如有不足之處歡迎指正。
評論