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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17、1)1 (1)1 (22 / 29計(jì)算機(jī)組成原理2223 / 29計(jì)算機(jī)組成原理23解:解: 需要用到的公式:需要用到的公式:cmacmcamccttrhrrttethhttNNNh/)1 (1)1 (命中率命中率 Cache/主存系統(tǒng)的平均訪主存系統(tǒng)的平均訪問時(shí)間問時(shí)間訪問效率訪問效率Cache與內(nèi)存的速度比與內(nèi)存的速度比24 / 29計(jì)算機(jī)組成原理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平均訪問時(shí)間:平均訪問時(shí)間: ta=tc/e=50ns/0.833=60ns ta=tc/e=50ns/0.833=60ns 25 / 29計(jì)算機(jī)組成原理25 存儲(chǔ)器訪問的存儲(chǔ)器訪問的局部性原理:局部性原理:無論是取指令還是存無論是取指令還是存取數(shù)據(jù),處理器訪問的存儲(chǔ)單元趨向于聚集在一取數(shù)據(jù),處理器訪問的存儲(chǔ)單元趨向于聚集在一個(gè)相對(duì)較小的連續(xù)存儲(chǔ)單元區(qū)域內(nèi)。個(gè)相對(duì)較小的連續(xù)存儲(chǔ)單元區(qū)域內(nèi)。 時(shí)間局部性時(shí)間局

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論