CPU二級(jí)緩存是什么
CPU大家都知道,是中央處理器,電腦的核心,那么,CPU二級(jí)緩存,大家了解嗎?學(xué)習(xí)啦小編在這里給大家介紹CPU二級(jí)緩存的相關(guān)知識(shí)。
雙核心CPU的二級(jí)緩存比較特殊,和以前的單核心CPU相比,最重要的就是兩個(gè)內(nèi)核的緩存所保存的數(shù)據(jù)要保持一致,否則就會(huì)出現(xiàn)錯(cuò)誤,為了解決這個(gè)問題不同的CPU使用了不同的辦法:
AMD雙核心處理器的二級(jí)緩存
Athlon 64 X2 CPU的核心主要有Manchester和Toledo兩種,他們的二級(jí)緩存都是CPU內(nèi)部兩個(gè)內(nèi)核具有互相獨(dú)立的二級(jí)緩存,其中,Manchester核心為每核心512KB,而Toledo核心為每核心1MB。處理器內(nèi)部的兩個(gè)內(nèi)核之間的緩存數(shù)據(jù)同步是依靠CPU內(nèi)置的System Request Interface(系統(tǒng)請求接口,SRI)控制,傳輸在CPU內(nèi)部即可實(shí)現(xiàn)。這樣一來,不但CPU資源占用很小,而且不必占用內(nèi)存總線資源,數(shù)據(jù)延遲也比Intel的Smithfield核心和Presler核心大為減少,協(xié)作效率明顯勝過這兩種核心。不過,由于這種方式仍然是兩個(gè)內(nèi)核的緩存相互獨(dú)立,從架構(gòu)上來看也明顯不如以Yonah核心為代表的Intel的共享緩存技術(shù)Smart Cache。
Intel雙核心處理器的二級(jí)緩存
目前Intel的雙核心CPU主要有Pentium D、Pentium EE、Core Duo三種,其中Pentium D、Pentium EE的二級(jí)緩存方式完全相同。Pentium D和Pentium EE的二級(jí)緩存都是CPU內(nèi)部兩個(gè)內(nèi)核具有互相獨(dú)立的二級(jí)緩存,其中,8xx系列的Smithfield核心CPU為每核心1MB,而9xx系列的Presler核心CPU為每核心2MB。這種CPU內(nèi)部的兩個(gè)內(nèi)核之間的緩存數(shù)據(jù)同步是依靠位于主板北橋芯片上的仲裁單元通過前端總線在兩個(gè)核心之間傳輸來實(shí)現(xiàn)的,所以其數(shù)據(jù)延遲問題比較嚴(yán)重,性能并不盡如人意。
Core Duo使用的核心為Yonah,它的二級(jí)緩存則是兩個(gè)核心共享2MB的二級(jí)緩存,共享式的二級(jí)緩存配合Intel的“Smart cache”共享緩存技術(shù),實(shí)現(xiàn)了真正意義上的緩存數(shù)據(jù)同步,大幅度降低了數(shù)據(jù)延遲,減少了對(duì)前端總線的占用,性能表現(xiàn)不錯(cuò),是目前雙核心處理器上最先進(jìn)的二級(jí)緩存架構(gòu)。今后Intel的雙核心處理器的二級(jí)緩存都會(huì)采用這種兩個(gè)內(nèi)核共享二級(jí)緩存的“Smart cache”共享緩存技術(shù)。
CPU緩存(Cache Memoney)位于CPU與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(nèi)存小但交換速度快。在緩存中的數(shù)據(jù)是內(nèi)存中的一小部分,但這一小部分是短時(shí)間內(nèi)CPU即將訪問的,當(dāng)CPU調(diào)用大量數(shù)據(jù)時(shí),就可避開內(nèi)存直接從緩存中調(diào)用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個(gè)內(nèi)存儲(chǔ)器(緩存+內(nèi)存)就變成了既有緩存的高速度,又有內(nèi)存的大容量的存儲(chǔ)系統(tǒng)了。緩存對(duì)CPU的性能影響很大,主要是因?yàn)镃PU的數(shù)據(jù)交換順序和CPU與緩存間的帶寬引起的。
緩存的工作原理是當(dāng)CPU要讀取一個(gè)數(shù)據(jù)時(shí),首先從緩存中查找,如果找到就立即讀取并送給CPU處理;如果沒有找到,就用相對(duì)慢的速度從內(nèi)存中讀取并送給CPU處理,同時(shí)把這個(gè)數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入緩存中,可以使得以后對(duì)整塊數(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)存的時(shí)間,也使CPU讀取數(shù)據(jù)時(shí)基本無需等待??偟膩碚f,CPU讀取數(shù)據(jù)的順序是先緩存后內(nèi)存。
最早先的CPU緩存是個(gè)整體的,而且容量很低,英特爾公司從Pentium時(shí)代開始把緩存進(jìn)行了分類。當(dāng)時(shí)集成在CPU內(nèi)核中的緩存已不足以滿足CPU的需求,而制造工藝上的限制又不能大幅度提高緩存的容量。因此出現(xiàn)了集成在與CPU同一塊電路板上或主板上的緩存,此時(shí)就把 CPU內(nèi)核集成的緩存稱為一級(jí)緩存,而外部的稱為二級(jí)緩存。一級(jí)緩存中還分?jǐn)?shù)據(jù)緩存(I-Cache)和指令緩存(D-Cache)。二者分別用來存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令,而且兩者可以同時(shí)被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。英特爾公司在推出Pentium 4處理器時(shí),還新增了一種一級(jí)追蹤緩存,容量為12KB.
隨著CPU制造工藝的發(fā)展,二級(jí)緩存也能輕易的集成在CPU內(nèi)核中,容量也在逐年提升?,F(xiàn)在再用集成在CPU內(nèi)部與否來定義一、二級(jí)緩存,已不確切。而且隨著二級(jí)緩存被集成入CPU內(nèi)核中,以往二級(jí)緩存與CPU大差距分頻的情況也被改變,此時(shí)其以相同于主頻的速度工作,可以為CPU提供更高的傳輸速度。
二級(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ù)測將要執(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的效率。
為了保證CPU訪問時(shí)有較高的命中率,緩存中的內(nèi)容應(yī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ù)淘汰出緩存,提高緩存的利用率。
CPU產(chǎn)品中,一級(jí)緩存的容量基本在4KB到18KB之間,二級(jí)緩存的容量則分為128KB、256KB、512KB、1MB等。一級(jí)緩存容量各產(chǎn)品之間相差不大,而二級(jí)緩存容量則是提高CPU性能的關(guān)鍵。二級(jí)緩存容量的提升是由CPU制造工藝所決定的,容量增大必然導(dǎo)致CPU內(nèi)部晶體管數(shù)的增加,要在有限的CPU面積上集成更大的緩存,對(duì)制造工藝的要求也就越高。
CPU二級(jí)緩存是什么
上一篇:CPU扣肉是什么
下一篇:CPU前端總線是什么