高速緩沖存儲(chǔ)器_第1頁
高速緩沖存儲(chǔ)器_第2頁
高速緩沖存儲(chǔ)器_第3頁
高速緩沖存儲(chǔ)器_第4頁
高速緩沖存儲(chǔ)器_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

快取記憶體高速緩沖存儲(chǔ)器01組成結(jié)構(gòu)作用介紹工作原理讀取命中率目錄030204基本信息高速緩沖存儲(chǔ)器(Cache)其原始意義是指存取速度比一般隨機(jī)存取記憶體(RAM)來得快的一種RAM,一般而言它不像系統(tǒng)主記憶體那樣使用DRAM技術(shù),而使用昂貴但較快速的SRAM技術(shù),也有快取記憶體的名稱。高速緩沖存儲(chǔ)器是存在于主存與CPU之間的一級存儲(chǔ)器,由靜態(tài)存儲(chǔ)芯片(SRAM)組成,容量比較小但速度比主存高得多,接近于CPU的速度。在計(jì)算機(jī)存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)中,是介于中央處理器和主存儲(chǔ)器之間的高速小容量存儲(chǔ)器。它和主存儲(chǔ)器一起構(gòu)成一級的存儲(chǔ)器。高速緩沖存儲(chǔ)器和主存儲(chǔ)器之間信息的調(diào)度和傳送是由硬件自動(dòng)進(jìn)行的。高速緩沖存儲(chǔ)器最重要的技術(shù)指標(biāo)是它的命中率。組成結(jié)構(gòu)組成結(jié)構(gòu)高速緩沖存儲(chǔ)器是存在于主存與CPU之間的一級存儲(chǔ)器,由靜態(tài)存儲(chǔ)芯片(SRAM)組成,容量比較小但速度比主存高得多,接近于CPU的速度。主要由三大部分組成:Cache存儲(chǔ)體:存放由主存調(diào)入的指令與數(shù)據(jù)塊。轉(zhuǎn)換部件:建立目錄表以實(shí)現(xiàn)主存到緩存的轉(zhuǎn)換。替換部件:在緩存已滿時(shí)按一定策略進(jìn)行數(shù)據(jù)塊替換,并修改轉(zhuǎn)換部件。

工作原理存儲(chǔ)層次CACHE-主存存儲(chǔ)層次映象與轉(zhuǎn)換替換策略工作原理存儲(chǔ)層次主-輔存存儲(chǔ)層次由于計(jì)算機(jī)主存容量相對于程序員所需要的容量來說總是太小,程序與數(shù)據(jù)從輔存調(diào)入主存是由程序員自己安排的,程序員必須花費(fèi)很大精力和時(shí)間把大程序預(yù)先分成塊,確定好這些程序塊在輔存中的位置和裝入主存的,而且還要預(yù)先安排好程序運(yùn)行時(shí)各塊如何和何時(shí)調(diào)入調(diào)出,因此存在存儲(chǔ)空間的分配問題。操作系統(tǒng)的形成和發(fā)展使得程序員盡可能擺脫主、輔存之間的定位,同時(shí)形成了支持這些功能的“輔助硬件”,通過軟件、硬件的結(jié)合,把主存和輔存統(tǒng)一成了一個(gè)整體,如圖所示。這時(shí),由主存、輔存形成了一個(gè)存儲(chǔ)層次,即存儲(chǔ)系統(tǒng)。從整體看,其速度接近于主存的速度,其容量則接近于輔存的容量,而每位的平均價(jià)格也接近于廉價(jià)的慢速的輔存平均價(jià)格。這種系統(tǒng)不斷發(fā)展和完善,就逐步形成了現(xiàn)在廣泛使用的虛擬存儲(chǔ)系統(tǒng)。在系統(tǒng)中,應(yīng)用程序員可用機(jī)器指令碼對整個(gè)程序統(tǒng)一編址,如同程序員具有對應(yīng)這個(gè)碼寬度的全部虛存空間一樣。該空間可以比主存實(shí)際空間大得多,以致可以存得下整個(gè)程序。這種指令碼稱為虛(虛存、虛擬)或邏輯,其對應(yīng)的存儲(chǔ)容量稱為虛存容量或虛存空間;而把實(shí)際主存的稱為物理、實(shí)(存),其對應(yīng)的存儲(chǔ)容量稱為主存容量、實(shí)存容量或?qū)崳ㄖ鳎┐婵臻g主-輔存存儲(chǔ)層次主-輔存存儲(chǔ)層次CACHE-主存存儲(chǔ)層次當(dāng)用虛訪問主存時(shí),機(jī)器自動(dòng)地把它經(jīng)輔助軟件、硬件變換成主存實(shí)。查看這個(gè)所對應(yīng)的單元內(nèi)容是否已經(jīng)裝入主存,如果在主存就進(jìn)行訪問,如果不在主存內(nèi)就經(jīng)輔助軟件、硬件把它所在的那塊程序和數(shù)據(jù)由輔存調(diào)入主存,而后進(jìn)行訪問。這些操作都不必由程序員來安排,也就是說,對應(yīng)用程員員是透明的。主-輔存層次解決了存儲(chǔ)器大容量要求和低成本之間的矛盾。在速度方面,計(jì)算機(jī)的主存和CPU直保持了大約一個(gè)數(shù)量級的差距。顯然這個(gè)差距限制了CPU速度潛力的發(fā)揮。為了彌合這個(gè)差距,僅采用一種工藝的單一存儲(chǔ)器是行不通的,必須進(jìn)一步從計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)和組織上去研究。設(shè)置高速緩沖存儲(chǔ)器(Cache)是解決存取速度的重要方法。在CPU和主存中間設(shè)置高速緩沖存儲(chǔ)器,構(gòu)成高速緩存(Cache)-主存層次,要求Cache在速度上能跟得上CPU的要求。Cache-主存間的映象和調(diào)度吸取了比它較早出現(xiàn)的主-輔存存儲(chǔ)層次的技術(shù),不同的是因其速度要求高,不是由軟、硬件結(jié)合而完全由硬件來實(shí)現(xiàn),如圖所示。高速緩存(Cache)-主存層次映象與轉(zhuǎn)換映象是指某一數(shù)據(jù)在內(nèi)存中的與在緩沖中的,兩者之間的對應(yīng)關(guān)系。下面介紹三種映象的方式。1.全相聯(lián)方式映象規(guī)則:主存的任意一塊可以映象到Cache中的任意一塊(1)主存與緩存分成相同大小的數(shù)據(jù)塊。(2)主存的某一數(shù)據(jù)塊可以裝入緩存的任意一塊空間中。如果Cache的塊數(shù)為Cb,主存的塊數(shù)為Mb,則映象關(guān)系共有Cb×Mb種。目錄表存放在相關(guān)(聯(lián))存儲(chǔ)器中,其中包括三部分:數(shù)據(jù)塊在主存的塊、存入緩存后的塊、及有效位(也稱裝入位)。由于是全相聯(lián)方式,因此,目錄表的容量應(yīng)當(dāng)與緩存的塊數(shù)相同。優(yōu)點(diǎn):命中率比較高,Cache存儲(chǔ)空間利用率高。缺點(diǎn):訪問相關(guān)存儲(chǔ)器時(shí),每次都要與全部內(nèi)容比較,速度低,成本高,因而應(yīng)用少。2.直接相聯(lián)方式映象規(guī)則:主存儲(chǔ)器中一塊只能映象到Cache的一個(gè)特定的塊中。替換策略1.根據(jù)程序局部性規(guī)律可知:程序在運(yùn)行中,總是頻繁地使用那些最近被使用過的指令和數(shù)據(jù)。這就提供了替換策略的理論依據(jù)。綜合命中率、實(shí)現(xiàn)的難易及速度的快慢各種因素,替換策略可有隨機(jī)法、先進(jìn)先出法、最近最少使用法等。(1).隨機(jī)法(RAND法)隨機(jī)法是隨機(jī)地確定替換的存儲(chǔ)塊。設(shè)置一個(gè)隨機(jī)數(shù)產(chǎn)生器,依據(jù)所產(chǎn)生的隨機(jī)數(shù),確定替換塊。這種方法簡單、易于實(shí)現(xiàn),但命中率比較低。(2).先進(jìn)先出法(FIFO法)先進(jìn)先出法是選擇那個(gè)最先調(diào)入的那個(gè)塊進(jìn)行替換。當(dāng)最先調(diào)入并被多次命中的塊,很可能被優(yōu)先替換,因而不符合局部性規(guī)律。這種方法的命中率比隨機(jī)法好些,但還不滿足要求。先進(jìn)先出方法易于實(shí)現(xiàn),(3).最近最少使用法(LRU法)LRU法是依據(jù)各塊使用的情況,總是選擇那個(gè)最近最少使用的塊被替換。這種方法比較好地反映了程序局部性規(guī)律。實(shí)現(xiàn)LRU策略的方法有多種。作用介紹作用介紹在計(jì)算機(jī)技術(shù)發(fā)展過程中,主存儲(chǔ)器存取速度一直比中央處理器操作速度慢得多,使中央處理器的高速處理能力不能充分發(fā)揮,整個(gè)計(jì)算機(jī)系統(tǒng)的工作效率受到影響。有很多方法可用來緩和中央處理器和主存儲(chǔ)器之間速度不匹配的矛盾,如采用多個(gè)通用寄存器、多存儲(chǔ)體交叉存取等,在存儲(chǔ)層次上采用高速緩沖存儲(chǔ)器也是常用的方法之一。很多大、中型計(jì)算機(jī)以及新近的一些小型機(jī)、微型機(jī)也都采用高速緩沖存儲(chǔ)器。高速緩沖存儲(chǔ)器的容量一般只有主存儲(chǔ)器的幾百分之一,但它的存取速度能與中央處理器相匹配。根據(jù)程序局部性原理,正在使用的主存儲(chǔ)器某一單元鄰近的那些單元將被用到的可能性很大。因而,當(dāng)中央處理器存取主存儲(chǔ)器某一單元時(shí),計(jì)算機(jī)硬件就自動(dòng)地將包括該單元在內(nèi)的那一組單元內(nèi)容調(diào)入高速緩沖存儲(chǔ)器,中央處理器即將存取的主存儲(chǔ)器單元很可能就在剛剛調(diào)入到高速緩沖存儲(chǔ)器的那一組單元內(nèi)。于是,中央處理器就可以直接對高速緩沖存儲(chǔ)器進(jìn)行存取。在整個(gè)處理過程中,如果中央處理器絕大多數(shù)存取主存儲(chǔ)器的操作能為存取高速緩沖存儲(chǔ)器所代替,計(jì)算機(jī)系統(tǒng)處理速度就能顯著提高。

讀取命中率讀取命中率

CPU在Cache中找到有用的數(shù)據(jù)被稱為命中,當(dāng)Cache中沒有CPU所需的數(shù)據(jù)時(shí)(這時(shí)稱為未命中),CPU才訪問內(nèi)存。從理論上講,在一顆擁有2級Cache的CPU中,讀取L1Cache的命中率為80%。也就是說CPU從L1Cache中找到的有用數(shù)據(jù)占數(shù)據(jù)總量的80%,剩下的20%從L2Cache讀取。由于不能準(zhǔn)確預(yù)測將要執(zhí)行的數(shù)據(jù),讀取L2的命中率也在80%左右(從L2讀到有用的數(shù)據(jù)占總數(shù)據(jù)的16%)。那么還有的數(shù)據(jù)就不得不從內(nèi)存調(diào)用,但這已經(jīng)是一個(gè)相當(dāng)小的比例了。在一些高端領(lǐng)域的CPU中,我們常聽到L3Cache,它是為讀取L2Cache后未命中的數(shù)據(jù)設(shè)計(jì)的—種Cache,在擁有L3Cache的CPU中,只有約5%的數(shù)據(jù)需要從內(nèi)存中調(diào)用,這進(jìn)一步提高了CPU的效率。為了保證CPU訪問時(shí)有較高的命中率,Cache中的內(nèi)容應(yīng)該按一定的算法替換。一種較常用的算法是“最近最少使用算法”(LRU算法),它是將最近一段時(shí)間內(nèi)最少被訪問過的行淘汰出局。因此需要為每行設(shè)置一個(gè)計(jì)數(shù)器,LRU算法是把命中行的計(jì)數(shù)器清零,其他各行計(jì)數(shù)器加1。當(dāng)需要替換時(shí)淘汰行計(jì)數(shù)器計(jì)數(shù)值最大的數(shù)據(jù)行出局。這是一種高效、科學(xué)的算法,其計(jì)數(shù)器清零過程可以把一些頻繁調(diào)用后再不需要的數(shù)據(jù)淘汰出Cache,提高Cache的利用率。Cache的替換算法對命中率的影響。當(dāng)新的主存塊需要調(diào)入Cache并且它的可用空

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論