精講cache高速緩存處理器_第1頁
精講cache高速緩存處理器_第2頁
精講cache高速緩存處理器_第3頁
精講cache高速緩存處理器_第4頁
精講cache高速緩存處理器_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機組成原理14.4高速緩沖存儲器Cache

4.4.1Cache根本原理1.設(shè)置Cache的必要性計算機有兩個核心器件,一個內(nèi)存,另外一個那么是CPU。二者是否能較好配合,將直接影響計算機性能。早期的CPU跟內(nèi)存的速度相差不多,但是隨著計算機硬件技術(shù)的開展,CPU的速度提高的比內(nèi)存快,現(xiàn)在內(nèi)存和CPU的讀寫速度相差2~3個數(shù)量級。如果僅僅依靠內(nèi)存給CPU傳輸數(shù)據(jù),那么CPU可能會長時間等待,降低資源利用率。所以,必須對二者速度進行匹配。計算機組成原理2匹配內(nèi)存和CPU的速度有以下三個方法:〔1〕降低CPU速度;〔2〕采用高速的SRAM作為內(nèi)存的存儲器;〔3〕根據(jù)程序執(zhí)行的局部性原理,在二者之間設(shè)置一定的緩沖器。顯然,第一個方法降低了計算機性能,不可能采用;第二個方法需要用價格昂貴的SRAM來制作容量高達幾百兆的內(nèi)存,本錢過高。因此第三個方法那么呈了現(xiàn)代計算機的首選方法。計算機組成原理3實際的計算機系統(tǒng)中,常常在CPU和內(nèi)存間設(shè)置一個容量不大〔常常為幾十至幾百K〕但是速度跟CPU速度相同的Cache作為緩沖器,把正在執(zhí)行的指令代碼單元附近的一局部指令代碼或數(shù)據(jù)存入Cache中,CPU需要數(shù)據(jù)時,直接從Cache中讀取,這種方法解決了速度不匹配的問題,又不會大幅度增加本錢。計算機組成原理42.根本原理Cache又叫高速緩存,是高速緩沖存儲器〔CacheMemory〕的簡稱。作為一種存儲器,Cache有一定的存儲空間,但Cache的主要作用不是進行數(shù)據(jù)存儲,所以其存儲空間較小。根據(jù)Cache所處位置的不同,可以將Cache分為一級Cache和二級Cache。與CPU集成在同一塊芯片中的是一級Cache〔簡稱L1Cache〕,其容量常常為幾十KB~幾百KB;不與CPU集成在同一塊芯片中的是二級Cache〔簡稱L2Cache〕,其容量常常為幾百KB~2MB。目前市場上比較高檔的CPU常常配有512KB、1MB或者2MB的Cache。配置了Cache的CPU和內(nèi)存之間的存儲結(jié)構(gòu)如圖4-13所示。計算機組成原理5計算機組成原理6在Cache控制器的作用下,CPU首先訪問Cache,如其需要的數(shù)據(jù)在Cache中,那么直接訪問Cache即可,否那么再訪問內(nèi)存。如果設(shè)置了L2Cache,那么系統(tǒng)將按照L1Cache、L2Cache、內(nèi)存的順序訪問。值得注意的是:Cache不能被用戶直接訪問,用戶不能使用Cache地址進行編程。計算機組成原理7Cache一般由SRAM、TRAM和控制器組成。其中,SRAM提供存儲空間,它的容量即為Cache的容量;TRAM保存Cache中的數(shù)據(jù)在主存中的地址;控制器那么是實現(xiàn)比較和控制Cache的讀寫操作等功能。當CPU需要內(nèi)存中某一地址的數(shù)據(jù)時,控制器首先將該地址信號與TRAM中的地址進行比較,如果找到相同的地址,說明內(nèi)存中的數(shù)據(jù)在Cache中,那么CPU直接訪問Cache,否那么CPU將訪問內(nèi)存。當CPU所需要的數(shù)據(jù)沒有在Cache中時,控制器還要完成對Cache的修改,將內(nèi)存中的數(shù)據(jù)讀取到Cache中,以保證Cache命中率盡可能高,提高數(shù)據(jù)訪問速度。計算機組成原理84.4.2地址映像Cache作為CPU和內(nèi)存間的緩沖存儲器,理想情況下,應(yīng)該保證CPU每次需要訪問的數(shù)據(jù)都在Cache中。但是,用戶程序卻是按照內(nèi)存地址編寫的,Cache所做的工作是在CPU訪問內(nèi)存前,根據(jù)程序執(zhí)行的局部性原理,先將內(nèi)存中的數(shù)據(jù)讀出,當CPU需要時再提供給它。所以,“Cache所保存的數(shù)據(jù)到底是內(nèi)存中的哪些數(shù)據(jù),地址是什么?〞就成了關(guān)鍵性問題。這一問題實際上也是Cache的存儲空間與內(nèi)存之間的地址映像問題。計算機組成原理9常用的地址映像方式有三種:全相聯(lián)映像、直接映像和組相聯(lián)映像。1.全相聯(lián)映像所謂全相聯(lián)映像是指將內(nèi)存和Cache按找固定的相同的大小進行分塊。內(nèi)存的塊和Cache的塊可以任意對應(yīng),即內(nèi)存的任何一塊都可以映像到Cache的任何一塊,在Cache的存儲空間被占滿的情況下,也允許確實已被占滿的Cache存儲器中替換出任何一個舊塊。計算機組成原理10這種映像方式的優(yōu)點是映像過程靈活,塊沖突率低,只有在Cache中的塊全部裝滿后才會出現(xiàn)沖突,Cache利用率高。缺點是塊表查找的速度慢,由于Cache的速度要求高,全部比較和替換策略都要用硬件實現(xiàn),控制復雜,實現(xiàn)起來也比較困難,本錢高。全相聯(lián)映像方式下內(nèi)存與Cache對應(yīng)的對應(yīng)關(guān)系如圖4-14所示:計算機組成原理11計算機組成原理122.直接映像跟全相聯(lián)映像一樣,直接映像先將Cache分成假設(shè)干塊,每個塊的大小相同,并對每個塊進行編號,同時根據(jù)Cache容量大小將內(nèi)存分成假設(shè)干頁,每個頁的容量都跟Cache的容量相同,然后對內(nèi)存進行分塊,每塊的大小跟Cache塊的大小相同,同樣對頁內(nèi)的塊進行編號。映像時,內(nèi)存的某個頁的塊只能保存在與其塊號相同的內(nèi)存塊中。例如,如圖4-15所示,內(nèi)存各頁中的第0塊只能映像到Cache的第0塊,而不能映像到其他塊。計算機組成原理13計算機組成原理14直接映像的優(yōu)點是地址變換簡單、速度快,缺點是映像不靈活,塊沖突率較高,Cache命中率低,特別是程序需要在兩個頁的相同塊號的塊之間往返執(zhí)行時,Cache命中率將降得非常低。計算機組成原理153.組相聯(lián)映像為了解決直接映像的沖突問題,組相聯(lián)映像方式,先將Cache分成大小相同的假設(shè)干區(qū),一般分為2個或4個區(qū),對每個區(qū)按照直接映像的方式進行分塊,并且編號,因此,Cache中有多個編號相同的塊。對內(nèi)存按照Cache區(qū)的大小進行分頁,再對每頁按照Cache塊的大小進行分塊,每個內(nèi)存塊可以對應(yīng)不同Cache區(qū)中的相同塊號的塊。例如,圖4-16中內(nèi)存第0頁的第0塊,可以對應(yīng)Cache的第0區(qū)的第0塊,也可以對應(yīng)第j區(qū)的第0塊。計算機組成原理16組相聯(lián)映像的減小了直接映像方式下的頁沖突問題,提高了Cache的命中率,且Cache的容量越大,分區(qū)的數(shù)量越多,命中率越高,但是這中映像方式控制電路復雜。值得注意的是,如果只對Cache分1個區(qū)時,那么組相聯(lián)映像就是直接映像,因此,直接映像是組相聯(lián)映像的一種特殊情況。計算機組成原理17計算機組成原理184.4.3替換策略及更新策略1.替換策略不管采用何種映像方式,內(nèi)存的每個塊都對應(yīng)Cache的某一個塊。但是Cache容量遠小于內(nèi)存容量,不能將內(nèi)存的所有塊全部保存。因此,如果需要往Cache中調(diào)入一個新塊,且Cache已經(jīng)被占滿時,就需要將Cache中的某一個塊調(diào)出,而將新塊調(diào)入Cache,這個過程就是替換。計算機組成原理19采用不同的替換策略,將很大程度上影響Cache的命中率。常用的替換策略有:隨機替換法:任意選擇一個Cache塊,將其調(diào)出。先進先出(FIFO)策略:替換出最先進入Cache的塊近期最少使用(LRU)策略:這種替換策略需隨時記錄Cache存儲器中各個字塊的使用情況,以便確定哪個字塊是近期最少使用的字塊。這三種策略的算法將在4.5節(jié)中介紹,這里不再贅述。計算機組成原理202.更新策略當內(nèi)存數(shù)據(jù)被修改時,與之對應(yīng)的Cache的數(shù)據(jù)也需要相應(yīng)修改,這個過程就是更新。但是,進行修改時,Cache無法向CPU提供數(shù)據(jù),因此修改Cache的時機相當重要。常用的更新策略有:計算機組成原理21及時更新策略:修改內(nèi)存的同時對Cache進行修改。周期更新策略:對

溫馨提示

  • 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

提交評論