Cache基礎(chǔ)知識(shí)介紹課件_第1頁
Cache基礎(chǔ)知識(shí)介紹課件_第2頁
Cache基礎(chǔ)知識(shí)介紹課件_第3頁
Cache基礎(chǔ)知識(shí)介紹課件_第4頁
Cache基礎(chǔ)知識(shí)介紹課件_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

?什么是cache?

Cache又叫高速?zèng)_存器,位于

CPU與內(nèi)存之,是一種特殊的存器子系。?

目前比常的是兩極

cache構(gòu),即cache系由一高速存

L1cache和二高速存L2cache成,L1cache通常又分?jǐn)?shù)據(jù)cache(I-Cache)和指令cache(D-Cache),它分用來存放數(shù)據(jù)和行些數(shù)據(jù)的指令。?

兩極cache相比而言,L1cache的容量小,但數(shù)據(jù)存取速度快,L2cache的容量大,但數(shù)據(jù)存取速度慢。部分系中也存在三cache的構(gòu)。?

Cache的作用就是為了提高CPU對(duì)存儲(chǔ)器的訪問速度。?

電腦的內(nèi)存是以系統(tǒng)總線的時(shí)鐘頻率工作的,這個(gè)頻率通常也就是CPU的外頻。但是,CPU的工作頻率(主頻)是外頻與倍頻因子的乘積。這樣一來,內(nèi)存的工作頻率就遠(yuǎn)低于CPU的工作頻率了。這樣造成的直接結(jié)果是:CPU在執(zhí)行完一條指令后,常常需要“等待”一些時(shí)間才能再次訪問內(nèi)存,極大降了CPU工作效率。在這樣一種情況下,cache就應(yīng)運(yùn)而生了。?Cache的工作原理?

CPU運(yùn)行程序是一條指令一條指令地行的,而且指令地址往往是的,意思就是CPU在內(nèi)存,在短的一內(nèi)往往集中于某個(gè)局部,候可能會(huì)到一些需要反復(fù)用的子程序。系在工作,把些活的子程序存入比主存快得多的cache

中。?

CPU在內(nèi)存,首先判斷所要內(nèi)容是否在cache中,如果在,稱命中(hit),此CPU直接從cache中用內(nèi)容;否稱未命中(

miss),

CPU會(huì)通cache主存中的相內(nèi)容行操作。Cache與主存之可以采取的地址映射方式有以下三種:?

全相映射方式?

直接相映射方式?映射方式地址映射:主存的任意一可以映射到cache中的任意一(1)主存與cache分成相同大小的數(shù)據(jù)。(2)主存的某一數(shù)據(jù)可以裝入cache的任意一空中。點(diǎn):命中率比高

,

cache存空率高。缺點(diǎn):相關(guān)存器,每次要與全部?jī)?nèi)容比,速度低,成本高,因而用少。?

直接相方式地址映射

主存器中一只能映射(1)主存與cache分成相同大小的數(shù)據(jù)。(2)主存容量是cache容量的整數(shù)倍,將主存空按cache的容量分成區(qū),主存中每一區(qū)的數(shù)與cache的

數(shù)相等。(3)主存中某區(qū)的一存入cache只能存入存中號(hào)相同的位置。點(diǎn):地址映射方式,數(shù)據(jù),只

區(qū)號(hào)是否相等即可,因而可以得到比快的速度,硬件(1)主存和cache按同大小劃分成。(2)主存和cache按同大小劃分成。(3)主存容量是cache容量的整數(shù)倍,將主存空按cache區(qū)的大小分成區(qū),主存中每一區(qū)的數(shù)與cache的數(shù)相同。(4)當(dāng)主存的數(shù)據(jù)入cache,主存與cache的號(hào)相等,也就是各區(qū)中的某一只能存入cache的同號(hào)的空內(nèi),但內(nèi)

可以任意存放,

即從主存的到cache的之采用直接映射方式;?

路(way):路是組相聯(lián)映射方式的cache結(jié)構(gòu)中的基本存儲(chǔ)單位,每一路存儲(chǔ)一個(gè)塊的數(shù)據(jù)。?

組(entry):組是組相聯(lián)映射方式的cache對(duì)塊進(jìn)行管理的單位。?

區(qū)

(tag)

:塊的地址對(duì)應(yīng)的主存儲(chǔ)器中的區(qū)。?

塊內(nèi)偏移地址(offset):用來標(biāo)示塊內(nèi)一個(gè)字節(jié)的地址。?

組相聯(lián)映射方式下主存儲(chǔ)器的地址空間由,區(qū),組和塊內(nèi)偏移地址組成。?

組相聯(lián)映射方式下cache的內(nèi)部結(jié)構(gòu)。?Cache的替算法Cache可以采用的替算法主要有以下幾種:?

先入后出(FILO)算法?

隨機(jī)替(RAND)算法?

先入先出(FIFO)算法?

近期最少使用(LRU)算法?

隨機(jī)(RAND)法是隨機(jī)地確定替的存置一個(gè)隨機(jī)數(shù)生器,依據(jù)所生的隨機(jī)數(shù),確定替種方法,但命中率比低。?

先先出(FIFO)法是那個(gè)最先入的那個(gè)行替。當(dāng)最先入并被多次命中的,很可能被先替,因而不部性律。種方法的命中率比隨機(jī)法好些,但不足要求。?

近期最少使用(LRU)法是依據(jù)各使用的情況

那個(gè)最近最少使用的被

替種方法比好地反映了程序局部性?

提高cache的性能也就是要降低主存的平均存取主存平均存取=命中+未命中率*未命中?

提高cache的性能有以下三種方法:減少命中

,減少未命中率,減少未命中?

Cache與主存器交信息的位量(cachelinesize)。?

通化代提高

cache命中率intx[1024][4]行求和代A于數(shù)

x[i][0](i=0…1024)的miss的,但于x[i][1],

x[i][2],

x[i][3]的

hit的,因此miss的次數(shù)?

當(dāng)需要大量數(shù)據(jù)候,一定要注于數(shù)

x[i][0],

x[i][1],

x[i][2],

x[i][3]意

內(nèi)

要盡量是而且接近

cache的大小,以提高的是

miss的,他被x[i+4][0]

,cache的命中率,從而提高程序的運(yùn)行效率。x[i+4][1],

x[i+4][2],?

在采用cache的系中,同一個(gè)數(shù)據(jù)可能既存在于cache中,也存在于主存中,兩者數(shù)據(jù)相同具有一致性,數(shù)據(jù)不相同就叫做不一致。?

Cache主要有兩種寫策略寫直達(dá)法(writethrough)和寫回法(writeback)方法:在cache行寫操作的同,也將內(nèi)容寫到主存中。點(diǎn):可靠性高,操作程比。缺點(diǎn):寫操作速度得不到改善,與寫主存的速度相同。?

寫回法(writeback)方法:在CPU行寫操作,只寫入

cache,不寫入主存。?

對(duì)于多個(gè)主設(shè)備的共享存儲(chǔ)總線系統(tǒng),如帶有DMA的系統(tǒng),或者多處理器系統(tǒng),由于其他的主設(shè)備也可以改變主存的內(nèi)容,而這種改變是cache無法得知的,因此必須對(duì)cache的一致性問題進(jìn)行處理。?

可以將主存中的一地址空非cache

CPU部分地址空行直接

,不cache理

,部分

溫馨提示

  • 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. 人人文庫網(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)論