版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、計算機(jī)組成原理第七章 存儲系統(tǒng)計算機(jī)組成原理7.1 存儲系統(tǒng)的層次結(jié)構(gòu)7.2 高級緩沖存儲器7.3 虛擬存儲器7.4 相聯(lián)存儲器計算機(jī)組成原理7.1 存儲系統(tǒng)的層次結(jié)構(gòu)1.主存和輔存的概念2.主存和輔存在操作系統(tǒng)的控制下,通過軟硬件把主存和輔存統(tǒng)一成為一個整體,形成一個存儲層次。這個層次擁有接近于主存的速度和輔存的容量,價格也接近于輔存的價格。3.在CPU和主存之間有高速緩沖存儲器cache,這完全是由硬件來完成的。 Cache主存的速度接近于cache,而容量與價格接近于主存。 Cache的速度接近于CPU。計算機(jī)組成原理1.三級結(jié)構(gòu)的存儲器系統(tǒng):將高速緩緩沖存儲器、主存儲器和輔助(虛擬)存
2、儲器組成的統(tǒng)一管理、調(diào)度的一體化三級結(jié)構(gòu)的存儲器系統(tǒng)。 計算機(jī)組成原理3.三種存儲器的比較 (1)高速緩存(Cache):速度快,容量小,用于臨時存放運行中的指令和少量數(shù)據(jù); (2)主存:速度、容量一般,用于臨時存放運行中的大量程序和數(shù); (3)輔存:速度慢,容量大,用于永久存放大型程序軟件和數(shù)據(jù)庫。計算機(jī)組成原理4.采用三級結(jié)構(gòu)的目的和方法 n(1)Cache-Cache-主存層次主存層次:解決CPU與主存間速度不匹配問題,使系統(tǒng)具有主存容量和接近于Cache速度。采用地址映像方式,以字塊為基本信息單位。 (2)虛擬存儲器虛擬存儲器- -主存層次主存層次:解決主存容量小、運行成本高的問題,使
3、系統(tǒng)具有輔存容量和接近主存速度,且造價和運行成本低。采用地址變換方式,以段、頁為基本信息單位。 計算機(jī)組成原理1.局部性原理局部性原理三級結(jié)構(gòu)存儲器系統(tǒng)運行原理基礎(chǔ) (1)時間局部性:在較小的時間間隔內(nèi),最近被訪問的指令和數(shù)據(jù)很可能再次被訪問; (2)空間局部性:這些最近被訪問的指令和數(shù)據(jù)往往集中在一小片存儲區(qū)域中; (3)指令執(zhí)行方式局部性:順序執(zhí)行較轉(zhuǎn)移執(zhí)行可能性大。 計算機(jī)組成原理n3.一致性原則一致性原則:同時存放在三類存儲器中的信息,在三類存儲器中必須保持同值。 2.包含性原則包含性原則:處在內(nèi)層的存儲器的信息一定包含在各外層存儲器中。即內(nèi)層存儲器中信息是外層存儲器所存信息的一小部分
4、的副本。 Cache:一種容量小、速度快,用靜態(tài)存儲器器件實現(xiàn)的存儲器。 n作用:解決CPU與主存速度不匹配的問題,使系統(tǒng)速度接近于CPU,容量接近于主存。 計算機(jī)組成原理計算機(jī)組成原理高速緩沖存儲器(高速緩沖存儲器(cache)l 目前,組成主存的目前,組成主存的DRAM存取速度一般落后于存取速度一般落后于CPU的處理的處理速度,速度,CPU訪問主存時不得不插入等待周期來適應(yīng)主存的訪問主存時不得不插入等待周期來適應(yīng)主存的速度,致使系統(tǒng)整體下降。速度,致使系統(tǒng)整體下降。l 高速緩沖存儲器高速緩沖存儲器Cache:是為解決是為解決CPU和和DRAM之間的速度匹配而采用的一項之間的速度匹配而采用的
5、一項重要技術(shù);重要技術(shù);是發(fā)揮是發(fā)揮CPU高速高效的性能而設(shè)置的一種介于高速高效的性能而設(shè)置的一種介于CPU和和DRAM之間的高速小容量緩沖存儲器;之間的高速小容量緩沖存儲器;存取速度要比主存快,由高速的存取速度要比主存快,由高速的SRAM組成;組成;全部功能由硬件實現(xiàn),保證了其高速度。全部功能由硬件實現(xiàn),保證了其高速度。計算機(jī)組成原理高速緩沖存儲器(高速緩沖存儲器(cache)l cache的工作機(jī)制的工作機(jī)制l cache基本原理基本原理l 地址映象(映射)與地址變換地址映象(映射)與地址變換l cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l 替換策略替換策略l 高速緩沖器高速緩沖器ca
6、che的構(gòu)成的構(gòu)成計算機(jī)組成原理cache的工作機(jī)制的工作機(jī)制l 高速緩沖存儲器高速緩沖存儲器cache的工作機(jī)制基于程序訪問的局部性的工作機(jī)制基于程序訪問的局部性原則。原則。l 一個運行程序的代碼大都順序存放在地址連續(xù)的存儲器中,一個運行程序的代碼大都順序存放在地址連續(xù)的存儲器中,與程序相關(guān)的數(shù)據(jù)在存儲器中也相對集中。與程序相關(guān)的數(shù)據(jù)在存儲器中也相對集中。l 程序運行時,尤其有循環(huán)程序段和子程序段時,在較短的程序運行時,尤其有循環(huán)程序段和子程序段時,在較短的時間區(qū)間內(nèi),常會對局部范圍的存儲器頻繁訪問,某存儲時間區(qū)間內(nèi),常會對局部范圍的存儲器頻繁訪問,某存儲單元被訪問了,該單位可能會被再次訪問
7、,大多數(shù)存取又單元被訪問了,該單位可能會被再次訪問,大多數(shù)存取又是在緊接著上次存取地址附近,而此范圍之外的地址訪問是在緊接著上次存取地址附近,而此范圍之外的地址訪問甚少。這種現(xiàn)象稱程序訪問的局部性。甚少。這種現(xiàn)象稱程序訪問的局部性。計算機(jī)組成原理cache的工作機(jī)制的工作機(jī)制l 根據(jù)局部性原理,可以在主存和根據(jù)局部性原理,可以在主存和CPU之間設(shè)置一個高速的之間設(shè)置一個高速的容量相對較小的存儲器,如果當(dāng)前正在執(zhí)行的程序和數(shù)據(jù)容量相對較小的存儲器,如果當(dāng)前正在執(zhí)行的程序和數(shù)據(jù)存放在這個存儲器中,在程序運行時,不必從主存儲器取存放在這個存儲器中,在程序運行時,不必從主存儲器取指令和取數(shù)據(jù),只需訪問
8、這個高速存儲器,以提高程序運指令和取數(shù)據(jù),只需訪問這個高速存儲器,以提高程序運行速度。這個存儲器稱作高速緩沖存儲器行速度。這個存儲器稱作高速緩沖存儲器Cache。l Cache由高速的由高速的SRAM組成,它的工作速度數(shù)倍于主存,組成,它的工作速度數(shù)倍于主存,全部功能由硬件實現(xiàn),并且對程序員是透明的。全部功能由硬件實現(xiàn),并且對程序員是透明的。計算機(jī)組成原理cache的工作機(jī)制的工作機(jī)制計算機(jī)組成原理cache基本原理基本原理lCache結(jié)構(gòu)設(shè)計必須解決的問題:結(jié)構(gòu)設(shè)計必須解決的問題: 如何存放,如何訪問,如何替換,如何改寫?如何存放,如何訪問,如何替換,如何改寫?l數(shù)據(jù)塊在數(shù)據(jù)塊在Cache中
9、存放在哪個位置?即定位問題(地址中存放在哪個位置?即定位問題(地址映象)映象) 。如果一個塊存放在某一。如果一個塊存放在某一Cache中,怎樣確定并中,怎樣確定并找到該塊,即尋址問題(地址變換)。找到該塊,即尋址問題(地址變換)。l不命中時將從主存儲器中訪問,并將該塊調(diào)入不命中時將從主存儲器中訪問,并將該塊調(diào)入Cache中,中,但是如果但是如果Cache中已無空閑空間,則勢必將中已無空閑空間,則勢必將Cache中的中的某一塊調(diào)出,但應(yīng)調(diào)出那一塊,即替換問題。某一塊調(diào)出,但應(yīng)調(diào)出那一塊,即替換問題。1. 在寫訪問時,寫入在寫訪問時,寫入Cache必須在適當(dāng)?shù)臅r候?qū)懟刂鞔鎯Ρ仨氃谶m當(dāng)?shù)臅r候?qū)懟刂鞔?/p>
10、儲器,何時寫?寫操作時采用什么策略保證兩級存儲器間器,何時寫?寫操作時采用什么策略保證兩級存儲器間的數(shù)據(jù)一致性。寫操作失配時是否將訪問塊取入高層存的數(shù)據(jù)一致性。寫操作失配時是否將訪問塊取入高層存儲器。儲器。計算機(jī)組成原理cache基本原理基本原理l 高速緩沖存儲器包括:高速緩沖存儲器包括:cache控制部件控制部件cache存儲器存儲器計算機(jī)組成原理cache基本原理基本原理cache控制部件控制部件包括:包括:主存地址寄存器主存地址寄存器主存主存cache地址變換機(jī)構(gòu)地址變換機(jī)構(gòu)替換控制部件替換控制部件cache地址寄存器地址寄存器控制部件均由硬件組成控制部件均由硬件組成計算機(jī)組成原理cac
11、he基本原理基本原理cache存儲器存儲器多采用與多采用與CPU相同類型的半導(dǎo)體集成電路制成的高相同類型的半導(dǎo)體集成電路制成的高速存儲元件速存儲元件SRAM;存取速度比主存快且與存取速度比主存快且與CPU接近;接近;整個整個cache存儲器介于存儲器介于CPU和主存之間,直接接受和主存之間,直接接受CPU訪問;訪問;CPU不僅與不僅與cache相接,而且與主存仍然保持通路。相接,而且與主存仍然保持通路。計算機(jī)組成原理計算機(jī)組成原理cache基本原理基本原理l 在主存在主存cache存儲體系中,所有的程序和數(shù)據(jù)都在主存存儲體系中,所有的程序和數(shù)據(jù)都在主存中,中,cache存儲器只存放主存一部分程
12、序塊和數(shù)據(jù)塊的副存儲器只存放主存一部分程序塊和數(shù)據(jù)塊的副本,這種以塊為單位的存儲方式是基于計算機(jī)程序的局部本,這種以塊為單位的存儲方式是基于計算機(jī)程序的局部性。性。l 從程序局部性可知,從程序局部性可知,cache中的程序塊和數(shù)據(jù)塊使中的程序塊和數(shù)據(jù)塊使CPU要要訪問的內(nèi)容在大多數(shù)情況下已經(jīng)在訪問的內(nèi)容在大多數(shù)情況下已經(jīng)在cache存儲器里,存儲器里,CPU讀寫操作主要在讀寫操作主要在CPU和和cache之間進(jìn)行。之間進(jìn)行。計算機(jī)組成原理cache基本原理基本原理l cache的命中的命中任何時候都有一些主存塊處在任何時候都有一些主存塊處在Cache中。中。CPU訪問存儲體系時首先訪問訪問存儲
13、體系時首先訪問cache,送出訪問單元,送出訪問單元的地址由地址總線打入的地址由地址總線打入cache存儲器的主存地址寄存器存儲器的主存地址寄存器MA;主存主存cache地址變換機(jī)構(gòu)從主存地址寄存器地址變換機(jī)構(gòu)從主存地址寄存器MA獲取獲取地址判斷該單元內(nèi)容是否已在地址判斷該單元內(nèi)容是否已在cache中存放副本,如果中存放副本,如果副本已經(jīng)在副本已經(jīng)在cache中了,稱為命中;反之稱不命中或命中了,稱為命中;反之稱不命中或命中失效。中失效。計算機(jī)組成原理cache基本原理基本原理主存塊號塊內(nèi)地址地址映象變換機(jī)構(gòu)Cache塊號塊內(nèi)地址C Ca ac ch he e主主存存C Ca ac ch he
14、 e替替換換策策略略主主存存地地址址C Ca ac ca ah he e地地址址訪訪問問主主存存替替換換C Ca ac ch he e訪訪問問主主存存裝裝入入C Ca ac ch he e已已滿滿不不命命中中命命中中未未滿滿塊塊單單字字到到C CP PU U來來自自C CP PU U計算機(jī)組成原理cache基本原理基本原理指指CPU所要訪問的信息在所要訪問的信息在Cache中的比率;中的比率;所要訪問的信息不在所要訪問的信息不在Cache中的比率稱為中的比率稱為。l 增加增加cache的目的,就是在性能上使主存的平均讀出時間的目的,就是在性能上使主存的平均讀出時間盡可能接近盡可能接近cache
15、的讀出時間。因此,的讀出時間。因此, cache的命中率應(yīng)的命中率應(yīng)接近于接近于1。l 由于程序訪問的局部性由于程序訪問的局部性 ,這是可能的。,這是可能的。計算機(jī)組成原理cache基本原理基本原理l 當(dāng)命中時立即把訪問地址變換成它在當(dāng)命中時立即把訪問地址變換成它在cache的地址,然后的地址,然后驅(qū)動驅(qū)動cache存儲體。存儲體。l 當(dāng)是讀操作時,當(dāng)是讀操作時,CPU從從cache中直接讀取信息;中直接讀取信息;l 若是寫操作,不但要把新內(nèi)容寫入若是寫操作,不但要把新內(nèi)容寫入cache存儲器中,而且存儲器中,而且必須同時寫入主存,使主存和必須同時寫入主存,使主存和cache內(nèi)容同時修改,保證
16、內(nèi)容同時修改,保證主存和副本內(nèi)容一致,這種方法也叫直達(dá)法。主存和副本內(nèi)容一致,這種方法也叫直達(dá)法。計算機(jī)組成原理cache基本原理基本原理l 有的機(jī)器考慮到當(dāng)寫入操作很頻繁或者寫入的是中間結(jié)果,有的機(jī)器考慮到當(dāng)寫入操作很頻繁或者寫入的是中間結(jié)果,每次寫入主存很浪費時間,于是設(shè)計成每次只改寫每次寫入主存很浪費時間,于是設(shè)計成每次只改寫cache的內(nèi)容并不立即修改主存中相應(yīng)的單元,只有當(dāng)?shù)膬?nèi)容并不立即修改主存中相應(yīng)的單元,只有當(dāng)cache中中被寫過的塊要被新進(jìn)入被寫過的塊要被新進(jìn)入cache的信息塊取代時才一次寫回的信息塊取代時才一次寫回主存里,這種方法稱回寫法。主存里,這種方法稱回寫法。計算機(jī)組
17、成原理cache基本原理基本原理l 如果如果CPU要訪問的內(nèi)容根本不在要訪問的內(nèi)容根本不在cache中,即中,即“不命中不命中”,那么那么CPU轉(zhuǎn)去直接訪問主存。轉(zhuǎn)去直接訪問主存。l 若是讀操作,若是讀操作,CPU則從主存讀取信息的同時,則從主存讀取信息的同時,cache控制控制部件把該地址所在那塊存儲內(nèi)容從主存一次調(diào)進(jìn)部件把該地址所在那塊存儲內(nèi)容從主存一次調(diào)進(jìn)cache存存儲器,以存儲塊為單位調(diào)入儲器,以存儲塊為單位調(diào)入cache存儲器可以提高下次訪存儲器可以提高下次訪問的命中率。問的命中率。l 若是寫操作,則處理就簡單多了,很多計算機(jī)系統(tǒng)只向主若是寫操作,則處理就簡單多了,很多計算機(jī)系統(tǒng)只
18、向主存寫入信息,不必同時把這個地址所在的存儲內(nèi)容再調(diào)入存寫入信息,不必同時把這個地址所在的存儲內(nèi)容再調(diào)入cache存儲器中。存儲器中。計算機(jī)組成原理cache基本原理基本原理l 直達(dá)法:直達(dá)法:優(yōu)點:數(shù)據(jù)不會出現(xiàn)不一致優(yōu)點:數(shù)據(jù)不會出現(xiàn)不一致缺點:對寫操作沒有高速緩存的作用缺點:對寫操作沒有高速緩存的作用l 回寫法:回寫法:優(yōu)點:速度快優(yōu)點:速度快缺點:存在數(shù)據(jù)不一致隱患缺點:存在數(shù)據(jù)不一致隱患計算機(jī)組成原理cache基本原理基本原理l 對于共享一個主存的多處理機(jī)系統(tǒng),因為處理機(jī)各自擁有對于共享一個主存的多處理機(jī)系統(tǒng),因為處理機(jī)各自擁有cache存儲器,所以必須采用寫直達(dá)法將任何一個存儲器,所
19、以必須采用寫直達(dá)法將任何一個cache中修改的內(nèi)容同時寫入主存,保證其他中修改的內(nèi)容同時寫入主存,保證其他cache向主存調(diào)用向主存調(diào)用信息塊時是修改過的而不是失效的信息。信息塊時是修改過的而不是失效的信息。l 這點對于擁有多個處理機(jī)而共享一個主存的計算機(jī)系統(tǒng)特這點對于擁有多個處理機(jī)而共享一個主存的計算機(jī)系統(tǒng)特別重要。別重要。計算機(jī)組成原理7.2 高速緩沖存儲器(高速緩沖存儲器(cache)l cache的工作機(jī)制的工作機(jī)制l cache基本原理基本原理l 地址映象(映射)與地址變換地址映象(映射)與地址變換l cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l 替換策略替換策略l 高速緩沖器高
20、速緩沖器cache的構(gòu)成的構(gòu)成計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 地址映象地址映象 把主存塊按照某種規(guī)則(函數(shù)或方法)裝入或定位到把主存塊按照某種規(guī)則(函數(shù)或方法)裝入或定位到Cache中的過程稱地址映象。中的過程稱地址映象。l 地址變換地址變換信息按這種映象關(guān)系裝入信息按這種映象關(guān)系裝入Cache后,執(zhí)行程序時,將后,執(zhí)行程序時,將主存地址變換成主存地址變換成 Cache地址的變換過程叫做地址變換。地址的變換過程叫做地址變換。l 地址映象和變換密切相關(guān)。地址映象和變換密切相關(guān)。 計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 使用使用Cache
21、的動力在于它的高速,因此也要求這個地址變的動力在于它的高速,因此也要求這個地址變換過程盡可能地快,故此過程是以硬件完成的。換過程盡可能地快,故此過程是以硬件完成的。l 這帶來的另一好處是這帶來的另一好處是Cache的透明性,除了程序運行速度的透明性,除了程序運行速度提高之外,用戶包括系統(tǒng)軟件編制人員,絲毫未感覺到提高之外,用戶包括系統(tǒng)軟件編制人員,絲毫未感覺到Cache的存在。的存在。計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 在高速緩沖存儲器中把在高速緩沖存儲器中把Cache和主存機(jī)械等分為相同大小和主存機(jī)械等分為相同大小的塊,每一塊是由若干個字(或字節(jié))組成。的塊,每
22、一塊是由若干個字(或字節(jié))組成。l 例:某機(jī)主存容量為例:某機(jī)主存容量為1MB,劃分為,劃分為2048塊,每塊塊,每塊512B;Cache容量為容量為8KB,劃分為,劃分為16塊,每塊塊,每塊512B。塊塊0 0塊塊1 1塊塊1515CacheCache標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記塊塊0 0塊塊1 1塊塊20472047主存主存m m位位 塊塊字字0 0字字1 1字字511511計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 由于由于Cache的塊數(shù)遠(yuǎn)小于主存的塊數(shù),因此一個的塊數(shù)遠(yuǎn)小于主存的塊數(shù),因此一個Cache不不能唯一地、永久地只對應(yīng)一個貯存塊,在能唯一地、永久地只對應(yīng)一
23、個貯存塊,在Cache中,每一中,每一塊外加有一個標(biāo)記,指明它是主存的哪一塊的副本(拷塊外加有一個標(biāo)記,指明它是主存的哪一塊的副本(拷貝)。貝)。塊塊0 0塊塊1 1塊塊1515CacheCache標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記塊塊0 0塊塊1 1塊塊20472047主存主存m m位位 塊塊字字0 0字字1 1字字511511計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換每個標(biāo)記設(shè)置有一個有效位。每個標(biāo)記設(shè)置有一個有效位。,Reset信號信號將所有標(biāo)記的有效位置將所有標(biāo)記的有效位置“0”,即無效。即無效。,Cache不命不命中時,逐步將指令塊或數(shù)據(jù)塊中時,逐步將指令塊或數(shù)據(jù)塊從主存調(diào)
24、入從主存調(diào)入Cache中的某一塊,中的某一塊,并將這一塊標(biāo)記的有效位置并將這一塊標(biāo)記的有效位置“1”,當(dāng)再次用到這一塊中的,當(dāng)再次用到這一塊中的指令或數(shù)據(jù)時,可直接從指令或數(shù)據(jù)時,可直接從Cache中取指令或數(shù)據(jù)。中取指令或數(shù)據(jù)。字塊字塊0 0字塊字塊1 1字塊字塊L Lm-1m-1 . .標(biāo)記標(biāo)記CacheCache0 01 12 2r r-1-1 標(biāo)記標(biāo)記有效位有效位計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 因剛加電時所有標(biāo)記位都為因剛加電時所有標(biāo)記位都為“0”,開始執(zhí)行程序時,命中,開始執(zhí)行程序時,命中率較低。率較低。l 另外另外Cache的命中率還與程序本身有關(guān)
25、,即不同的程序,的命中率還與程序本身有關(guān),即不同的程序,其命中率可能不同。其命中率可能不同。計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 基本的地址映象方式:基本的地址映象方式:直接映象直接映象全相連映象全相連映象組相連映象組相連映象計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 直接映射方式直接映射方式這是一種多對一的映射關(guān)系,一個主存塊只能映象到這是一種多對一的映射關(guān)系,一個主存塊只能映象到Cache的一個特定塊位置上去。的一個特定塊位置上去。在這種映象方式中:在這種映象方式中:主存的第主存的第0塊,第塊,第16塊,第塊,第32塊,塊,只能映象到,只能
26、映象到Cache的第的第0塊;塊;而主存的第而主存的第1塊,第塊,第17塊,第塊,第33塊,塊,只能映象,只能映象到到Cache的第的第1塊;塊;計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 直接映象直接映象塊塊 0塊塊 1塊塊 15CacheCache標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記.0 0 組組塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存TagTag1 1 組組127127組組7位位CacheCache地址地址C Ca ac ch he e塊塊號號塊塊內(nèi)內(nèi)地地址址4位位 9 位位主存地址主存地址塊塊內(nèi)內(nèi)地地址址C Ca ac
27、 ch he e塊塊號號主主存存標(biāo)標(biāo)記記(組組號號)7位位 4位位 9 位位主主存存塊塊號號塊塊內(nèi)內(nèi)地地址址11位位 9 位位計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 直接映象的地址變換方法直接映象的地址變換方法.0 0 組組塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存1 1 組組127127組組塊內(nèi)地址塊內(nèi)地址Cache塊號Cache塊號主存標(biāo)記(組號)主存標(biāo)記(組號)標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記塊塊 0塊塊 1塊塊 15有效位有效位有效位有效位: :有效位有效位7位 4位 9位7位 4位 9位比較比較命中命中數(shù)據(jù)數(shù)據(jù)
28、主存地址主存地址不命中不命中計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 優(yōu)點:優(yōu)點: 實現(xiàn)簡單,只需利用主存地址按某些字段直接判實現(xiàn)簡單,只需利用主存地址按某些字段直接判斷,即可確定所需字塊是否已在斷,即可確定所需字塊是否已在Cache中。中。l 缺點:不夠靈活,主存的多個字塊只能對應(yīng)唯一的缺點:不夠靈活,主存的多個字塊只能對應(yīng)唯一的Cache字塊,因此,即使字塊,因此,即使Cache別的地址空著也不能占用。別的地址空著也不能占用。Cache存儲空間得不到充分利用,降低了命中率。存儲空間得不到充分利用,降低了命中率。計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地
29、址變換l 全相聯(lián)映象方式全相聯(lián)映象方式塊塊 0塊塊 1塊塊 15CacheCache標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記.塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存TagTagC Ca ac ch he e塊塊號號塊塊內(nèi)內(nèi)地地址址Cache地址地址4 4位位 9 9 位位主主存存塊塊號號塊塊內(nèi)內(nèi)地地址址1111位位 9 9 位位主存地址主存地址允許主存中的允許主存中的每一個字塊映每一個字塊映象到象到CacheCache的任的任何一個字塊位何一個字塊位置上,最靈活置上,最靈活但成本最高的但成本最高的一種方式。一種方式。計算機(jī)組成原理地址映象地址映象(映
30、射映射)與地址變換與地址變換l 全相聯(lián)映象的地址變換方法全相聯(lián)映象的地址變換方法.塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記塊塊 0塊塊 1塊塊 15有效位有效位有效位有效位: :有效位有效位11位 9位11位 9位比較所有的標(biāo)記比較所有的標(biāo)記命中命中數(shù)據(jù)數(shù)據(jù)主存地址主存地址不命中不命中主存塊號主存塊號塊內(nèi)地址塊內(nèi)地址計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l全相聯(lián)映象的地址變換方法的優(yōu)缺點:全相聯(lián)映象的地址變換方法的優(yōu)缺點: 優(yōu)點:靈活,塊沖突概率小。只有當(dāng)優(yōu)點:靈活,塊沖突概率小。只有當(dāng)C
31、ache中全部裝中全部裝滿后,才有可能出現(xiàn)塊沖突;滿后,才有可能出現(xiàn)塊沖突; 缺點:要作相聯(lián)搜索,速度慢,代價高。缺點:要作相聯(lián)搜索,速度慢,代價高。計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 這只是一個理想的方案。兩個原因使其實際上很少采用:這只是一個理想的方案。兩個原因使其實際上很少采用:標(biāo)記位數(shù)從標(biāo)記位數(shù)從7位增加到位增加到11位,使位,使Cache標(biāo)記容量加大;標(biāo)記容量加大; 1.訪問訪問Cache時,需要和時,需要和Cache的全部標(biāo)記進(jìn)行的全部標(biāo)記進(jìn)行“比較比較”才能判斷出所訪主存地址的內(nèi)容是否已在才能判斷出所訪主存地址的內(nèi)容是否已在Cache中。中。由于由于
32、Cache速度要求高,通常由速度要求高,通常由“按內(nèi)容尋址按內(nèi)容尋址”的相的相聯(lián)存儲器完成,所需硬件邏輯電路很多,以至于無法聯(lián)存儲器完成,所需硬件邏輯電路很多,以至于無法用于用于cache中。實際的中。實際的Cache組織則是采取各種措施來組織則是采取各種措施來減少所需比較的地址數(shù)目。減少所需比較的地址數(shù)目。計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換直接映象和全相聯(lián)映象方式的一種直接映象和全相聯(lián)映象方式的一種。塊塊 0塊塊 1塊塊CacheCache標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記.塊塊0塊塊1塊塊 7塊塊 8塊塊 9塊塊 2032塊塊 2039主存主存Ta
33、gTag254組塊塊 0塊塊 1塊塊7標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記標(biāo)記70組1組塊塊 2033塊塊 15.塊塊 2047塊塊 2046.塊塊 2040255組0組1組計算機(jī)組成原理地址映象地址映象(映射映射)與地址變換與地址變換當(dāng)當(dāng)Cache只有一個組并且每組只有一個組并且每組16塊時,此時為直接映塊時,此時為直接映像;像;當(dāng)當(dāng)Cache有有16組并且每組一個塊時,則為全相聯(lián)映像。組并且每組一個塊時,則為全相聯(lián)映像。8位位 3位位 9 位位主存組號塊號塊內(nèi)地址1位位 3位位 9 位位Cache組號塊號塊內(nèi)地址計算機(jī)組成原理7.2 高速緩沖存儲器(高速緩沖存儲器(cach
34、e)l cache的工作機(jī)制的工作機(jī)制l cache基本原理基本原理l 地址映象(映射)與地址變換地址映象(映射)與地址變換l 替換策略替換策略l 高速緩沖器高速緩沖器cache的構(gòu)成的構(gòu)成計算機(jī)組成原理cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l cache中存放的是主存中部分信息的副本。中存放的是主存中部分信息的副本。l 為了保證為了保證CPU存取的數(shù)據(jù)準(zhǔn)確無誤,要求存取的數(shù)據(jù)準(zhǔn)確無誤,要求cache中每一個中每一個地址上的數(shù)據(jù)與主存中相應(yīng)存儲單元的數(shù)據(jù)保持完全相同,地址上的數(shù)據(jù)與主存中相應(yīng)存儲單元的數(shù)據(jù)保持完全相同,這種性質(zhì)稱這種性質(zhì)稱cache與主存數(shù)據(jù)的一致性。與主存數(shù)據(jù)的一致性
35、。l 寫直達(dá)法和回寫法是常見的保持?jǐn)?shù)據(jù)一致性的算法。寫直達(dá)法和回寫法是常見的保持?jǐn)?shù)據(jù)一致性的算法。計算機(jī)組成原理cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l cache與主存數(shù)據(jù)的不一致的情況:與主存數(shù)據(jù)的不一致的情況:CPU從從cache讀入數(shù)據(jù)重新寫入修改后的新數(shù)據(jù)時;讀入數(shù)據(jù)重新寫入修改后的新數(shù)據(jù)時;主存數(shù)據(jù)修改。主存數(shù)據(jù)修改。例如多處理機(jī)系統(tǒng),其中一個例如多處理機(jī)系統(tǒng),其中一個cache內(nèi)容修改后立內(nèi)容修改后立即用寫直達(dá)法寫入主存又導(dǎo)致主存數(shù)據(jù)可能與其他即用寫直達(dá)法寫入主存又導(dǎo)致主存數(shù)據(jù)可能與其他cache的副本不一致。的副本不一致。又例如,計算機(jī)的又例如,計算機(jī)的DMA訪問直接修
36、改了主存數(shù)據(jù),訪問直接修改了主存數(shù)據(jù),也可能造成與也可能造成與cache數(shù)據(jù)的不一致性。數(shù)據(jù)的不一致性。計算機(jī)組成原理cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l 通常采用的處理辦法有:通常采用的處理辦法有:主存監(jiān)視法:主存監(jiān)視法:利用硬件機(jī)構(gòu)使利用硬件機(jī)構(gòu)使cache控制器能監(jiān)視所有設(shè)備對主控制器能監(jiān)視所有設(shè)備對主存的操作或訪問,凡對主存的寫入也立即對存的操作或訪問,凡對主存的寫入也立即對cache中相應(yīng)單元進(jìn)行拷貝,從而保證數(shù)據(jù)的一致性中相應(yīng)單元進(jìn)行拷貝,從而保證數(shù)據(jù)的一致性設(shè)置設(shè)置“不可不可cache區(qū)區(qū)”:即在主存中開辟一塊存儲區(qū)域,該區(qū)域數(shù)據(jù)不能調(diào)即在主存中開辟一塊存儲區(qū)域,該區(qū)
37、域數(shù)據(jù)不能調(diào)入入cache,不受,不受cache控制器管理,但其他設(shè)備進(jìn)控制器管理,但其他設(shè)備進(jìn)入的數(shù)據(jù)只能直接寫入該區(qū)域。所以不會產(chǎn)生與入的數(shù)據(jù)只能直接寫入該區(qū)域。所以不會產(chǎn)生與cache中數(shù)據(jù)的不一致性。中數(shù)據(jù)的不一致性。“不可不可cache區(qū)區(qū)”可以通過可以通過BIOS設(shè)置程序來設(shè)置。設(shè)置程序來設(shè)置。計算機(jī)組成原理7.2 高速緩沖存儲器(高速緩沖存儲器(cache)l cache的工作機(jī)制的工作機(jī)制l cache基本原理基本原理l 地址映象(映射)與地址變換地址映象(映射)與地址變換l cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l 替換策略替換策略l 高速緩沖器高速緩沖器cache的
38、構(gòu)成的構(gòu)成計算機(jī)組成原理替換策略替換策略l 在主存在主存cache存儲體系工作過程中,主存和存儲體系工作過程中,主存和cache存儲器之間信息以塊為單位調(diào)度,信息塊存儲器之間信息以塊為單位調(diào)度,信息塊的長度取決于主存的結(jié)構(gòu)設(shè)計,主存常設(shè)計成多的長度取決于主存的結(jié)構(gòu)設(shè)計,主存常設(shè)計成多體交叉存儲結(jié)構(gòu)。體交叉存儲結(jié)構(gòu)。l 當(dāng)信息塊需要調(diào)入當(dāng)信息塊需要調(diào)入cache存儲器而存儲器而cache存儲器存儲器中已經(jīng)占滿信息時,中已經(jīng)占滿信息時,cache存儲器的替換控制部存儲器的替換控制部件將按一定的替換策略淘汰件將按一定的替換策略淘汰cache中舊有的一塊中舊有的一塊信息,被更新的舊信息塊應(yīng)該是下一段時
39、間內(nèi)估信息,被更新的舊信息塊應(yīng)該是下一段時間內(nèi)估計是最少使用的,然后用新的信息塊覆蓋掉。計是最少使用的,然后用新的信息塊覆蓋掉。計算機(jī)組成原理替換策略替換策略l 常用的替換策略有兩種:常用的替換策略有兩種: 先進(jìn)先出策略先進(jìn)先出策略FIFO策略策略總是更換掉當(dāng)前總是更換掉當(dāng)前cache中最先進(jìn)入的信息塊中最先進(jìn)入的信息塊這種方法控制簡單,實現(xiàn)容易這種方法控制簡單,實現(xiàn)容易近期最少使用策略近期最少使用策略 LRU策略策略計算機(jī)組成原理替換策略替換策略近期最少使用策略近期最少使用策略 LRU策略:策略:遵循的規(guī)則是新信息塊替代的是當(dāng)前遵循的規(guī)則是新信息塊替代的是當(dāng)前cache存儲器存儲器中被使用次
40、數(shù)最少的,即最不活躍的那塊信息;中被使用次數(shù)最少的,即最不活躍的那塊信息;使用使用LRU方法的方法的cache存儲器每一個字塊都要附設(shè)存儲器每一個字塊都要附設(shè)一個計數(shù)器記錄被使用的情況,每當(dāng)一個計數(shù)器記錄被使用的情況,每當(dāng)cache中的一中的一塊信息被命中時,比命中塊計數(shù)值低的信息塊均加塊信息被命中時,比命中塊計數(shù)值低的信息塊均加1,而命中塊計數(shù)器清而命中塊計數(shù)器清0;顯然,這種技術(shù)方法各信息塊的計數(shù)值總是不相同顯然,這種技術(shù)方法各信息塊的計數(shù)值總是不相同的。的。計算機(jī)組成原理替換策略替換策略一旦不命中情況發(fā)生時,新信息塊從主存調(diào)入一旦不命中情況發(fā)生時,新信息塊從主存調(diào)入cache存儲器替換計
41、數(shù)值最大的那片存儲區(qū),新信存儲器替換計數(shù)值最大的那片存儲區(qū),新信息塊計數(shù)值為息塊計數(shù)值為0,其余信息塊計數(shù)均加,其余信息塊計數(shù)均加1,保證了那,保證了那些活躍的信息塊經(jīng)常被命中或最近被命中的信些活躍的信息塊經(jīng)常被命中或最近被命中的信息塊計數(shù)值要小,而近來越來越不活躍的信息塊計息塊計數(shù)值要小,而近來越來越不活躍的信息塊計數(shù)值越大;數(shù)值越大;LRU策略是目前使用較多的一種策略,能夠有效的策略是目前使用較多的一種策略,能夠有效的提高命中率。提高命中率。計算機(jī)組成原理替換策略替換策略l 無論無論FIFO策略還是策略還是LRU策略,其實最先被調(diào)入策略,其實最先被調(diào)入cache的信的信息塊或最近最少使用的
42、信息塊都不能肯定是最近將絕不會息塊或最近最少使用的信息塊都不能肯定是最近將絕不會使用,所以替換策略不能作為最合理最優(yōu)秀的。使用,所以替換策略不能作為最合理最優(yōu)秀的。l 但是研究表明,但是研究表明,F(xiàn)IFO和和LRU策略明顯地提高了策略明顯地提高了cache存儲存儲器的命中率,可以達(dá)到百分之九十左右,其中器的命中率,可以達(dá)到百分之九十左右,其中LRU策略的策略的命中率比命中率比FIFO更高一些。更高一些。計算機(jī)組成原理替換策略替換策略l Cache的命中率反映了的命中率反映了CPU需要訪問的數(shù)據(jù)在需要訪問的數(shù)據(jù)在cache中能中能直接找到的概率。直接找到的概率。l 影響命中率的因素有:影響命中率的因素有:替換策略替換策略cache的結(jié)構(gòu)因
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東石油化工學(xué)院《工程管理基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東汕頭幼兒師范高等??茖W(xué)校《酒水調(diào)制與酒吧管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 七年級上冊《第四章 整式的加減章末小結(jié)與考點檢測》課件
- 廣東農(nóng)工商職業(yè)技術(shù)學(xué)院《信息論與密碼》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東南方職業(yè)學(xué)院《日本商務(wù)禮儀教程》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東理工職業(yè)學(xué)院《新零售物流管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 【創(chuàng)新設(shè)計】2021年高考化學(xué)總復(fù)習(xí)(江西版)配套文檔:第二章-化學(xué)物質(zhì)及其變化-化學(xué)物質(zhì)及其變化
- 七年級下冊人教版語文書
- 《肝膽疾病的護(hù)理》課件
- 【與名師對話】2021屆高考化學(xué)(課標(biāo)版)二輪復(fù)習(xí)階段測評(一)
- 體育特長生足球?qū)m棞y試表
- 25道長江存儲固件工程師崗位常見面試問題含HR常問問題考察點及參考回答
- 公路法知識培訓(xùn)課件
- 《交通規(guī)劃原理》課件
- (高清版)DZT 0331-2020 地?zé)豳Y源評價方法及估算規(guī)程
- 循環(huán)水泵崗位安全操作規(guī)程培訓(xùn)
- 警察急救能力培訓(xùn)課件模板
- 倍加福-KFU8-UFC-信號隔離或轉(zhuǎn)換模塊中文操作指導(dǎo)
- 大學(xué)生勞動教育課件:發(fā)展專業(yè)技能進(jìn)行創(chuàng)造性勞動
- 2024年意識形態(tài)工作專題會議記錄【6篇】
- 北師大版九年級《數(shù)學(xué)》上冊全冊教案
評論
0/150
提交評論