一級(jí)緩存、二級(jí)緩存、三級(jí)緩存區(qū)別_第1頁
一級(jí)緩存、二級(jí)緩存、三級(jí)緩存區(qū)別_第2頁
一級(jí)緩存、二級(jí)緩存、三級(jí)緩存區(qū)別_第3頁
一級(jí)緩存、二級(jí)緩存、三級(jí)緩存區(qū)別_第4頁
一級(jí)緩存、二級(jí)緩存、三級(jí)緩存區(qū)別_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一級(jí)緩存、二級(jí)緩存、三級(jí)緩存是什么?作用?區(qū)別?首先簡(jiǎn)單了解一下一級(jí)緩存。目前所有主流處理器大都具有一級(jí)緩存和二級(jí)緩存,少數(shù)高端處理器還集成了三級(jí)緩存。其中,一級(jí)緩存可分為一級(jí)指令緩存和一級(jí)數(shù)據(jù)緩存。一級(jí)指令緩存用于暫時(shí)存儲(chǔ)并向遞送各類運(yùn)算指令;一級(jí)數(shù)據(jù)緩存用于暫時(shí)存儲(chǔ)并向遞送運(yùn)算所需數(shù)據(jù),這就是一級(jí)緩存的作用。那么,二級(jí)緩存的作用又是什么呢?簡(jiǎn)單地說,二級(jí)緩存就是一級(jí)緩存的緩沖器:一級(jí)緩存制造成本很高因此它的容量有限,二級(jí)緩存的作用就是存儲(chǔ)那些處理時(shí)需要用到、一級(jí)緩存又無法存儲(chǔ)的數(shù)據(jù)。同樣道理,三級(jí)緩存和內(nèi)存可以看作是二級(jí)緩存的緩沖器,它們的容量遞增,但單位制造成本卻遞減。需要注意的是,無論

2、是二級(jí)緩存、三級(jí)緩存還是內(nèi)存都不能存儲(chǔ)處理器操作的原始指令,這些指令只能存儲(chǔ)在的一級(jí)指令緩存中,而余下的二級(jí)緩存、三級(jí)緩存和內(nèi)存僅用于存儲(chǔ)所需數(shù)據(jù)。根據(jù)工作原理的不同,目前主流處理器所采用的一級(jí)數(shù)據(jù)緩存又可以分為實(shí)數(shù)據(jù)讀寫緩存和數(shù)據(jù)代碼指令追蹤緩存種,它們分別被和所采用。不同的一級(jí)數(shù)據(jù)緩存設(shè)計(jì)對(duì)于二級(jí)緩存容量的需求也各不相同,下面讓我們簡(jiǎn)單了解一下這兩種一級(jí)數(shù)據(jù)緩存設(shè)計(jì)的不同之處。一、一級(jí)數(shù)據(jù)緩存設(shè)計(jì)采用的一級(jí)緩存設(shè)計(jì)屬于傳統(tǒng)的“實(shí)數(shù)據(jù)讀寫緩存”設(shè)計(jì)?;谠摷軜?gòu)的一級(jí)數(shù)據(jù)緩存主要用于存儲(chǔ)最先讀取的數(shù)據(jù);而更多的讀取數(shù)據(jù)則分別存儲(chǔ)在二級(jí)緩存和系統(tǒng)內(nèi)存當(dāng)中。做個(gè)簡(jiǎn)單的假設(shè),假如處理器需要讀取“這一

3、串?dāng)?shù)據(jù)(不記空格),那么首先要被讀取的“”將被存儲(chǔ)在一級(jí)數(shù)據(jù)緩存中,而余下的”則被分別存儲(chǔ)在二級(jí)緩存和系統(tǒng)內(nèi)存當(dāng)中(如下圖所示)。需要注意的是,以上假設(shè)只是對(duì)處理器一級(jí)數(shù)據(jù)緩存的一個(gè)抽象描述,一級(jí)數(shù)據(jù)緩存和二級(jí)緩存所能存儲(chǔ)的數(shù)據(jù)長(zhǎng)度完全由緩存容量的大小決定,而絕非以上假設(shè)中的幾個(gè)字節(jié)?!皩?shí)數(shù)據(jù)讀寫緩存”的優(yōu)點(diǎn)是數(shù)據(jù)讀取直接快速,但這也需要一級(jí)數(shù)據(jù)緩存具有一定的容量,增加了處理器的制造難度(一級(jí)數(shù)據(jù)緩存的單位制造成本較二級(jí)緩存高)。二、一級(jí)數(shù)據(jù)緩存設(shè)計(jì)自時(shí)代開始,開始采用全新的“數(shù)據(jù)代碼指令追蹤緩存”設(shè)計(jì)?;谶@種架構(gòu)的一級(jí)數(shù)據(jù)緩存不再存儲(chǔ)實(shí)際的數(shù)據(jù),而是存儲(chǔ)這些數(shù)據(jù)在二級(jí)緩存中的指令代碼(即數(shù)

4、據(jù)在二級(jí)緩存中存儲(chǔ)的起始地址)。假設(shè)處理器需要讀取“這一串?dāng)?shù)據(jù)(不記空格),那么所有數(shù)據(jù)將被存儲(chǔ)在二級(jí)緩存中,而一級(jí)數(shù)據(jù)代碼指令追蹤緩存需要存儲(chǔ)的僅僅是上述數(shù)據(jù)的起始地址。由于一級(jí)數(shù)據(jù)緩存不再存儲(chǔ)實(shí)際數(shù)據(jù),因此“數(shù)據(jù)代碼指令追蹤緩存”設(shè)計(jì)能夠極大地降對(duì)一級(jí)數(shù)據(jù)緩存容量的要求,降低處理器的生產(chǎn)難度。但這種設(shè)計(jì)的弊端在于數(shù)據(jù)讀取效率較“實(shí)數(shù)據(jù)讀寫緩存設(shè)計(jì)”低,而且對(duì)二級(jí)緩存容量的依賴性非常大。在了解了一級(jí)緩存、二級(jí)緩存的大致作用及其分類以后,下面我們來回答以下硬件一菜鳥網(wǎng)友提出的問題。從理論上講,二級(jí)緩存越大處理器的性能越好,但這并不是說二級(jí)緩存容量加倍就能夠處理器帶來成倍的性能增長(zhǎng)。目前處理的絕

5、大部分?jǐn)?shù)據(jù)的大小都在之間,小部分?jǐn)?shù)據(jù)的大小在之間,只有極少數(shù)數(shù)據(jù)的大小超過2所以只要處理器可用的一級(jí)、二級(jí)緩存容量達(dá)到以上,那就能夠應(yīng)付正常的應(yīng)用;容量的二級(jí)緩存已經(jīng)足夠滿足絕大多數(shù)應(yīng)用的需求。這其中,對(duì)于采用實(shí)數(shù)據(jù)讀寫緩存設(shè)計(jì)的、處理器而言,由于它們已經(jīng)具備了一級(jí)指令緩存和一級(jí)數(shù)據(jù)緩存,只要處理器的二級(jí)緩存容量大于等于就能夠存儲(chǔ)足夠的數(shù)據(jù)和指令,因此它們對(duì)二級(jí)緩存的依賴性并不大。這就是為什么主頻同為的(二級(jí)緩存)、(二級(jí)緩存)以及(二級(jí)緩存)在大多數(shù)評(píng)測(cè)中性能非常接近的主要原因。所以對(duì)于普通用戶而言是值得考慮的。反觀目前主推的、賽揚(yáng)系列處理器,它們都采用了數(shù)據(jù)代碼指令追蹤緩存架構(gòu),其中內(nèi)核的

6、一級(jí)緩存中只包含了一級(jí)指令緩存和一級(jí)數(shù)據(jù)緩存,而內(nèi)核更是只有一級(jí)指令緩存和一級(jí)數(shù)據(jù)緩存。所以、賽揚(yáng)系列處理器對(duì)二級(jí)緩存的依賴性是非常大的,賽揚(yáng)2二級(jí)緩存)與賽揚(yáng)(二級(jí)緩存)性能上的巨大差距就很好地證明了這一點(diǎn);而賽揚(yáng)和處理器之間的性能差距同樣十分明顯。最后,如果您是狂熱的游戲發(fā)燒友或者從事多媒體制作的專業(yè)用戶,那么具有二級(jí)緩存的處理器和具有二級(jí)緩存的處理器才是您理想的選擇。因?yàn)樵诟哓?fù)荷的運(yùn)算下,的一級(jí)緩存和二級(jí)緩存近乎爆滿”,在這個(gè)時(shí)候大容量的二級(jí)緩存能夠?yàn)樘幚砥鲙?%-左1右0的%性能提升,這對(duì)于那些要求苛刻的用戶來說是完全有必要的。一級(jí)緩存是在內(nèi)的,用來存放內(nèi)部指令,級(jí)緩存和封裝在一起,

7、也是用來存放指令數(shù)據(jù)的,三級(jí)和四級(jí)緩存只在高端的服務(wù)器里有,作用差不多,速度更快,更穩(wěn)定,更有效并不是緩存越大越好,譬如和就有不同的理論,認(rèn)為一級(jí)緩存越大越好,所以一級(jí)比較大,而認(rèn)為過大會(huì)有更長(zhǎng)的指令執(zhí)行時(shí)間,所以一級(jí)很小,二級(jí)緩存那兩個(gè)公司的理論又反過來了,的小,的大,一般主流的的級(jí)緩存都在左右我們通常用(1)來稱呼緩存又叫高速緩沖存儲(chǔ)器其作用在于緩解主存速度慢、跟不上讀寫速度要求的矛盾。它的實(shí)現(xiàn)原理,是把最近最可能用到的少量信息(數(shù)據(jù)或指令)從主存復(fù)制到中,當(dāng)下次再用這些信息時(shí),它就不必訪問慢速的主存,而直接從快速的中得到,從而提高了得到這些信息的速度,使有更高的運(yùn)行效率。緩存的大?。阂话?/p>

8、說來,更大一點(diǎn)的容量,對(duì)提高命中率是有好處的,如圖所示,由于是用價(jià)格很高的靜態(tài)存儲(chǔ)器器件實(shí)現(xiàn)的,而容量達(dá)到一定大小這后,再增加其容量,對(duì)命中率的提高并不明顯,從合理的性能/價(jià)格比考慮,的容量設(shè)置應(yīng)在一個(gè)合理的容量范圍之內(nèi)。緩存要分一級(jí)二級(jí)三級(jí),是為了建立一個(gè)層次存儲(chǔ)結(jié)構(gòu),以達(dá)到最高性價(jià)比。而且多級(jí)組織還可以提高的命中率,提高執(zhí)行效能。緩存()是位于與內(nèi)存之間的臨時(shí)存儲(chǔ)器,它的容量比內(nèi)存小的多但是交換速度卻比內(nèi)存要快得多。緩存的出現(xiàn)主要是為了解決運(yùn)算速度與內(nèi)存讀寫速度不匹配的矛盾,因?yàn)檫\(yùn)算速度要比內(nèi)存讀寫速度快很多,這樣會(huì)使花費(fèi)很長(zhǎng)時(shí)間等待數(shù)據(jù)到來或把數(shù)據(jù)寫入內(nèi)存。在緩存中的數(shù)據(jù)是內(nèi)存中的一小部

9、分,但這一小部分是短時(shí)間內(nèi)即將訪問的,當(dāng)調(diào)用大量數(shù)據(jù)時(shí),就可避開內(nèi)存直接從緩存中調(diào)用,從而加快讀取速度。由此可見,在中加入緩存是一種高效的解決方案,這樣整個(gè)內(nèi)存儲(chǔ)器(緩存+內(nèi)存)就變成了既有緩存的高速度,又有內(nèi)存的大容量的存儲(chǔ)系統(tǒng)了。緩存對(duì)的性能影響很大,主要是因?yàn)榈臄?shù)據(jù)交換順序和與緩存間的帶寬引起的。緩存的工作原理是當(dāng)要讀取一個(gè)數(shù)據(jù)時(shí),首先從緩存中查找,如果找到就立即讀取并送給處理;如果沒有找到,就用相對(duì)慢的速度從內(nèi)存中讀取并送給處理,同時(shí)把這個(gè)數(shù)據(jù)所在的數(shù)據(jù)塊調(diào)入緩存中,可以使得以后對(duì)整塊數(shù)據(jù)的讀取都從緩存中進(jìn)行,不必再調(diào)用內(nèi)存。正是這樣的讀取機(jī)制使讀取緩存的命中率非常高(大多數(shù)可達(dá)左右)

10、,也就是說下一次要讀取的數(shù)據(jù)都在緩存中,只有大約需要從內(nèi)存讀取。這大大節(jié)省了直接讀取內(nèi)存的時(shí)間,也使讀取數(shù)據(jù)時(shí)基本無需等待??偟膩碚f,讀取數(shù)據(jù)的順序是先緩存后內(nèi)存。目前緩存基本上都是采用存儲(chǔ)器,是英文的縮寫,它是一種具有靜志存取功能的存儲(chǔ)器,不需要刷新電路即能保存它內(nèi)部存儲(chǔ)的數(shù)據(jù)。不像內(nèi)存那樣需要刷新電路,每隔一段時(shí)間,固定要對(duì)刷新充電一次,否則內(nèi)部的數(shù)據(jù)即會(huì)消失,因此具有較高的性能,但是也有它的缺點(diǎn),即它的集成度較低,相同容量的內(nèi)存可以設(shè)計(jì)為較小的體積,但是卻需要很大的體積,這也是目前不能將緩存容量做得太大的重要原因。它的特點(diǎn)歸納如下:優(yōu)點(diǎn)是節(jié)能、速度快、不必配合內(nèi)存刷新電路、可提高整體的工

11、作效率,缺點(diǎn)是集成度低、相同的容量體積較大、而且價(jià)格較高,只能少量用于關(guān)鍵性系統(tǒng)以提高效率。按照數(shù)據(jù)讀取順序和與結(jié)合的緊密程度,緩存可以分為一級(jí)緩存,二級(jí)緩存,部分高端還具有三級(jí)緩存,每一級(jí)緩存中所儲(chǔ)存的全部數(shù)據(jù)都是下一級(jí)緩存的一部分,這三種緩存的技術(shù)難度和制造成本是相對(duì)遞減的,所以其容量也是相對(duì)遞增的。當(dāng)要讀取一個(gè)數(shù)據(jù)時(shí),首先從一級(jí)緩存中查找,如果沒有找到再?gòu)亩?jí)緩存中查找,如果還是沒有就從三級(jí)緩存或內(nèi)存中查找。一般來說,每級(jí)緩存的命中率大概都在80左%右,也就是說全部數(shù)據(jù)量的80都%可以在一級(jí)緩存中找到,只剩下20的%總數(shù)據(jù)量才需要從二級(jí)緩存、三級(jí)緩存或內(nèi)存中讀取,由此可見一級(jí)緩存是整個(gè)緩

12、存架構(gòu)中最為重要的部分。一級(jí)緩存(1簡(jiǎn)稱,位于內(nèi)核的旁邊,是與結(jié)合最為緊密的緩存,也是歷史上最早出現(xiàn)的緩存。由于一級(jí)緩存的技術(shù)難度和制造成本最高,提高容量所帶來的技術(shù)難度增加和成本增加非常大,所帶來的性能提升卻不明顯,性價(jià)比很低,而且現(xiàn)有的一級(jí)緩存的命中率已經(jīng)很高,所以一級(jí)緩存是所有緩存中容量最小的,比二級(jí)緩存要小得多。一般來說,一級(jí)緩存可以分為一級(jí)數(shù)據(jù)緩存(C)和一級(jí)指令緩存(i)。二者分別用來存放數(shù)據(jù)以及對(duì)執(zhí)行這些數(shù)據(jù)的指令進(jìn)行即時(shí)解碼,而且兩者可以同時(shí)被訪問,減少了爭(zhēng)用所造成的沖突,提高了處理器效能。目前大多數(shù)的一級(jí)數(shù)據(jù)緩存和一級(jí)指令緩存具有相同的容量,例如的就具有的一級(jí)數(shù)據(jù)緩存和的一級(jí)

13、指令緩存,其一級(jí)緩存就以來表示,其余的的一級(jí)緩存表示方法以此類推。的采用架構(gòu)的(最典型的就是)不等于,單位都不同,一個(gè)是J,一個(gè)是(字節(jié)),而且的一級(jí)緩存有點(diǎn)特殊,使用了新增加的一種一級(jí)追蹤緩存(,或)來替代一級(jí)指令緩存,容量為|Jp表示能存儲(chǔ)條即條解碼后的微指令。一級(jí)追蹤緩存與一級(jí)指令緩存的運(yùn)行機(jī)制是不相同的,一級(jí)指令緩存只是對(duì)指令作即時(shí)的解碼而并不會(huì)儲(chǔ)存這些指令,而一級(jí)追蹤緩存同樣會(huì)將一些指令作解碼,這些指令稱為微指令()而這些微指令能儲(chǔ)存在一級(jí)追蹤緩存之內(nèi),無需每一次都作出解碼的程序,因此一級(jí)追蹤緩存能有效地增加在高工作頻率下對(duì)指令的解碼能力,而|J就是o也就是微型操作的意思。它以很高的速度將J提供給處理器核心。微型架構(gòu)使用執(zhí)行跟蹤緩存,將解碼器從執(zhí)行循環(huán)中分離出來。這個(gè)跟蹤緩存以很高的帶寬將提供給核心,從本質(zhì)上適于充分利用軟件中的指令級(jí)并行機(jī)制。并沒有公布一級(jí)追蹤緩存的實(shí)際容量只知道一級(jí)追蹤緩存能儲(chǔ)存條微指令()。所以,我們不能簡(jiǎn)單地用微指令的數(shù)目來比較指令緩存的大小。實(shí)際上,單核心的架構(gòu)使用J的緩存已經(jīng)基本上夠用了,多出的J可以大大提高緩存命中率。而如果要使用超線程技術(shù)的話,J就會(huì)有些不夠用,這就是為什么有時(shí)候處理器在使用超線程技術(shù)時(shí)會(huì)導(dǎo)致性能下降的重要原因。例如核心的一級(jí)緩存為J,就表示其一級(jí)數(shù)據(jù)緩存為,一級(jí)追蹤緩存為核心的一級(jí)緩存為+,就表示其一級(jí)數(shù)據(jù)緩存為,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論