組成第十四講:快速緩沖存儲器課件_第1頁
組成第十四講:快速緩沖存儲器課件_第2頁
組成第十四講:快速緩沖存儲器課件_第3頁
組成第十四講:快速緩沖存儲器課件_第4頁
組成第十四講:快速緩沖存儲器課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機組成原理第七章 存儲系統(tǒng)計算機組成原理7.1 存儲系統(tǒng)的層次結構7.2 高級緩沖存儲器7.3 虛擬存儲器7.4 相聯(lián)存儲器計算機組成原理7.1 存儲系統(tǒng)的層次結構1.主存和輔存的概念2.主存和輔存在操作系統(tǒng)的控制下,通過軟硬件把主存和輔存統(tǒng)一成為一個整體,形成一個存儲層次。這個層次擁有接近于主存的速度和輔存的容量,價格也接近于輔存的價格。3.在CPU和主存之間有高速緩沖存儲器cache,這完全是由硬件來完成的。 Cache主存的速度接近于cache,而容量與價格接近于主存。 Cache的速度接近于CPU。計算機組成原理1.三級結構的存儲器系統(tǒng):將高速緩緩沖存儲器、主存儲器和輔助(虛擬)存

2、儲器組成的統(tǒng)一管理、調度的一體化三級結構的存儲器系統(tǒng)。 計算機組成原理3.三種存儲器的比較 (1)高速緩存(Cache):速度快,容量小,用于臨時存放運行中的指令和少量數(shù)據(jù); (2)主存:速度、容量一般,用于臨時存放運行中的大量程序和數(shù); (3)輔存:速度慢,容量大,用于永久存放大型程序軟件和數(shù)據(jù)庫。計算機組成原理4.采用三級結構的目的和方法 n(1)Cache-Cache-主存層次主存層次:解決CPU與主存間速度不匹配問題,使系統(tǒng)具有主存容量和接近于Cache速度。采用地址映像方式,以字塊為基本信息單位。 (2)虛擬存儲器虛擬存儲器- -主存層次主存層次:解決主存容量小、運行成本高的問題,使

3、系統(tǒng)具有輔存容量和接近主存速度,且造價和運行成本低。采用地址變換方式,以段、頁為基本信息單位。 計算機組成原理1.局部性原理局部性原理三級結構存儲器系統(tǒng)運行原理基礎 (1)時間局部性:在較小的時間間隔內,最近被訪問的指令和數(shù)據(jù)很可能再次被訪問; (2)空間局部性:這些最近被訪問的指令和數(shù)據(jù)往往集中在一小片存儲區(qū)域中; (3)指令執(zhí)行方式局部性:順序執(zhí)行較轉移執(zhí)行可能性大。 計算機組成原理n3.一致性原則一致性原則:同時存放在三類存儲器中的信息,在三類存儲器中必須保持同值。 2.包含性原則包含性原則:處在內層的存儲器的信息一定包含在各外層存儲器中。即內層存儲器中信息是外層存儲器所存信息的一小部分

4、的副本。 Cache:一種容量小、速度快,用靜態(tài)存儲器器件實現(xiàn)的存儲器。 n作用:解決CPU與主存速度不匹配的問題,使系統(tǒng)速度接近于CPU,容量接近于主存。 計算機組成原理計算機組成原理高速緩沖存儲器(高速緩沖存儲器(cache)l 目前,組成主存的目前,組成主存的DRAM存取速度一般落后于存取速度一般落后于CPU的處理的處理速度,速度,CPU訪問主存時不得不插入等待周期來適應主存的訪問主存時不得不插入等待周期來適應主存的速度,致使系統(tǒng)整體下降。速度,致使系統(tǒng)整體下降。l 高速緩沖存儲器高速緩沖存儲器Cache:是為解決是為解決CPU和和DRAM之間的速度匹配而采用的一項之間的速度匹配而采用的

5、一項重要技術;重要技術;是發(fā)揮是發(fā)揮CPU高速高效的性能而設置的一種介于高速高效的性能而設置的一種介于CPU和和DRAM之間的高速小容量緩沖存儲器;之間的高速小容量緩沖存儲器;存取速度要比主存快,由高速的存取速度要比主存快,由高速的SRAM組成;組成;全部功能由硬件實現(xiàn),保證了其高速度。全部功能由硬件實現(xiàn),保證了其高速度。計算機組成原理高速緩沖存儲器(高速緩沖存儲器(cache)l cache的工作機制的工作機制l cache基本原理基本原理l 地址映象(映射)與地址變換地址映象(映射)與地址變換l cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l 替換策略替換策略l 高速緩沖器高速緩沖器ca

6、che的構成的構成計算機組成原理cache的工作機制的工作機制l 高速緩沖存儲器高速緩沖存儲器cache的工作機制基于程序訪問的局部性的工作機制基于程序訪問的局部性原則。原則。l 一個運行程序的代碼大都順序存放在地址連續(xù)的存儲器中,一個運行程序的代碼大都順序存放在地址連續(xù)的存儲器中,與程序相關的數(shù)據(jù)在存儲器中也相對集中。與程序相關的數(shù)據(jù)在存儲器中也相對集中。l 程序運行時,尤其有循環(huán)程序段和子程序段時,在較短的程序運行時,尤其有循環(huán)程序段和子程序段時,在較短的時間區(qū)間內,常會對局部范圍的存儲器頻繁訪問,某存儲時間區(qū)間內,常會對局部范圍的存儲器頻繁訪問,某存儲單元被訪問了,該單位可能會被再次訪問

7、,大多數(shù)存取又單元被訪問了,該單位可能會被再次訪問,大多數(shù)存取又是在緊接著上次存取地址附近,而此范圍之外的地址訪問是在緊接著上次存取地址附近,而此范圍之外的地址訪問甚少。這種現(xiàn)象稱程序訪問的局部性。甚少。這種現(xiàn)象稱程序訪問的局部性。計算機組成原理cache的工作機制的工作機制l 根據(jù)局部性原理,可以在主存和根據(jù)局部性原理,可以在主存和CPU之間設置一個高速的之間設置一個高速的容量相對較小的存儲器,如果當前正在執(zhí)行的程序和數(shù)據(jù)容量相對較小的存儲器,如果當前正在執(zhí)行的程序和數(shù)據(jù)存放在這個存儲器中,在程序運行時,不必從主存儲器取存放在這個存儲器中,在程序運行時,不必從主存儲器取指令和取數(shù)據(jù),只需訪問

8、這個高速存儲器,以提高程序運指令和取數(shù)據(jù),只需訪問這個高速存儲器,以提高程序運行速度。這個存儲器稱作高速緩沖存儲器行速度。這個存儲器稱作高速緩沖存儲器Cache。l Cache由高速的由高速的SRAM組成,它的工作速度數(shù)倍于主存,組成,它的工作速度數(shù)倍于主存,全部功能由硬件實現(xiàn),并且對程序員是透明的。全部功能由硬件實現(xiàn),并且對程序員是透明的。計算機組成原理cache的工作機制的工作機制計算機組成原理cache基本原理基本原理lCache結構設計必須解決的問題:結構設計必須解決的問題: 如何存放,如何訪問,如何替換,如何改寫?如何存放,如何訪問,如何替換,如何改寫?l數(shù)據(jù)塊在數(shù)據(jù)塊在Cache中

9、存放在哪個位置?即定位問題(地址中存放在哪個位置?即定位問題(地址映象)映象) 。如果一個塊存放在某一。如果一個塊存放在某一Cache中,怎樣確定并中,怎樣確定并找到該塊,即尋址問題(地址變換)。找到該塊,即尋址問題(地址變換)。l不命中時將從主存儲器中訪問,并將該塊調入不命中時將從主存儲器中訪問,并將該塊調入Cache中,中,但是如果但是如果Cache中已無空閑空間,則勢必將中已無空閑空間,則勢必將Cache中的中的某一塊調出,但應調出那一塊,即替換問題。某一塊調出,但應調出那一塊,即替換問題。1. 在寫訪問時,寫入在寫訪問時,寫入Cache必須在適當?shù)臅r候寫回主存儲必須在適當?shù)臅r候寫回主存

10、儲器,何時寫?寫操作時采用什么策略保證兩級存儲器間器,何時寫?寫操作時采用什么策略保證兩級存儲器間的數(shù)據(jù)一致性。寫操作失配時是否將訪問塊取入高層存的數(shù)據(jù)一致性。寫操作失配時是否將訪問塊取入高層存儲器。儲器。計算機組成原理cache基本原理基本原理l 高速緩沖存儲器包括:高速緩沖存儲器包括:cache控制部件控制部件cache存儲器存儲器計算機組成原理cache基本原理基本原理cache控制部件控制部件包括:包括:主存地址寄存器主存地址寄存器主存主存cache地址變換機構地址變換機構替換控制部件替換控制部件cache地址寄存器地址寄存器控制部件均由硬件組成控制部件均由硬件組成計算機組成原理cac

11、he基本原理基本原理cache存儲器存儲器多采用與多采用與CPU相同類型的半導體集成電路制成的高相同類型的半導體集成電路制成的高速存儲元件速存儲元件SRAM;存取速度比主存快且與存取速度比主存快且與CPU接近;接近;整個整個cache存儲器介于存儲器介于CPU和主存之間,直接接受和主存之間,直接接受CPU訪問;訪問;CPU不僅與不僅與cache相接,而且與主存仍然保持通路。相接,而且與主存仍然保持通路。計算機組成原理計算機組成原理cache基本原理基本原理l 在主存在主存cache存儲體系中,所有的程序和數(shù)據(jù)都在主存存儲體系中,所有的程序和數(shù)據(jù)都在主存中,中,cache存儲器只存放主存一部分程

12、序塊和數(shù)據(jù)塊的副存儲器只存放主存一部分程序塊和數(shù)據(jù)塊的副本,這種以塊為單位的存儲方式是基于計算機程序的局部本,這種以塊為單位的存儲方式是基于計算機程序的局部性。性。l 從程序局部性可知,從程序局部性可知,cache中的程序塊和數(shù)據(jù)塊使中的程序塊和數(shù)據(jù)塊使CPU要要訪問的內容在大多數(shù)情況下已經(jīng)在訪問的內容在大多數(shù)情況下已經(jīng)在cache存儲器里,存儲器里,CPU讀寫操作主要在讀寫操作主要在CPU和和cache之間進行。之間進行。計算機組成原理cache基本原理基本原理l cache的命中的命中任何時候都有一些主存塊處在任何時候都有一些主存塊處在Cache中。中。CPU訪問存儲體系時首先訪問訪問存儲

13、體系時首先訪問cache,送出訪問單元,送出訪問單元的地址由地址總線打入的地址由地址總線打入cache存儲器的主存地址寄存器存儲器的主存地址寄存器MA;主存主存cache地址變換機構從主存地址寄存器地址變換機構從主存地址寄存器MA獲取獲取地址判斷該單元內容是否已在地址判斷該單元內容是否已在cache中存放副本,如果中存放副本,如果副本已經(jīng)在副本已經(jīng)在cache中了,稱為命中;反之稱不命中或命中了,稱為命中;反之稱不命中或命中失效。中失效。計算機組成原理cache基本原理基本原理主存塊號塊內地址地址映象變換機構Cache塊號塊內地址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計算機組成原理cache基本原理基本原理指指CPU所要訪問的信息在所要訪問的信息在Cache中的比率;中的比率;所要訪問的信息不在所要訪問的信息不在Cache中的比率稱為中的比率稱為。l 增加增加cache的目的,就是在性能上使主存的平均讀出時間的目的,就是在性能上使主存的平均讀出時間盡可能接近盡可能接近cache

15、的讀出時間。因此,的讀出時間。因此, cache的命中率應的命中率應接近于接近于1。l 由于程序訪問的局部性由于程序訪問的局部性 ,這是可能的。,這是可能的。計算機組成原理cache基本原理基本原理l 當命中時立即把訪問地址變換成它在當命中時立即把訪問地址變換成它在cache的地址,然后的地址,然后驅動驅動cache存儲體。存儲體。l 當是讀操作時,當是讀操作時,CPU從從cache中直接讀取信息;中直接讀取信息;l 若是寫操作,不但要把新內容寫入若是寫操作,不但要把新內容寫入cache存儲器中,而且存儲器中,而且必須同時寫入主存,使主存和必須同時寫入主存,使主存和cache內容同時修改,保證

16、內容同時修改,保證主存和副本內容一致,這種方法也叫直達法。主存和副本內容一致,這種方法也叫直達法。計算機組成原理cache基本原理基本原理l 有的機器考慮到當寫入操作很頻繁或者寫入的是中間結果,有的機器考慮到當寫入操作很頻繁或者寫入的是中間結果,每次寫入主存很浪費時間,于是設計成每次只改寫每次寫入主存很浪費時間,于是設計成每次只改寫cache的內容并不立即修改主存中相應的單元,只有當?shù)膬热莶⒉涣⒓葱薷闹鞔嬷邢鄳膯卧挥挟攃ache中中被寫過的塊要被新進入被寫過的塊要被新進入cache的信息塊取代時才一次寫回的信息塊取代時才一次寫回主存里,這種方法稱回寫法。主存里,這種方法稱回寫法。計算機組

17、成原理cache基本原理基本原理l 如果如果CPU要訪問的內容根本不在要訪問的內容根本不在cache中,即中,即“不命中不命中”,那么那么CPU轉去直接訪問主存。轉去直接訪問主存。l 若是讀操作,若是讀操作,CPU則從主存讀取信息的同時,則從主存讀取信息的同時,cache控制控制部件把該地址所在那塊存儲內容從主存一次調進部件把該地址所在那塊存儲內容從主存一次調進cache存存儲器,以存儲塊為單位調入儲器,以存儲塊為單位調入cache存儲器可以提高下次訪存儲器可以提高下次訪問的命中率。問的命中率。l 若是寫操作,則處理就簡單多了,很多計算機系統(tǒng)只向主若是寫操作,則處理就簡單多了,很多計算機系統(tǒng)只

18、向主存寫入信息,不必同時把這個地址所在的存儲內容再調入存寫入信息,不必同時把這個地址所在的存儲內容再調入cache存儲器中。存儲器中。計算機組成原理cache基本原理基本原理l 直達法:直達法:優(yōu)點:數(shù)據(jù)不會出現(xiàn)不一致優(yōu)點:數(shù)據(jù)不會出現(xiàn)不一致缺點:對寫操作沒有高速緩存的作用缺點:對寫操作沒有高速緩存的作用l 回寫法:回寫法:優(yōu)點:速度快優(yōu)點:速度快缺點:存在數(shù)據(jù)不一致隱患缺點:存在數(shù)據(jù)不一致隱患計算機組成原理cache基本原理基本原理l 對于共享一個主存的多處理機系統(tǒng),因為處理機各自擁有對于共享一個主存的多處理機系統(tǒng),因為處理機各自擁有cache存儲器,所以必須采用寫直達法將任何一個存儲器,所

19、以必須采用寫直達法將任何一個cache中修改的內容同時寫入主存,保證其他中修改的內容同時寫入主存,保證其他cache向主存調用向主存調用信息塊時是修改過的而不是失效的信息。信息塊時是修改過的而不是失效的信息。l 這點對于擁有多個處理機而共享一個主存的計算機系統(tǒng)特這點對于擁有多個處理機而共享一個主存的計算機系統(tǒng)特別重要。別重要。計算機組成原理7.2 高速緩沖存儲器(高速緩沖存儲器(cache)l cache的工作機制的工作機制l cache基本原理基本原理l 地址映象(映射)與地址變換地址映象(映射)與地址變換l cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l 替換策略替換策略l 高速緩沖器高

20、速緩沖器cache的構成的構成計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 地址映象地址映象 把主存塊按照某種規(guī)則(函數(shù)或方法)裝入或定位到把主存塊按照某種規(guī)則(函數(shù)或方法)裝入或定位到Cache中的過程稱地址映象。中的過程稱地址映象。l 地址變換地址變換信息按這種映象關系裝入信息按這種映象關系裝入Cache后,執(zhí)行程序時,將后,執(zhí)行程序時,將主存地址變換成主存地址變換成 Cache地址的變換過程叫做地址變換。地址的變換過程叫做地址變換。l 地址映象和變換密切相關。地址映象和變換密切相關。 計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 使用使用Cache

21、的動力在于它的高速,因此也要求這個地址變的動力在于它的高速,因此也要求這個地址變換過程盡可能地快,故此過程是以硬件完成的。換過程盡可能地快,故此過程是以硬件完成的。l 這帶來的另一好處是這帶來的另一好處是Cache的透明性,除了程序運行速度的透明性,除了程序運行速度提高之外,用戶包括系統(tǒng)軟件編制人員,絲毫未感覺到提高之外,用戶包括系統(tǒng)軟件編制人員,絲毫未感覺到Cache的存在。的存在。計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 在高速緩沖存儲器中把在高速緩沖存儲器中把Cache和主存機械等分為相同大小和主存機械等分為相同大小的塊,每一塊是由若干個字(或字節(jié))組成。的塊,每

22、一塊是由若干個字(或字節(jié))組成。l 例:某機主存容量為例:某機主存容量為1MB,劃分為,劃分為2048塊,每塊塊,每塊512B;Cache容量為容量為8KB,劃分為,劃分為16塊,每塊塊,每塊512B。塊塊0 0塊塊1 1塊塊1515CacheCache標記標記標記標記標記標記塊塊0 0塊塊1 1塊塊20472047主存主存m m位位 塊塊字字0 0字字1 1字字511511計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 由于由于Cache的塊數(shù)遠小于主存的塊數(shù),因此一個的塊數(shù)遠小于主存的塊數(shù),因此一個Cache不不能唯一地、永久地只對應一個貯存塊,在能唯一地、永久地只對應一

23、個貯存塊,在Cache中,每一中,每一塊外加有一個標記,指明它是主存的哪一塊的副本(拷塊外加有一個標記,指明它是主存的哪一塊的副本(拷貝)。貝)。塊塊0 0塊塊1 1塊塊1515CacheCache標記標記標記標記標記標記塊塊0 0塊塊1 1塊塊20472047主存主存m m位位 塊塊字字0 0字字1 1字字511511計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換每個標記設置有一個有效位。每個標記設置有一個有效位。,Reset信號信號將所有標記的有效位置將所有標記的有效位置“0”,即無效。即無效。,Cache不命不命中時,逐步將指令塊或數(shù)據(jù)塊中時,逐步將指令塊或數(shù)據(jù)塊從主存調

24、入從主存調入Cache中的某一塊,中的某一塊,并將這一塊標記的有效位置并將這一塊標記的有效位置“1”,當再次用到這一塊中的,當再次用到這一塊中的指令或數(shù)據(jù)時,可直接從指令或數(shù)據(jù)時,可直接從Cache中取指令或數(shù)據(jù)。中取指令或數(shù)據(jù)。字塊字塊0 0字塊字塊1 1字塊字塊L Lm-1m-1 . .標記標記CacheCache0 01 12 2r r-1-1 標記標記有效位有效位計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 因剛加電時所有標記位都為因剛加電時所有標記位都為“0”,開始執(zhí)行程序時,命中,開始執(zhí)行程序時,命中率較低。率較低。l 另外另外Cache的命中率還與程序本身有關

25、,即不同的程序,的命中率還與程序本身有關,即不同的程序,其命中率可能不同。其命中率可能不同。計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 基本的地址映象方式:基本的地址映象方式:直接映象直接映象全相連映象全相連映象組相連映象組相連映象計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 直接映射方式直接映射方式這是一種多對一的映射關系,一個主存塊只能映象到這是一種多對一的映射關系,一個主存塊只能映象到Cache的一個特定塊位置上去。的一個特定塊位置上去。在這種映象方式中:在這種映象方式中:主存的第主存的第0塊,第塊,第16塊,第塊,第32塊,塊,只能映象到,只能

26、映象到Cache的第的第0塊;塊;而主存的第而主存的第1塊,第塊,第17塊,第塊,第33塊,塊,只能映象,只能映象到到Cache的第的第1塊;塊;計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 直接映象直接映象塊塊 0塊塊 1塊塊 15CacheCache標記標記標記標記標記標記標記標記標記標記標記標記.0 0 組組塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存TagTag1 1 組組127127組組7位位CacheCache地址地址C Ca ac ch he e塊塊號號塊塊內內地地址址4位位 9 位位主存地址主存地址塊塊內內地地址址C Ca ac

27、 ch he e塊塊號號主主存存標標記記(組組號號)7位位 4位位 9 位位主主存存塊塊號號塊塊內內地地址址11位位 9 位位計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 直接映象的地址變換方法直接映象的地址變換方法.0 0 組組塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存1 1 組組127127組組塊內地址塊內地址Cache塊號Cache塊號主存標記(組號)主存標記(組號)標記標記標記標記標記標記標記標記標記標記標記標記塊塊 0塊塊 1塊塊 15有效位有效位有效位有效位: :有效位有效位7位 4位 9位7位 4位 9位比較比較命中命中數(shù)據(jù)數(shù)據(jù)

28、主存地址主存地址不命中不命中計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 優(yōu)點:優(yōu)點: 實現(xiàn)簡單,只需利用主存地址按某些字段直接判實現(xiàn)簡單,只需利用主存地址按某些字段直接判斷,即可確定所需字塊是否已在斷,即可確定所需字塊是否已在Cache中。中。l 缺點:不夠靈活,主存的多個字塊只能對應唯一的缺點:不夠靈活,主存的多個字塊只能對應唯一的Cache字塊,因此,即使字塊,因此,即使Cache別的地址空著也不能占用。別的地址空著也不能占用。Cache存儲空間得不到充分利用,降低了命中率。存儲空間得不到充分利用,降低了命中率。計算機組成原理地址映象地址映象(映射映射)與地址變換與地

29、址變換l 全相聯(lián)映象方式全相聯(lián)映象方式塊塊 0塊塊 1塊塊 15CacheCache標記標記標記標記標記標記標記標記標記標記標記標記.塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存TagTagC Ca ac ch he e塊塊號號塊塊內內地地址址Cache地址地址4 4位位 9 9 位位主主存存塊塊號號塊塊內內地地址址1111位位 9 9 位位主存地址主存地址允許主存中的允許主存中的每一個字塊映每一個字塊映象到象到CacheCache的任的任何一個字塊位何一個字塊位置上,最靈活置上,最靈活但成本最高的但成本最高的一種方式。一種方式。計算機組成原理地址映象地址映象(映

30、射映射)與地址變換與地址變換l 全相聯(lián)映象的地址變換方法全相聯(lián)映象的地址變換方法.塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存標記標記標記標記標記標記標記標記標記標記標記標記塊塊 0塊塊 1塊塊 15有效位有效位有效位有效位: :有效位有效位11位 9位11位 9位比較所有的標記比較所有的標記命中命中數(shù)據(jù)數(shù)據(jù)主存地址主存地址不命中不命中主存塊號主存塊號塊內地址塊內地址計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l全相聯(lián)映象的地址變換方法的優(yōu)缺點:全相聯(lián)映象的地址變換方法的優(yōu)缺點: 優(yōu)點:靈活,塊沖突概率小。只有當優(yōu)點:靈活,塊沖突概率小。只有當C

31、ache中全部裝中全部裝滿后,才有可能出現(xiàn)塊沖突;滿后,才有可能出現(xiàn)塊沖突; 缺點:要作相聯(lián)搜索,速度慢,代價高。缺點:要作相聯(lián)搜索,速度慢,代價高。計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換l 這只是一個理想的方案。兩個原因使其實際上很少采用:這只是一個理想的方案。兩個原因使其實際上很少采用:標記位數(shù)從標記位數(shù)從7位增加到位增加到11位,使位,使Cache標記容量加大;標記容量加大; 1.訪問訪問Cache時,需要和時,需要和Cache的全部標記進行的全部標記進行“比較比較”才能判斷出所訪主存地址的內容是否已在才能判斷出所訪主存地址的內容是否已在Cache中。中。由于由于

32、Cache速度要求高,通常由速度要求高,通常由“按內容尋址按內容尋址”的相的相聯(lián)存儲器完成,所需硬件邏輯電路很多,以至于無法聯(lián)存儲器完成,所需硬件邏輯電路很多,以至于無法用于用于cache中。實際的中。實際的Cache組織則是采取各種措施來組織則是采取各種措施來減少所需比較的地址數(shù)目。減少所需比較的地址數(shù)目。計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換直接映象和全相聯(lián)映象方式的一種直接映象和全相聯(lián)映象方式的一種。塊塊 0塊塊 1塊塊CacheCache標記標記標記標記標記標記標記標記標記標記標記標記.塊塊0塊塊1塊塊 7塊塊 8塊塊 9塊塊 2032塊塊 2039主存主存Ta

33、gTag254組塊塊 0塊塊 1塊塊7標記標記標記標記標記標記標記標記標記標記標記標記標記標記70組1組塊塊 2033塊塊 15.塊塊 2047塊塊 2046.塊塊 2040255組0組1組計算機組成原理地址映象地址映象(映射映射)與地址變換與地址變換當當Cache只有一個組并且每組只有一個組并且每組16塊時,此時為直接映塊時,此時為直接映像;像;當當Cache有有16組并且每組一個塊時,則為全相聯(lián)映像。組并且每組一個塊時,則為全相聯(lián)映像。8位位 3位位 9 位位主存組號塊號塊內地址1位位 3位位 9 位位Cache組號塊號塊內地址計算機組成原理7.2 高速緩沖存儲器(高速緩沖存儲器(cach

34、e)l cache的工作機制的工作機制l cache基本原理基本原理l 地址映象(映射)與地址變換地址映象(映射)與地址變換l 替換策略替換策略l 高速緩沖器高速緩沖器cache的構成的構成計算機組成原理cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l cache中存放的是主存中部分信息的副本。中存放的是主存中部分信息的副本。l 為了保證為了保證CPU存取的數(shù)據(jù)準確無誤,要求存取的數(shù)據(jù)準確無誤,要求cache中每一個中每一個地址上的數(shù)據(jù)與主存中相應存儲單元的數(shù)據(jù)保持完全相同,地址上的數(shù)據(jù)與主存中相應存儲單元的數(shù)據(jù)保持完全相同,這種性質稱這種性質稱cache與主存數(shù)據(jù)的一致性。與主存數(shù)據(jù)的一致性

35、。l 寫直達法和回寫法是常見的保持數(shù)據(jù)一致性的算法。寫直達法和回寫法是常見的保持數(shù)據(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ù)修改。例如多處理機系統(tǒng),其中一個例如多處理機系統(tǒng),其中一個cache內容修改后立內容修改后立即用寫直達法寫入主存又導致主存數(shù)據(jù)可能與其他即用寫直達法寫入主存又導致主存數(shù)據(jù)可能與其他cache的副本不一致。的副本不一致。又例如,計算機的又例如,計算機的DMA訪問直接修

36、改了主存數(shù)據(jù),訪問直接修改了主存數(shù)據(jù),也可能造成與也可能造成與cache數(shù)據(jù)的不一致性。數(shù)據(jù)的不一致性。計算機組成原理cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l 通常采用的處理辦法有:通常采用的處理辦法有:主存監(jiān)視法:主存監(jiān)視法:利用硬件機構使利用硬件機構使cache控制器能監(jiān)視所有設備對主控制器能監(jiān)視所有設備對主存的操作或訪問,凡對主存的寫入也立即對存的操作或訪問,凡對主存的寫入也立即對cache中相應單元進行拷貝,從而保證數(shù)據(jù)的一致性中相應單元進行拷貝,從而保證數(shù)據(jù)的一致性設置設置“不可不可cache區(qū)區(qū)”:即在主存中開辟一塊存儲區(qū)域,該區(qū)域數(shù)據(jù)不能調即在主存中開辟一塊存儲區(qū)域,該區(qū)

37、域數(shù)據(jù)不能調入入cache,不受,不受cache控制器管理,但其他設備進控制器管理,但其他設備進入的數(shù)據(jù)只能直接寫入該區(qū)域。所以不會產(chǎn)生與入的數(shù)據(jù)只能直接寫入該區(qū)域。所以不會產(chǎn)生與cache中數(shù)據(jù)的不一致性。中數(shù)據(jù)的不一致性?!安豢刹豢蒫ache區(qū)區(qū)”可以通過可以通過BIOS設置程序來設置。設置程序來設置。計算機組成原理7.2 高速緩沖存儲器(高速緩沖存儲器(cache)l cache的工作機制的工作機制l cache基本原理基本原理l 地址映象(映射)與地址變換地址映象(映射)與地址變換l cache與主存數(shù)據(jù)的一致性與主存數(shù)據(jù)的一致性l 替換策略替換策略l 高速緩沖器高速緩沖器cache的

38、構成的構成計算機組成原理替換策略替換策略l 在主存在主存cache存儲體系工作過程中,主存和存儲體系工作過程中,主存和cache存儲器之間信息以塊為單位調度,信息塊存儲器之間信息以塊為單位調度,信息塊的長度取決于主存的結構設計,主存常設計成多的長度取決于主存的結構設計,主存常設計成多體交叉存儲結構。體交叉存儲結構。l 當信息塊需要調入當信息塊需要調入cache存儲器而存儲器而cache存儲器存儲器中已經(jīng)占滿信息時,中已經(jīng)占滿信息時,cache存儲器的替換控制部存儲器的替換控制部件將按一定的替換策略淘汰件將按一定的替換策略淘汰cache中舊有的一塊中舊有的一塊信息,被更新的舊信息塊應該是下一段時

39、間內估信息,被更新的舊信息塊應該是下一段時間內估計是最少使用的,然后用新的信息塊覆蓋掉。計是最少使用的,然后用新的信息塊覆蓋掉。計算機組成原理替換策略替換策略l 常用的替換策略有兩種:常用的替換策略有兩種: 先進先出策略先進先出策略FIFO策略策略總是更換掉當前總是更換掉當前cache中最先進入的信息塊中最先進入的信息塊這種方法控制簡單,實現(xiàn)容易這種方法控制簡單,實現(xiàn)容易近期最少使用策略近期最少使用策略 LRU策略策略計算機組成原理替換策略替換策略近期最少使用策略近期最少使用策略 LRU策略:策略:遵循的規(guī)則是新信息塊替代的是當前遵循的規(guī)則是新信息塊替代的是當前cache存儲器存儲器中被使用次

40、數(shù)最少的,即最不活躍的那塊信息;中被使用次數(shù)最少的,即最不活躍的那塊信息;使用使用LRU方法的方法的cache存儲器每一個字塊都要附設存儲器每一個字塊都要附設一個計數(shù)器記錄被使用的情況,每當一個計數(shù)器記錄被使用的情況,每當cache中的一中的一塊信息被命中時,比命中塊計數(shù)值低的信息塊均加塊信息被命中時,比命中塊計數(shù)值低的信息塊均加1,而命中塊計數(shù)器清而命中塊計數(shù)器清0;顯然,這種技術方法各信息塊的計數(shù)值總是不相同顯然,這種技術方法各信息塊的計數(shù)值總是不相同的。的。計算機組成原理替換策略替換策略一旦不命中情況發(fā)生時,新信息塊從主存調入一旦不命中情況發(fā)生時,新信息塊從主存調入cache存儲器替換計

41、數(shù)值最大的那片存儲區(qū),新信存儲器替換計數(shù)值最大的那片存儲區(qū),新信息塊計數(shù)值為息塊計數(shù)值為0,其余信息塊計數(shù)均加,其余信息塊計數(shù)均加1,保證了那,保證了那些活躍的信息塊經(jīng)常被命中或最近被命中的信些活躍的信息塊經(jīng)常被命中或最近被命中的信息塊計數(shù)值要小,而近來越來越不活躍的信息塊計息塊計數(shù)值要小,而近來越來越不活躍的信息塊計數(shù)值越大;數(shù)值越大;LRU策略是目前使用較多的一種策略,能夠有效的策略是目前使用較多的一種策略,能夠有效的提高命中率。提高命中率。計算機組成原理替換策略替換策略l 無論無論FIFO策略還是策略還是LRU策略,其實最先被調入策略,其實最先被調入cache的信的信息塊或最近最少使用的

42、信息塊都不能肯定是最近將絕不會息塊或最近最少使用的信息塊都不能肯定是最近將絕不會使用,所以替換策略不能作為最合理最優(yōu)秀的。使用,所以替換策略不能作為最合理最優(yōu)秀的。l 但是研究表明,但是研究表明,F(xiàn)IFO和和LRU策略明顯地提高了策略明顯地提高了cache存儲存儲器的命中率,可以達到百分之九十左右,其中器的命中率,可以達到百分之九十左右,其中LRU策略的策略的命中率比命中率比FIFO更高一些。更高一些。計算機組成原理替換策略替換策略l Cache的命中率反映了的命中率反映了CPU需要訪問的數(shù)據(jù)在需要訪問的數(shù)據(jù)在cache中能中能直接找到的概率。直接找到的概率。l 影響命中率的因素有:影響命中率的因素有:替換策略替換策略cache的結構因

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論