第10周小課 多層次的存儲器(4)_第1頁
第10周小課 多層次的存儲器(4)_第2頁
第10周小課 多層次的存儲器(4)_第3頁
第10周小課 多層次的存儲器(4)_第4頁
第10周小課 多層次的存儲器(4)_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 / 29計算機組成原理1 ROM ROM叫做只讀存儲器。只讀的意思是在它工作時叫做只讀存儲器。只讀的意思是在它工作時只能讀出,不能寫入。然而其中存儲的原始數(shù)據(jù),只能讀出,不能寫入。然而其中存儲的原始數(shù)據(jù),必須在它工作以前寫入。必須在它工作以前寫入。 FLASHFLASH存儲器也被稱為閃速存儲器(閃存),它存儲器也被稱為閃速存儲器(閃存),它是高密度非失易失性的讀是高密度非失易失性的讀/ /寫存儲器。寫存儲器。2 / 29計算機組成原理2 雙端口存儲器雙端口存儲器是同一個存儲器具有兩組相互獨是同一個存儲器具有兩組相互獨立的讀寫控制電路。由于進行并行的獨立操作,因立的讀寫控制電路。由于進行并行

2、的獨立操作,因而是一種高速工作的存儲器。而是一種高速工作的存儲器。 多模塊交叉存儲器多模塊交叉存儲器:一個由若干個模塊組成的:一個由若干個模塊組成的主存儲器是線性編址的。這些地址在各模塊中如何主存儲器是線性編址的。這些地址在各模塊中如何安排,有兩種方式:一種是順序方式,一種是交叉安排,有兩種方式:一種是順序方式,一種是交叉方式。方式。3 / 29計算機組成原理3存儲器訪問的局部性原理與層次結(jié)構(gòu)存儲系統(tǒng)存儲器訪問的局部性原理與層次結(jié)構(gòu)存儲系統(tǒng)CacheCache存儲器存儲器4 / 29計算機組成原理4理解存儲器訪問的局部性原理;理解存儲器訪問的局部性原理;掌握時間局部性和空間局部性的概念;掌握時

3、間局部性和空間局部性的概念;掌握掌握Cache主存、主存主存、主存輔存的存儲器分層結(jié)構(gòu);輔存的存儲器分層結(jié)構(gòu);掌握掌握Cache的工作原理。的工作原理。5 / 29計算機組成原理5存儲器訪問的局部性原理存儲器訪問的局部性原理 經(jīng)過對處理器訪問主存儲器情況的統(tǒng)計發(fā)現(xiàn),經(jīng)過對處理器訪問主存儲器情況的統(tǒng)計發(fā)現(xiàn),無論是取指令還是存取數(shù)據(jù),處理器訪問的存儲無論是取指令還是存取數(shù)據(jù),處理器訪問的存儲單元趨向于聚集在一個相對較小的連續(xù)存儲單元單元趨向于聚集在一個相對較小的連續(xù)存儲單元區(qū)域內(nèi)。這種現(xiàn)象稱為存儲器訪問的區(qū)域內(nèi)。這種現(xiàn)象稱為存儲器訪問的局部性原理局部性原理。6 / 29計算機組成原理6存儲器訪問的

4、局部性原理存儲器訪問的局部性原理l訪問局部性表現(xiàn)為訪問局部性表現(xiàn)為時間局部性時間局部性和和空間局部性空間局部性。l時間局部性時間局部性是指將要訪問的信息就是現(xiàn)在正在訪是指將要訪問的信息就是現(xiàn)在正在訪問的信息。問的信息??臻g局部性空間局部性是指將要用到的信息就在是指將要用到的信息就在正使用的信息旁邊。正使用的信息旁邊。l一個程序在某個時間段內(nèi)訪問的主存儲器空間范一個程序在某個時間段內(nèi)訪問的主存儲器空間范圍稱為該程序的圍稱為該程序的工作集工作集。對大多數(shù)程序而言,工。對大多數(shù)程序而言,工作集的變化十分緩慢,有時甚至是不變的作集的變化十分緩慢,有時甚至是不變的。 7 / 29計算機組成原理7 用戶對

5、存儲系統(tǒng)的要求一般是相同的:容量用戶對存儲系統(tǒng)的要求一般是相同的:容量大、速度快、價格低。大、速度快、價格低。 在現(xiàn)有存儲器工藝技術(shù)水平下,上述要求無在現(xiàn)有存儲器工藝技術(shù)水平下,上述要求無法滿足。容量大的存儲器在速度上通常要比容量法滿足。容量大的存儲器在速度上通常要比容量小的存儲器慢。速度快的存儲器在價格上通常要小的存儲器慢。速度快的存儲器在價格上通常要比速度慢的存儲器貴。比速度慢的存儲器貴。 層次結(jié)構(gòu)存儲系統(tǒng)層次結(jié)構(gòu)存儲系統(tǒng)8 / 29計算機組成原理8層次結(jié)構(gòu)存儲系統(tǒng)層次結(jié)構(gòu)存儲系統(tǒng) 這需要利用存儲器訪問的局部性原理,選擇不這需要利用存儲器訪問的局部性原理,選擇不同容量、速度和價格的存儲器來

6、構(gòu)造一個層次結(jié)構(gòu)同容量、速度和價格的存儲器來構(gòu)造一個層次結(jié)構(gòu)的存儲系統(tǒng)。即把最近頻繁訪問的一小部分信息存的存儲系統(tǒng)。即把最近頻繁訪問的一小部分信息存放在速度快、容量小的存儲器中,而信息的全部存放在速度快、容量小的存儲器中,而信息的全部存放在速度慢、容量大的存儲器。放在速度慢、容量大的存儲器。低一級存儲器低一級存儲器高一級高一級存儲器存儲器讀讀a寫寫a塊塊X塊塊 Y塊塊X處處理理器器aa9 / 29計算機組成原理9層次結(jié)構(gòu)存儲系統(tǒng)層次結(jié)構(gòu)存儲系統(tǒng) 計算機存儲系統(tǒng)的層次結(jié)構(gòu)中,最重要的兩計算機存儲系統(tǒng)的層次結(jié)構(gòu)中,最重要的兩個層次是采用高速緩沖存儲器的個層次是采用高速緩沖存儲器的“Cache 主存

7、主存”層次層次,以及基于虛擬存儲器的,以及基于虛擬存儲器的“主存主存 輔存輔存”層次層次。 前者能提高存儲系統(tǒng)的等效訪問速度,即彌前者能提高存儲系統(tǒng)的等效訪問速度,即彌補主存儲器在速度上的不足;后者擴大了存儲系補主存儲器在速度上的不足;后者擴大了存儲系統(tǒng)的容量,即彌補主存儲器在容量上的不足。統(tǒng)的容量,即彌補主存儲器在容量上的不足。10 / 29計算機組成原理10層次結(jié)構(gòu)存儲系統(tǒng)層次結(jié)構(gòu)存儲系統(tǒng) 若要訪問的信息在高一級存儲器中找到,若要訪問的信息在高一級存儲器中找到,則稱為則稱為命中命中,否則稱為不命中或,否則稱為不命中或失效失效。命中率命中率是指對層次結(jié)構(gòu)存儲系統(tǒng)中的某一級存儲器來是指對層次結(jié)

8、構(gòu)存儲系統(tǒng)中的某一級存儲器來說,要訪問的數(shù)據(jù)正在這一級中的比率。說,要訪問的數(shù)據(jù)正在這一級中的比率。 11 / 29計算機組成原理111 1、基本原理、基本原理(1 1)功能:解決)功能:解決CPUCPU和主存之間的速度不匹配問題和主存之間的速度不匹配問題一般采用高速的一般采用高速的SRAMSRAM構(gòu)成。構(gòu)成。CPUCPU和主存之間的速度差別很大采用兩級或多和主存之間的速度差別很大采用兩級或多級級CacheCache系統(tǒng)系統(tǒng)早期的一級早期的一級CacheCache在在CPUCPU內(nèi),二級在主板上內(nèi),二級在主板上現(xiàn)在的現(xiàn)在的CPUCPU內(nèi)帶內(nèi)帶L1 CaheL1 Cahe和和L2 CaheL2

9、Cahe全由硬件調(diào)度,對用戶透明全由硬件調(diào)度,對用戶透明12 / 29計算機組成原理1213 / 29計算機組成原理13Cache的工作原理的工作原理 CPUCPU發(fā)出訪問主存的地址發(fā)出訪問主存的地址MM不久目標(biāo)數(shù)據(jù)將肯定從主存送往不久目標(biāo)數(shù)據(jù)將肯定從主存送往CPUCache沒有沒有Cache,計算機,計算機照常工作,有了照常工作,有了Cache, 計算機工作得計算機工作得快一點!快一點!14 / 29計算機組成原理14CPUCacheMMCPU發(fā)出訪問主存的地址發(fā)出訪問主存的地址這個主存地這個主存地址址Cache也也同時收到同時收到若目標(biāo)數(shù)據(jù)在若目標(biāo)數(shù)據(jù)在Cache中中(命中命中)則則Cac

10、he將先于將先于主存把數(shù)據(jù)送往主存把數(shù)據(jù)送往CPU若若Cache沒命中沒命中則主存遲早會把則主存遲早會把目標(biāo)數(shù)據(jù)送往目標(biāo)數(shù)據(jù)送往CPU15 / 29計算機組成原理15 事實上,對于事實上,對于M體交叉訪問的主存儲器,體交叉訪問的主存儲器,給出一個主存地址在一個訪存周期內(nèi)能夠讀出給出一個主存地址在一個訪存周期內(nèi)能夠讀出M個字。根據(jù)程序訪問的局部性原理,個字。根據(jù)程序訪問的局部性原理,CPU將將會繼續(xù)訪問這會繼續(xù)訪問這M個字。個字。 所以,通常在主存與所以,通常在主存與Cache之間設(shè)置一條多之間設(shè)置一條多字寬的局部數(shù)據(jù)線。字寬的局部數(shù)據(jù)線。 當(dāng)當(dāng)Cache不命中時,不命中時,CPU將在訪問目標(biāo)數(shù)

11、據(jù)將在訪問目標(biāo)數(shù)據(jù)的同時,一并從的同時,一并從主存主存讀出來的讀出來的M個字,并將其作個字,并將其作為一個為一個 塊塊 傳送給傳送給Cache。這樣。這樣CPU的下一次訪問的下一次訪問基本上能夠在基本上能夠在Cache中命中了。中命中了。16 / 29計算機組成原理16 當(dāng)當(dāng)Cache不命中,不命中,CPU正常訪問主存時,主正常訪問主存時,主存一方面將存一方面將目標(biāo)數(shù)據(jù)目標(biāo)數(shù)據(jù)通過通過系統(tǒng)數(shù)據(jù)總線系統(tǒng)數(shù)據(jù)總線送往送往CPU;另一方面,通過另一方面,通過CacheMM局部多字寬數(shù)據(jù)線局部多字寬數(shù)據(jù)線將將附帶讀出的附帶讀出的一個字塊一個字塊送往送往Cache。CPUCacheMM17 / 29計算

12、機組成原理17 隨著隨著CPU訪問主存的不斷進行時,越來越多訪問主存的不斷進行時,越來越多的主存字塊被裝入的主存字塊被裝入Cache。 由于由于Cache的容量有限,遲早會出現(xiàn)的容量有限,遲早會出現(xiàn)Cache裝裝滿的情況。滿的情況。 所以當(dāng)一個新字塊要裝入所以當(dāng)一個新字塊要裝入Cache時,它將要判時,它將要判斷斷Cache是否已滿?是否已滿? 未滿則直接裝入,未滿則直接裝入, 否則將啟動否則將啟動Cache內(nèi)部的替換控制機構(gòu),從內(nèi)部的替換控制機構(gòu),從Cache存儲體中選擇一個舊的字塊,將其通過存儲體中選擇一個舊的字塊,將其通過CacheMM局部多字寬數(shù)據(jù)線寫回主存,以騰出局部多字寬數(shù)據(jù)線寫回

13、主存,以騰出空間接納新送來的字塊??臻g接納新送來的字塊。18 / 29計算機組成原理18 由于程序訪問局部性原理的存在,由于程序訪問局部性原理的存在,Cache的的命中率通常都在命中率通常都在90%以上。以上。 所以,增設(shè)所以,增設(shè)Cache后,后,CPU的平均訪存速度的平均訪存速度明顯提高,基本上接近明顯提高,基本上接近Cache 的速度。的速度。 在在CPU看來,它只付出了少許成本,就擁看來,它只付出了少許成本,就擁有了一個與主存儲器容量相當(dāng),速度幾乎等于有了一個與主存儲器容量相當(dāng),速度幾乎等于Cache的高級的高級“存儲器存儲器”19 / 29計算機組成原理19Cache的命中率的命中率

14、 從從CPUCPU來看,增加一個來看,增加一個cachecache的目的,就是在的目的,就是在性能上使主存的平均讀出時間盡可能接近性能上使主存的平均讀出時間盡可能接近cachecache的的讀出時間。為了達到這個目的,在所有的存儲器讀出時間。為了達到這個目的,在所有的存儲器訪問中由訪問中由cachecache滿足滿足CPUCPU需要的部分應(yīng)占很高的比需要的部分應(yīng)占很高的比例,即例,即cachecache的命中率應(yīng)接近于的命中率應(yīng)接近于1 1。由于程序訪問。由于程序訪問的局部性,實現(xiàn)這個目標(biāo)是可能的。的局部性,實現(xiàn)這個目標(biāo)是可能的。 20 / 29計算機組成原理20l在一個程序執(zhí)行期間,設(shè)在一個

15、程序執(zhí)行期間,設(shè)NcNc表示表示cachecache完成存取完成存取的總次數(shù),的總次數(shù),NmNm表示主存完成存取的總次數(shù),表示主存完成存取的總次數(shù),h h定定義為命中率,則有義為命中率,則有 l若若tctc表示命中時的表示命中時的cachecache訪問時間,訪問時間,tmtm表示未命表示未命中時的主存訪問時間,中時的主存訪問時間,1-h1-h表示未命中率,表示未命中率, 則則cache/cache/主存系統(tǒng)的平均訪問時間主存系統(tǒng)的平均訪問時間tata為:為:mcathhtt)1 ( mccNNNh21 / 29計算機組成原理21l我們追求的目標(biāo)是,以較小的硬件代價使我們追求的目標(biāo)是,以較小的

16、硬件代價使cache/cache/主主存系統(tǒng)的平均訪問時間存系統(tǒng)的平均訪問時間tata越接近越接近tctc越好。越好。l設(shè)設(shè)r=tm/tcr=tm/tc表示主存慢于表示主存慢于cachecache的倍率,的倍率,e e表示訪問表示訪問效率,則有效率,則有l(wèi)由表達式看出,為提高訪問效率,命中率由表達式看出,為提高訪問效率,命中率h h越接近越接近1 1越好,越好,r r值以值以510510為宜,不宜太大。為宜,不宜太大。l命中率命中率h h與程序的行為、與程序的行為、cachecache的容量、組織方式、的容量、組織方式、塊的大小有關(guān)。塊的大小有關(guān)。hrrrhhthhttttemccac)1 (

17、1)1 (1)1 (22 / 29計算機組成原理2223 / 29計算機組成原理23解:解: 需要用到的公式:需要用到的公式:cmacmcamccttrhrrttethhttNNNh/)1 (1)1 (命中率命中率 Cache/主存系統(tǒng)的平均訪主存系統(tǒng)的平均訪問時間問時間訪問效率訪問效率Cache與內(nèi)存的速度比與內(nèi)存的速度比24 / 29計算機組成原理24l命中率:命中率: h=Nc/h=Nc/(Nc+NmNc+Nm)=1900/(1900+100)=0.95=1900/(1900+100)=0.95l訪問訪問CacheCache與內(nèi)存的速度比:與內(nèi)存的速度比: r=tm/tc=250ns/5

18、0ns=5r=tm/tc=250ns/50ns=5l訪問效率:訪問效率: e=1/(r+(1-r)h)=1/(5+(1-5)e=1/(r+(1-r)h)=1/(5+(1-5)0.95=83.3%0.95=83.3%l平均訪問時間:平均訪問時間: ta=tc/e=50ns/0.833=60ns ta=tc/e=50ns/0.833=60ns 25 / 29計算機組成原理25 存儲器訪問的存儲器訪問的局部性原理:局部性原理:無論是取指令還是存無論是取指令還是存取數(shù)據(jù),處理器訪問的存儲單元趨向于聚集在一取數(shù)據(jù),處理器訪問的存儲單元趨向于聚集在一個相對較小的連續(xù)存儲單元區(qū)域內(nèi)。個相對較小的連續(xù)存儲單元區(qū)域內(nèi)。 時間局部性時間局

溫馨提示

  • 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

提交評論