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),請進行舉報或認領(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)當主存的數(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):用來標示塊內(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)入的那個塊進行替換。當最先調(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次。當需要對大量數(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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論