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

下載本文檔

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

文檔簡介

什么是cacheCache又叫高速緩沖存儲器,位于CPU與內(nèi)存之間,是一種特殊的存儲器子系統(tǒng)。目前比較常見的是兩極cache結(jié)構(gòu),即cache系統(tǒng)由一級高速緩存L1cache和二級高速緩存L2cache組成,L1cache通常又分為數(shù)據(jù)cache(I-Cache)和指令cache(D-Cache),它們分別用來存放數(shù)據(jù)和執(zhí)行這些數(shù)據(jù)的指令。Cache基礎(chǔ)知識介紹兩極cache相比較而言,L1cache的容量小,但數(shù)據(jù)存取速度較快,L2cache的容量大,但數(shù)據(jù)存取速度較慢。部分系統(tǒng)中也存在三級cache的結(jié)構(gòu)。Cache基礎(chǔ)知識介紹Cache的作用是什么Cache的作用就是為了提高CPU對存儲器的訪問速度。電腦的內(nèi)存是以系統(tǒng)總線的時鐘頻率工作的,這個頻率通常也就是CPU的外頻。但是,CPU的工作頻率(主頻)是外頻與倍頻因子的乘積。這樣一來,內(nèi)存的工作頻率就遠低于CPU的工作頻率了。這樣造成的直接結(jié)果是:CPU在執(zhí)行完一條指令后,常常需要“等待”一些時間才能再次訪問內(nèi)存,極大降了CPU工作效率。在這樣一種情況下,cache就應(yīng)運而生了。Cache基礎(chǔ)知識介紹指令地址……96loop:ADDr2,r1,r1100

SUBIr3,r3,#1104

BNEZr3,loop108……112典型的內(nèi)存訪問模式

Cache的工作原理Cache基礎(chǔ)知識介紹CPU運行程序是一條指令一條指令地執(zhí)行的,而且指令地址往往是連續(xù)的,意思就是說CPU在訪問內(nèi)存時,在較短的一段時間內(nèi)往往集中于某個局部,這時候可能會碰到一些需要反復(fù)調(diào)用的子程序。系統(tǒng)在工作時,把這些活躍的子程序存入比主存快得多的cache中。CPU在訪問內(nèi)存時,首先判斷所要訪問的內(nèi)容是否在cache中,如果在,則稱為命中(hit),此時CPU直接從cache中調(diào)用該內(nèi)容;否則稱為未命中(miss),CPU會通過cache對主存中的相應(yīng)內(nèi)容進行操作。Cache基礎(chǔ)知識介紹Cache的地址映射方式Cache與主存之間可以采取的地址映射方式有以下三種:全相聯(lián)映射方式直接相聯(lián)映射方式組組相聯(lián)映射方式Cache基礎(chǔ)知識介紹全相聯(lián)方式地址映射規(guī)則:主存的任意一塊可以映射到cache中的任意一塊(1)主存與cache分成相同大小的數(shù)據(jù)塊。(2)主存的某一數(shù)據(jù)塊可以裝入cache的任意一塊空間中。優(yōu)點:命中率比較高,cache存儲空間利用率高。缺點:訪問相關(guān)存儲器時,每次都要與全部內(nèi)容比較,速度低,成本高,因而應(yīng)用少。Cache基礎(chǔ)知識介紹直接相聯(lián)方式地址映射規(guī)則:主存儲器中一塊只能映射到cache的一個特定的塊中。(1)主存與cache分成相同大小的數(shù)據(jù)塊。(2)主存容量應(yīng)是cache容量的整數(shù)倍,將主存空間按cache的容量分成區(qū),主存中每一區(qū)的塊數(shù)與cache的總塊數(shù)相等。(3)主存中某區(qū)的一塊存入cache時只能存入緩存中塊號相同的位置。優(yōu)點:地址映射方式簡單,數(shù)據(jù)訪問時,只需檢查區(qū)號是否相等即可,因而可以得到比較快的訪問速度,硬件設(shè)備簡單。缺點:替換操作頻繁,命中率比較低。Cache基礎(chǔ)知識介紹組相聯(lián)映射方式地址映射規(guī)則:(1)主存和cache按同樣大小劃分成塊。(2)主存和cache按同樣大小劃分成組。(3)主存容量是cache容量的整數(shù)倍,將主存空間按cache區(qū)的大小分成區(qū),主存中每一區(qū)的組數(shù)與cache的組數(shù)相同。(4)當(dāng)主存的數(shù)據(jù)調(diào)入cache時,主存與cache的組號應(yīng)相等,也就是各區(qū)中的某一塊只能存入cache的同組號的空間內(nèi),但組內(nèi)各塊地址之間則可以任意存放,即從主存的組到cache的組之間采用直接映射方式;在兩個對應(yīng)的組內(nèi)部采用全相聯(lián)映射方式。優(yōu)點:塊的沖突概率比較低,塊的利用率大幅度提高,塊失效率明顯降低。

缺點:實現(xiàn)難度和造價要比直接映射方式高。Cache基礎(chǔ)知識介紹Cache基礎(chǔ)知識介紹塊:塊是cache與主存的傳輸單位。路(way):路是組相聯(lián)映射方式的cache結(jié)構(gòu)中的基本存儲單位,每一路存儲一個塊的數(shù)據(jù)。組(entry):組是組相聯(lián)映射方式的cache對塊進行管理的單位。區(qū)(tag):塊的地址對應(yīng)的主存儲器中的區(qū)。塊內(nèi)偏移地址(offset):用來標(biāo)示塊內(nèi)一個字節(jié)的地址。組相聯(lián)映射方式下主存儲器的地址空間由,區(qū),組和塊內(nèi)偏移地址組成。Cache基礎(chǔ)知識介紹組相聯(lián)映射方式下cache的內(nèi)部結(jié)構(gòu)。Cache基礎(chǔ)知識介紹Cache的替換算法Cache可以采用的替換算法主要有以下幾種:先入后出(FILO)算法隨機替換(RAND)算法先入先出(FIFO)算法近期最少使用(LRU)算法Cache基礎(chǔ)知識介紹隨機(RAND)法是隨機地確定替換的存儲塊。設(shè)置一個隨機數(shù)產(chǎn)生器,依據(jù)所產(chǎn)生的隨機數(shù),確定替換塊。這種方法簡單、易于實現(xiàn),但命中率比較低。先進先出(FIFO)法是選擇那個最先調(diào)入的那個塊進行替換。當(dāng)最先調(diào)入并被多次命中的塊,很可能被優(yōu)先替換,因而不符合局部性規(guī)律。這種方法的命中率比隨機法好些,但還不滿足要求。近期最少使用(LRU)法是依據(jù)各塊使用的情況,總是選擇那個最近最少使用的塊被替換。這種方法比較好地反映了程序局部性規(guī)律,命中率最高。Cache基礎(chǔ)知識介紹如何提高cache的性能提高cache的性能也就是要降低主存的平均存取時間主存平均存取時間=命中時間+未命中率*未命中懲罰提高cache的性能有以下三種方法:減少命中時間,減少未命中率,減少未命中懲罰。Cache基礎(chǔ)知識介紹影響命中率的硬件因素主要有以下四點:Cache的容量。Cache與主存儲器交換信息的單位量(cachelinesize)。Cache的組織方式Cache的替換算法Cache基礎(chǔ)知識介紹代碼段Afor(i=0;i<1024;i++)for(j=0;j<4;j++)sum+=x[i][j]代碼段Bfor(j=0;j<4;j++)for(i=0;i<1024;i++)sum+=x[i][j]通過優(yōu)化代碼提高cache命中率對數(shù)組intx[1024][4]進行求和Cache基礎(chǔ)知識介紹代碼段A:對于數(shù)組元素x[i][0](i=0…1024)的訪問是miss的,但對于x[i][1],x[i][2],x[i][3]的訪問是hit的,因此miss的總次數(shù)為1024次。代碼段B:對于數(shù)組元素x[i][0],x[i][1],x[i][2],x[i][3](i=0…1024)的訪問都是miss的,他們被x[i+4][0],x[i+4][1],x[i+4][2],x[i+4][3]所替換,因此miss的總次數(shù)為4096次。當(dāng)需要對大量數(shù)據(jù)訪問的時候,一定要注意對內(nèi)存的訪問要盡量是連續(xù)而且循環(huán)內(nèi)層的訪問接近cache的塊大小,以提高cache的命中率,從而提高程序的運行效率。Cache基礎(chǔ)知識介紹Cache的一致性問題在采用cache的系統(tǒng)中,同樣一個數(shù)據(jù)可能既存在于cache中,也存在于主存中,兩者數(shù)據(jù)相同則具有一致性,數(shù)據(jù)不相同就叫做不一致。Cache主要有兩種寫策略寫直達法(writethrough)和寫回法(writeback)Cache基礎(chǔ)知識介紹寫直達法(writethrough)方法:在對cache進行寫操作的同時,也將內(nèi)容寫到主存中。優(yōu)點:可靠性較高,操作過程比較簡單。缺點:寫操作速度得不到改善,與寫主存的速度相同。寫回法(writeback)方法:在CPU執(zhí)行寫操作時,只寫入cache,不寫入主存。優(yōu)點:速度較高。缺點:可靠性較差,控制操作比較復(fù)雜。Cache基礎(chǔ)知識介紹對于多個主設(shè)備的共享存儲總線系統(tǒng),如帶有DMA的系統(tǒng),或者多處理器系統(tǒng),由于其他的主設(shè)備也可以改變主存的內(nèi)容,而這種改變是cache無法得知的,因此必須對cache的一致性問題進行處理。Cache基礎(chǔ)知識介紹可以將主存中的一塊地址空間設(shè)置為非cache訪問,CPU對這部

溫馨提示

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

評論

0/150

提交評論