第七章存儲系統(tǒng)課件_第1頁
第七章存儲系統(tǒng)課件_第2頁
第七章存儲系統(tǒng)課件_第3頁
第七章存儲系統(tǒng)課件_第4頁
第七章存儲系統(tǒng)課件_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第七章存儲系統(tǒng)2概述概述現(xiàn)代計算機一般用半導(dǎo)體存儲器作為現(xiàn)代計算機一般用半導(dǎo)體存儲器作為主存儲器(簡稱主主存儲器(簡稱主存或內(nèi)存)存或內(nèi)存),存放當前正在執(zhí)行的,存放當前正在執(zhí)行的程序和數(shù)據(jù)程序和數(shù)據(jù);而用;而用磁盤、磁帶、光盤作為外存儲器或輔助存儲器(簡稱磁盤、磁帶、光盤作為外存儲器或輔助存儲器(簡稱外存外存或或輔存輔存),),存放當前不在運行的大量程序或數(shù)據(jù)。存放當前不在運行的大量程序或數(shù)據(jù)。半導(dǎo)體存儲器半導(dǎo)體存儲器可隨機訪問任一單元,可隨機訪問任一單元,輔助存儲器輔助存儲器一般為一般為串行訪問存儲器串行訪問存儲器,讀寫存儲器內(nèi)容時,需要順序地一,讀寫存儲器內(nèi)容時,需要順序地一位一位地進

2、行。位一位地進行。串行存儲器串行存儲器又可分成又可分成順序存取存儲器順序存取存儲器和和直接存取存儲器直接存取存儲器。磁盤存儲器磁盤存儲器對信息的存取包括兩個操作:對信息的存取包括兩個操作:1、磁頭直、磁頭直接移動到信息所在區(qū)域(磁道)接移動到信息所在區(qū)域(磁道);2、從該磁道的合、從該磁道的合適位置開始順序讀適位置開始順序讀/寫寫。3概述概述IDE40針接口4存儲器的層次結(jié)構(gòu)存儲器的層次結(jié)構(gòu)存儲器有三個指標:存儲器有三個指標:容量容量、速度速度和和價格價格/位位。操作系統(tǒng)操作系統(tǒng)的形成和發(fā)展使得程序員有可能擺脫主、輔的形成和發(fā)展使得程序員有可能擺脫主、輔存之間的地址人工定位,通過軟、硬件結(jié)合,

3、存之間的地址人工定位,通過軟、硬件結(jié)合,把主把主存和輔存統(tǒng)一成了一個整體,形成一個存儲層次存和輔存統(tǒng)一成了一個整體,形成一個存儲層次。從整體看,其從整體看,其速度速度接近于接近于主存的速度主存的速度,容量容量接近于接近于輔存的容量輔存的容量,每位平均價格也接近于廉價的慢速的,每位平均價格也接近于廉價的慢速的輔存的平均價格。這種系統(tǒng)不斷發(fā)展和完善,就逐輔存的平均價格。這種系統(tǒng)不斷發(fā)展和完善,就逐步形成了現(xiàn)在廣泛使用的步形成了現(xiàn)在廣泛使用的虛擬存儲系統(tǒng)虛擬存儲系統(tǒng)。在系統(tǒng)中,。在系統(tǒng)中,應(yīng)用程序員可用應(yīng)用程序員可用機器指令地址碼對整個程序統(tǒng)一編機器指令地址碼對整個程序統(tǒng)一編址址。該空間可以比實際空

4、間大得多,以致可以存的。該空間可以比實際空間大得多,以致可以存的下整個程序。這個下整個程序。這個指令地址碼指令地址碼稱為稱為虛地址虛地址(虛存地(虛存地址、虛擬地址)或址、虛擬地址)或邏輯地址邏輯地址。其對應(yīng)的。其對應(yīng)的存儲容量存儲容量稱稱為虛存容量或為虛存容量或虛存空間虛存空間;5存儲器的層次結(jié)構(gòu)存儲器的層次結(jié)構(gòu) 而把而把實際主存實際主存的的地址地址稱為稱為物理地址物理地址或或?qū)崳ù妫┑刂穼崳ù妫┑刂?,其對?yīng)的其對應(yīng)的存儲容量存儲容量稱為稱為主存容量主存容量、實存容量或、實存容量或?qū)崳ㄖ鳎崳ㄖ鳎┐婵臻g存空間; 當當CPU用用虛地址訪問主存虛地址訪問主存時,機器自動地把它經(jīng)時,機器自動地把它

5、經(jīng)輔助輔助軟件軟件、硬件變換硬件變換成成主存實地址主存實地址。察看這個地址所對應(yīng)。察看這個地址所對應(yīng)的單元內(nèi)容是否已經(jīng)裝入主存,如果的單元內(nèi)容是否已經(jīng)裝入主存,如果在在主存主存就進行就進行訪問,如果訪問,如果不在主存不在主存內(nèi),就經(jīng)內(nèi),就經(jīng)輔助軟件、硬件把它輔助軟件、硬件把它所在的那塊程序和數(shù)據(jù)由輔存調(diào)入主存,而后進行訪所在的那塊程序和數(shù)據(jù)由輔存調(diào)入主存,而后進行訪問問。 在在速度方面速度方面,計算機的,計算機的主存主存和和CPU一直存在大約一個一直存在大約一個數(shù)量級的差距。從而限制了數(shù)量級的差距。從而限制了CPU速度潛力的發(fā)揮。為速度潛力的發(fā)揮。為了解決這個問題,在了解決這個問題,在CPU和

6、主存中間設(shè)置和主存中間設(shè)置高速緩沖存高速緩沖存儲器儲器,構(gòu)成,構(gòu)成高速緩存(高速緩存(cache)-主存主存層次。要求層次。要求cache在速度上能跟得上在速度上能跟得上CPU的要求。的要求。6存儲器的層次結(jié)構(gòu)存儲器的層次結(jié)構(gòu)cache-主存主存間的間的地址映像地址映像和和調(diào)度調(diào)度吸取了吸取了主主-輔存輔存存儲層次的技術(shù)存儲層次的技術(shù),但它速度要求高,完全由硬,但它速度要求高,完全由硬件來完成。件來完成。 從從CPU的角度看,的角度看,cache-主存層次主存層次的速度接近的速度接近于于cache,容量與每位價格接近于主存容量與每位價格接近于主存,從而,從而解決了速度與成本之間的矛盾。解決了速

7、度與成本之間的矛盾。 現(xiàn)代大多數(shù)計算機同時采用現(xiàn)代大多數(shù)計算機同時采用主主-輔存輔存和和cache-主主存這兩種存儲層次存這兩種存儲層次。構(gòu)成。構(gòu)成cache-主存主存-輔存三級輔存三級存儲層次存儲層次。7存儲器的層次結(jié)構(gòu)存儲器的層次結(jié)構(gòu)在這三級存儲層次中,在這三級存儲層次中,cache容量最小容量最小,輔存容輔存容量最大量最大,各層次中存放的內(nèi)容都可以在下一層各層次中存放的內(nèi)容都可以在下一層次中找到次中找到。cache主存主存輔存輔存三層次存儲系統(tǒng)三層次存儲系統(tǒng)87.2高速緩沖存儲器(高速緩沖存儲器(cache)7.2.1cache存儲器的工作原理存儲器的工作原理 程序訪問的局部性程序訪問的

8、局部性:由于:由于程序地址程序地址往往集中在往往集中在存儲器存儲器邏輯地址空間的很小范圍內(nèi)邏輯地址空間的很小范圍內(nèi),因此,因此對程序地址的訪對程序地址的訪問具有相對集中的傾向問具有相對集中的傾向。這種對局部范圍的存儲器這種對局部范圍的存儲器地址頻繁訪問,而對此范圍以外的地址則訪問甚少地址頻繁訪問,而對此范圍以外的地址則訪問甚少的現(xiàn)象就稱為的現(xiàn)象就稱為程序訪問的局部性程序訪問的局部性。 高速緩沖存儲器(高速緩沖存儲器(cache):由由局部性原理局部性原理,在在主存主存和和CPU之間設(shè)置一個之間設(shè)置一個高速的容量相對較小的存儲器高速的容量相對較小的存儲器,將將當前正在執(zhí)行的程序和數(shù)據(jù)存放在這個存

9、儲器中當前正在執(zhí)行的程序和數(shù)據(jù)存放在這個存儲器中,程程序運行時,不必從主存儲器取指令和數(shù)據(jù),而訪問序運行時,不必從主存儲器取指令和數(shù)據(jù),而訪問這個存儲器即可這個存儲器即可,從而提高了程序運行速度,這個,從而提高了程序運行速度,這個存儲器稱作存儲器稱作高速緩沖存儲器(高速緩沖存儲器(cache)。 cache存儲存儲器器介于介于CPU和主存和主存之間,它的之間,它的工作速度數(shù)倍于主存工作速度數(shù)倍于主存,全部功能由硬件實現(xiàn)。全部功能由硬件實現(xiàn)。9Cache的基本結(jié)構(gòu)的基本結(jié)構(gòu)圖圖7.2表示表示cache的基本結(jié)構(gòu)。的基本結(jié)構(gòu)。 設(shè)主存有設(shè)主存有2n個單元,地址碼為個單元,地址碼為n位,將主存分塊位

10、,將主存分塊(block),每塊有,每塊有B個字節(jié),則共分成個字節(jié),則共分成M=2n/B塊。塊。Cache也由也由同樣大小的塊組成同樣大小的塊組成,由于其容量小,所以,由于其容量小,所以塊的數(shù)目小的多,塊的數(shù)目小的多,主存中只有一小部分塊的內(nèi)容可主存中只有一小部分塊的內(nèi)容可存放在存放在cache中中。 在在cache中,每一塊外加一個中,每一塊外加一個標記,指明它是主存的標記,指明它是主存的哪一塊的副本哪一塊的副本,所以該,所以該標記的內(nèi)容相當于主存中塊標記的內(nèi)容相當于主存中塊的編號的編號,設(shè)主存地址為,設(shè)主存地址為n位,且位,且n=m+b,則可得出:,則可得出:主存的塊數(shù)主存的塊數(shù)M=2m,

11、塊內(nèi)字節(jié)數(shù),塊內(nèi)字節(jié)數(shù)B=2b。cache地址碼地址碼為(為(c+b)位。)位。cache的塊數(shù)的塊數(shù)M=2c,塊內(nèi)字節(jié)數(shù),塊內(nèi)字節(jié)數(shù)B=2b,與主存相同。與主存相同。10Cache的基本結(jié)構(gòu)的基本結(jié)構(gòu) 主存儲器主存儲器2m-110字塊字塊1字塊字塊0主存塊號主存塊號字塊字塊M-1 字塊字塊2c-12c-1cache標記標記字塊字塊0字塊字塊110主存塊號主存塊號塊內(nèi)地址塊內(nèi)地址主存地址主存地址M塊塊B個字節(jié)個字節(jié)m位位b位位n位位塊內(nèi)地址塊內(nèi)地址塊號塊號cache地址地址c位位b位位11cache存儲器的工作原理存儲器的工作原理 當當CPU發(fā)出讀請求時,將發(fā)出讀請求時,將主存地址主存地址m位

12、位(或(或m位中的一部分)與位中的一部分)與cache某塊的標記相比較某塊的標記相比較,當當比較結(jié)果相等比較結(jié)果相等時,說明需要的數(shù)已在時,說明需要的數(shù)已在cache中,就中,就可直接訪問可直接訪問cache,這種情況稱為,這種情況稱為訪問訪問cache命中命中。比較。比較結(jié)果不相等結(jié)果不相等時,說明時,說明需要的需要的數(shù)尚未調(diào)入數(shù)尚未調(diào)入cache中中,那么就要把該數(shù)據(jù)所在,那么就要把該數(shù)據(jù)所在的的整個字塊從主存中一次調(diào)進來整個字塊從主存中一次調(diào)進來。這種情況稱。這種情況稱為為訪問訪問cache不命中不命中。 塊的大小塊的大小稱為稱為“塊長塊長”。塊長塊長一般取一個一般取一個主存主存周期所能

13、調(diào)出的信息長度周期所能調(diào)出的信息長度。12cache存儲器的工作原理存儲器的工作原理Cache的容量和的容量和塊的大小塊的大小是影響是影響cache的效率的的效率的重要因素。重要因素。命中率命中率指指CPU所要所要訪問的信息在訪問的信息在cache中的比率中的比率。所訪問的信息不在。所訪問的信息不在cache中的中的比率稱為比率稱為失效率失效率。 從主存讀出新的字塊調(diào)入從主存讀出新的字塊調(diào)入cache存儲器時,若存儲器時,若遇到遇到cache存儲器中相應(yīng)的位置已被其他字塊存儲器中相應(yīng)的位置已被其他字塊占有,就必須去掉一個舊的字塊,讓位于一個占有,就必須去掉一個舊的字塊,讓位于一個新的字塊,這種

14、替換所遵循的規(guī)則稱為新的字塊,這種替換所遵循的規(guī)則稱為替換策替換策略或替換算法略或替換算法。13cache存儲器的工作原理存儲器的工作原理 Cache存儲器中保存的字塊存儲器中保存的字塊是是主存中相應(yīng)字塊的一個主存中相應(yīng)字塊的一個副本副本。若程序執(zhí)行過程中。若程序執(zhí)行過程中要對該字塊的某個單元進要對該字塊的某個單元進行寫操作,就必須保證行寫操作,就必須保證cache與主存一致與主存一致。通常有。通常有兩兩種寫入方式種寫入方式:暫時只向暫時只向cache存儲器寫入,并用標存儲器寫入,并用標志加以注明。直到經(jīng)過修改的字塊被從志加以注明。直到經(jīng)過修改的字塊被從cache中替換中替換出來時才依次寫入主

15、存;這種方式稱為出來時才依次寫入主存;這種方式稱為標志交換標志交換(flag-swap)方式方式。只有寫標志。只有寫標志“置位置位”的字塊才有必的字塊才有必要最后從要最后從cache存儲器一次寫回主存,又稱存儲器一次寫回主存,又稱“寫回寫回法法”。優(yōu)點是:寫操作速度快;缺點是:主存中的。優(yōu)點是:寫操作速度快;缺點是:主存中的字塊未經(jīng)隨時修改而可能失效。字塊未經(jīng)隨時修改而可能失效。每次寫入每次寫入cache存存儲器時也同時寫入主存,使儲器時也同時寫入主存,使cache和主存保持一致。和主存保持一致。這種方式稱為這種方式稱為通過式寫(通過式寫(write-through),又稱,又稱寫寫直達法直達

16、法。優(yōu)點是:方式簡單,能隨時保持主存數(shù)據(jù)。優(yōu)點是:方式簡單,能隨時保持主存數(shù)據(jù)的正確性。缺點是:可能要增加不必要的向主存的的正確性。缺點是:可能要增加不必要的向主存的寫入。寫入。14cache存儲器的工作原理存儲器的工作原理另一種寫操作方法是:當被修改的單元根本就不在另一種寫操作方法是:當被修改的單元根本就不在cache存儲器時,寫操作直接對存儲器時,寫操作直接對主存進行主存進行,而不寫入,而不寫入cache存儲器。存儲器。標記標記還應(yīng)還應(yīng)設(shè)置一個有效位設(shè)置一個有效位,當機器剛,當機器剛加電啟動加電啟動時,所時,所有標記的有標記的有效位置有效位置“0”,使標記無效。在程序執(zhí)行,使標記無效。在程

17、序執(zhí)行過程中,當過程中,當cache不命中時逐步不命中時逐步將指令或數(shù)據(jù)塊從主將指令或數(shù)據(jù)塊從主存調(diào)入存調(diào)入cache中的某一塊,并將這一塊標記中的有效中的某一塊,并將這一塊標記中的有效位置位置“1”,當再次用到這一塊中的指令或數(shù)據(jù)時,當再次用到這一塊中的指令或數(shù)據(jù)時,可直接從可直接從cache中取指或取數(shù)。由此可見,剛加電后中取指或取數(shù)。由此可見,剛加電后所有的標記位都為所有的標記位都為“0”,因此開始執(zhí)行程序時,命,因此開始執(zhí)行程序時,命中率較低。中率較低。具有具有cache的存儲器,其平均存取時間計算如下:的存儲器,其平均存取時間計算如下:設(shè)設(shè)cache的存取時間為的存取時間為tc,命中

18、率為,命中率為h,主存的存取時間,主存的存取時間為為tM,則平均存取時間,則平均存取時間=htc+(1-h)(tc+tM)。157.2.2 cache存儲器組織存儲器組織地址映像地址映像:為了把信息放到:為了把信息放到cache存儲器中,必須應(yīng)用存儲器中,必須應(yīng)用某種函數(shù)把某種函數(shù)把主存地址映像到主存地址映像到cache,稱作,稱作地址映像地址映像。地址變換地址變換:在信息按照這種映像關(guān)系裝入:在信息按照這種映像關(guān)系裝入cache后,執(zhí)后,執(zhí)行程序時,應(yīng)將行程序時,應(yīng)將主存地址主存地址變換成變換成cache地址地址,這個變,這個變換過程叫做換過程叫做地址變換地址變換。 常見的地址映像方式有:常

19、見的地址映像方式有:直接映像直接映像、全相聯(lián)映像全相聯(lián)映像和和組相聯(lián)映像組相聯(lián)映像等。為了說明這幾種映像方式,假設(shè)主等。為了說明這幾種映像方式,假設(shè)主存儲器空間被分為存儲器空間被分為2m個塊,字塊大小為個塊,字塊大小為2b個字;個字;cache存儲空間被分為存儲空間被分為2c個同樣大小的塊。個同樣大小的塊。167.2.2cache存儲器組織存儲器組織(1)直接映像)直接映像直接映像函數(shù)直接映像函數(shù)為:為:j=i mod 2cj是是cache的字塊號,的字塊號,i是主存的字塊號。在這種映像方是主存的字塊號。在這種映像方式中,主存的第式中,主存的第0塊,第塊,第2c塊,第塊,第2c+1塊,塊,只能

20、映,只能映像到像到cache的第的第0塊,而主存的第塊,而主存的第1塊,第塊,第2c+1塊,第塊,第2c+1+1塊,塊,只能映像到,只能映像到cache的第的第1塊。塊。直接映像的直接映像的優(yōu)點是實現(xiàn)簡單優(yōu)點是實現(xiàn)簡單,只需,只需利用主存地址按某利用主存地址按某些字段直接判斷些字段直接判斷,即可確定所需字塊是否已在,即可確定所需字塊是否已在cache存儲器中。如圖存儲器中。如圖7.3。主存地址末主存地址末b位是字塊內(nèi)地址位是字塊內(nèi)地址(假定為地址);中間(假定為地址);中間c位是位是cache字塊地址字塊地址;高高 (m-c)=t位就是主存字塊標記位就是主存字塊標記,也就是記錄在相應(yīng)也就是記錄

21、在相應(yīng)cache塊中的內(nèi)容塊中的內(nèi)容,當有效位為,當有效位為“1”時,它表明該數(shù)時,它表明該數(shù)據(jù)塊是主存哪一塊數(shù)據(jù)的副本。據(jù)塊是主存哪一塊數(shù)據(jù)的副本。cache在接收到在接收到CPU送送17字塊字塊0字塊字塊1字塊字塊2m-1字塊字塊2c字塊字塊2c-1字塊字塊2c+1字塊字塊2c+1-1字塊字塊2c+1主存儲器主存儲器主存字主存字塊標記塊標記cache字字塊地址塊地址字塊內(nèi)字塊內(nèi)地址地址t位位c位位b位位m位位主存地址主存地址字塊字塊0字塊字塊1字塊字塊2c-1cache存儲器存儲器標記標記標記標記標記標記t位位012c-1比較器(比較器(t位)位)=有效位有效位=1?命中命中YN不命中不命

22、中*圖圖7.3直接映像直接映像cache187.2.2cache存儲器組織存儲器組織 來的主存地址和讀來的主存地址和讀/寫命令后,只需寫命令后,只需根據(jù)中間根據(jù)中間c位字段位字段找到找到cache存儲器字塊存儲器字塊,然后看其標記是否與主存地,然后看其標記是否與主存地址高址高t位符合,如果位符合,如果符合且有效位為符合且有效位為“1”,則可根據(jù),則可根據(jù)b位塊內(nèi)地址,從位塊內(nèi)地址,從cache中取得所需指令或數(shù)據(jù)中取得所需指令或數(shù)據(jù);如果;如果不符合或有效位為不符合或有效位為“0”,就從主存讀入新的字塊來,就從主存讀入新的字塊來替換舊的字塊替換舊的字塊,并將,并將CPU所需數(shù)據(jù)送往所需數(shù)據(jù)送往

23、CPU,同時,同時修改修改cache標記。標記。 缺點是不夠靈活,即主存的缺點是不夠靈活,即主存的2t個個字塊只能對應(yīng)惟一的字塊只能對應(yīng)惟一的cache存儲器字塊,即使存儲器字塊,即使cache存儲器別的許多地址空存儲器別的許多地址空著也不能占用,使著也不能占用,使cache存儲空間得不到充分利用,存儲空間得不到充分利用,降低了命中率。降低了命中率。19全相聯(lián)映像全相聯(lián)映像全相聯(lián)映像方式全相聯(lián)映像方式是是最靈活但成本最高的一種方式最靈活但成本最高的一種方式,它,它允許允許主存中的每一個字塊映像到主存中的每一個字塊映像到cache存儲器的任何存儲器的任何一個字塊位置上一個字塊位置上,也允許從已被

24、占滿的,也允許從已被占滿的cache存儲器存儲器中替換出任何一個舊字塊。但成本太高而不能采用。中替換出任何一個舊字塊。但成本太高而不能采用。組相聯(lián)映像方式組相聯(lián)映像方式是直接映像和全相聯(lián)映像方式的一種是直接映像和全相聯(lián)映像方式的一種折衷方案。折衷方案。組相聯(lián)映像把組相聯(lián)映像把cache字塊分為字塊分為2c組,每組組,每組包含包含2r個字塊個字塊,于是有,于是有c=c+r。則主存字塊。則主存字塊Mm(i)(0i 2m-1)可用下列映像函數(shù)映像到可用下列映像函數(shù)映像到cache字塊字塊Mc(j)(0j 2c-1)上上j=(i mod 2ct)2r+k 0k 2r-1K為位于可選參數(shù)(整數(shù))。按這種

25、映像方式,為位于可選參數(shù)(整數(shù))。按這種映像方式,組間為組間為直接映像直接映像,組內(nèi)的字塊為全相聯(lián)映像方式組內(nèi)的字塊為全相聯(lián)映像方式。組相聯(lián)組相聯(lián)映像把地址劃分成映像把地址劃分成3段,末段,末b位塊內(nèi)地址,中間位塊內(nèi)地址,中間c位為位為cache組地址,高組地址,高t位和位和r位形成標記字段位形成標記字段。207.2.4多層次多層次cache存儲器存儲器2、多層次、多層次cache結(jié)構(gòu)結(jié)構(gòu) Cache,即高速緩沖存儲器。它是位于,即高速緩沖存儲器。它是位于CPU與與主存儲器之間的規(guī)模較小但速度很高的存儲器,主存儲器之間的規(guī)模較小但速度很高的存儲器,通常由通常由SRAM組成。組成。CPU在讀寫數(shù)

26、據(jù)時,首先在讀寫數(shù)據(jù)時,首先訪問訪問Cache。只有在。只有在cache不含有不含有CPU所需的所需的數(shù)據(jù)時,數(shù)據(jù)時,CPU才去訪問主存儲器。才去訪問主存儲器。 近年來新設(shè)計的快速微處理器芯片都將近年來新設(shè)計的快速微處理器芯片都將cache集成在片內(nèi),集成在片內(nèi),片內(nèi)片內(nèi)cache的讀取速度要比的讀取速度要比片外片外cache快得多。快得多。217.2.4多層次多層次cache存儲器存儲器 片內(nèi)片內(nèi)Cache的容量受芯片集成度的限制,一般的容量受芯片集成度的限制,一般在幾十在幾十KB以內(nèi),命中率較大容量以內(nèi),命中率較大容量cache低。后低。后來推出了二級來推出了二級cache方案。其中第一級

27、方案。其中第一級cache(L1)在處理器芯片內(nèi)部;第二級在處理器芯片內(nèi)部;第二級cache(L2)在片外,其容量可從幾十在片外,其容量可從幾十KB到幾百到幾百KB,采用,采用SRAM存儲器,存儲器,兩級兩級cache之間之間一般一般有有專用總線專用總線相連。相連。Pentium 微處理器支持片外微處理器支持片外的第二級的第二級cache,其容量為,其容量為256或或512。227.3虛擬存儲器虛擬存儲器虛擬存儲器虛擬存儲器指的是指的是“主存主存-輔存輔存”層次,它使計層次,它使計算機具有算機具有輔存的容量輔存的容量,接近于,接近于主存的速度主存的速度和和輔輔存的每位成本存的每位成本。1、主存

28、、主存-輔存層次和輔存層次和cache-主存層次的區(qū)別主存層次的區(qū)別主存主存/cache存儲器的存儲器的訪問訪問“時間比時間比”較小較小,每次,每次傳送的傳送的基本信息單元(字塊)也比較小基本信息單元(字塊)也比較小。主存主存-輔存層次和輔存層次和cache-主存層次的聯(lián)系主存層次的聯(lián)系它們采用的地址變換及映像方法和替換策略,它們采用的地址變換及映像方法和替換策略,從原理上看是相同的。從原理上看是相同的。237.3虛擬存儲器虛擬存儲器主存主存輔存層次的信息傳送單位可采用段、頁或段頁輔存層次的信息傳送單位可采用段、頁或段頁。段段是利用程序的是利用程序的模塊化模塊化性質(zhì),按照性質(zhì),按照程序的邏輯結(jié)

29、構(gòu)程序的邏輯結(jié)構(gòu)劃劃分成的多個分成的多個相對獨立部分相對獨立部分。段段作為作為獨立的邏輯單位獨立的邏輯單位可被其他程序調(diào)用,形成段間連接,產(chǎn)生規(guī)模較大可被其他程序調(diào)用,形成段間連接,產(chǎn)生規(guī)模較大的程序。一般用的程序。一般用段表段表來指明來指明各段在主存中的位置各段在主存中的位置,每段都有它的名稱、段起點、段長等。段表本身也每段都有它的名稱、段起點、段長等。段表本身也是主存儲器的一個可再定位段。是主存儲器的一個可再定位段。把主存按段分配的存儲管理方式稱為把主存按段分配的存儲管理方式稱為段式管理段式管理。段式管理系統(tǒng)的段式管理系統(tǒng)的優(yōu)點優(yōu)點是段的分界與程序的自然分界相是段的分界與程序的自然分界相對

30、應(yīng);段的邏輯獨立性使它易于編譯、管理、修改對應(yīng);段的邏輯獨立性使它易于編譯、管理、修改和保護,也便于多道程序共享。和保護,也便于多道程序共享。缺點缺點是容易在段間是容易在段間留下許多空余的零碎存儲空間不好利用,造成浪費。留下許多空余的零碎存儲空間不好利用,造成浪費。247.3虛擬存儲器虛擬存儲器頁式管理系統(tǒng)頁式管理系統(tǒng)的信息傳送單位是的信息傳送單位是定長的頁定長的頁,主主存的物理空間也被劃分為等長的固定區(qū)域,稱存的物理空間也被劃分為等長的固定區(qū)域,稱為頁面為頁面。優(yōu)點優(yōu)點是浪費少,可能造成的浪費是程是浪費少,可能造成的浪費是程序最后一頁的零頭,是不能利用的頁內(nèi)空間。序最后一頁的零頭,是不能利用

31、的頁內(nèi)空間。缺點缺點是由于是由于頁不是邏輯上獨立的實體頁不是邏輯上獨立的實體,所以處,所以處理、保護和共享都不方便。理、保護和共享都不方便。由于段式和頁式存儲管理各有優(yōu)缺點,故由于段式和頁式存儲管理各有優(yōu)缺點,故采用采用段和頁結(jié)合的段頁式存儲管理系統(tǒng)段和頁結(jié)合的段頁式存儲管理系統(tǒng)。程序按。程序按模模塊分段塊分段,段內(nèi)再分頁段內(nèi)再分頁,出入主存仍以,出入主存仍以頁頁為信息為信息傳送單位。用傳送單位。用段表段表和和頁表頁表(每段一個頁表)進(每段一個頁表)進行兩級管理。行兩級管理。257.3.2頁式虛擬存儲器頁式虛擬存儲器 在在頁式虛擬存儲系統(tǒng)頁式虛擬存儲系統(tǒng)中,把中,把虛擬空間分成頁虛擬空間分成

32、頁,稱為,稱為虛頁虛頁或或邏輯頁邏輯頁,主存空間主存空間也分成也分成同樣大小的頁同樣大小的頁,稱稱為實頁為實頁或或物理頁物理頁。頁的大小都取。頁的大小都取2的整數(shù)冪個字,故的整數(shù)冪個字,故頁的起點都落在低位字段為零的地址上。可把虛擬頁的起點都落在低位字段為零的地址上。可把虛擬地址分為兩個字段,地址分為兩個字段,高位字段為虛頁號高位字段為虛頁號,低位字段低位字段為頁內(nèi)字地址為頁內(nèi)字地址。 虛擬地址虛擬地址到到主存實地址的變換主存實地址的變換是由是由頁表頁表來實現(xiàn)的。來實現(xiàn)的。在頁表中,對應(yīng)每一個虛存頁號有一個表目,表目在頁表中,對應(yīng)每一個虛存頁號有一個表目,表目內(nèi)容至少要包含該虛頁所在的主存頁面

33、地址(頁面內(nèi)容至少要包含該虛頁所在的主存頁面地址(頁面號),用它作為號),用它作為實(主)存地址的高字段實(主)存地址的高字段;與;與虛擬虛擬地址地址的字地址字段相拼接,就產(chǎn)生完整的的字地址字段相拼接,就產(chǎn)生完整的實主存地實主存地址址,據(jù)此訪問主存。,據(jù)此訪問主存。267.3.2頁式虛擬存儲器頁式虛擬存儲器主存頁面號主存頁面號控制字控制字頁式虛擬存儲器結(jié)構(gòu)頁式虛擬存儲器結(jié)構(gòu)頁表基地址頁表基地址+頁表基址寄存器頁表基址寄存器字地址字地址頁地址頁地址虛地址虛地址實存地址實存地址字地址字地址頁面號頁面號頁表(在主存中)頁表(在主存中)277.3.3段頁式虛擬存儲器段頁式虛擬存儲器 在在段頁式虛擬存儲

34、器段頁式虛擬存儲器中,把程序按中,把程序按邏輯結(jié)構(gòu)分邏輯結(jié)構(gòu)分段段后,再把每段分成后,再把每段分成固定大小的頁固定大小的頁。程序?qū)χ?。程序?qū)χ鞔娴恼{(diào)入調(diào)出是按頁面進行的,又可以按段實存的調(diào)入調(diào)出是按頁面進行的,又可以按段實現(xiàn)共享和保護。因此它兼有頁式和段式系統(tǒng)的現(xiàn)共享和保護。因此它兼有頁式和段式系統(tǒng)的優(yōu)點。缺點是在地址映像過程中需要多次查表。優(yōu)點。缺點是在地址映像過程中需要多次查表。 若有多個用戶在機器上運行,稱為若有多個用戶在機器上運行,稱為多道程序多道程序,多道程序的每一道(每個用戶)需要一個基號多道程序的每一道(每個用戶)需要一個基號(用戶標志號),可由它指明該道程序的段表(用戶標志號)

35、,可由它指明該道程序的段表起點(存放在基址寄存器中)。這樣,虛擬地起點(存放在基址寄存器中)。這樣,虛擬地址應(yīng)包括基號址應(yīng)包括基號D、段號、段號S、頁號、頁號P、頁內(nèi)地址、頁內(nèi)地址d。格式如下:格式如下:基號D 段號S頁號P頁內(nèi)地址d287.3.4虛擬存儲器工作的全過程虛擬存儲器工作的全過程對虛擬存儲器來說,程序員按虛存儲空間編制對虛擬存儲器來說,程序員按虛存儲空間編制程序,在直接尋址方式下由機器指令的地址碼程序,在直接尋址方式下由機器指令的地址碼給出地址。這個給出地址。這個地址碼地址碼就是就是虛地址虛地址,可由,可由虛頁虛頁號號及及頁內(nèi)地址頁內(nèi)地址組成,如下所示:組成,如下所示:頁內(nèi)地址Nr

36、虛頁號Nv虛地址這個虛地址實際上不是輔存的實地址,而是這個虛地址實際上不是輔存的實地址,而是輔輔存的邏輯地址存的邏輯地址。以磁盤為例,按字編址的實地。以磁盤為例,按字編址的實地址址Nd如下:如下:磁頭機號磁頭號 柱面號塊內(nèi)地址塊號NdNvd297.3.4虛擬存儲器工作的全過程虛擬存儲器工作的全過程 因此,在因此,在虛擬存儲器虛擬存儲器中還應(yīng)有虛擬地址到中還應(yīng)有虛擬地址到輔存輔存實地址的變換實地址的變換。輔存一般按。輔存一般按信息塊編址信息塊編址,而不,而不是是按字編址按字編址,若使一個塊的大小等于一個虛頁,若使一個塊的大小等于一個虛頁面的大小,只需把虛頁號變換到面的大小,只需把虛頁號變換到Nv

37、d即可完成即可完成虛地址到輔存實地址的變換。要完成這個變虛地址到輔存實地址的變換。要完成這個變換,可采用換,可采用頁表的方式頁表的方式,把由把由Nv變換成變換成Nvd的的表稱為外頁表,而把表稱為外頁表,而把Nv變換到主存頁號的表變換到主存頁號的表稱為內(nèi)頁表。稱為內(nèi)頁表。307.3.6存儲管理部件(存儲管理部件(MMU)虛擬存儲系統(tǒng)的兩大特點虛擬存儲系統(tǒng)的兩大特點:(1)允許用戶用比主存空間大得多的空間來訪問)允許用戶用比主存空間大得多的空間來訪問主存主存。(2)每次訪存都要進行)每次訪存都要進行虛實地址的轉(zhuǎn)換虛實地址的轉(zhuǎn)換。虛擬存儲器的管理虛擬存儲器的管理是由是由存儲管理部件存儲管理部件MMU

38、與與操作系統(tǒng)操作系統(tǒng)共同完成的。共同完成的。相聯(lián)存儲器相聯(lián)存儲器不按地址訪問存儲器,而按所存數(shù)據(jù)字的不按地址訪問存儲器,而按所存數(shù)據(jù)字的全部內(nèi)容或部分內(nèi)容進行查找(或檢索)。全部內(nèi)容或部分內(nèi)容進行查找(或檢索)。例如:例如:在虛擬存儲器中,將虛地址的虛頁號與相聯(lián)存儲器在虛擬存儲器中,將虛地址的虛頁號與相聯(lián)存儲器中所有行的虛頁號進行比較,若有內(nèi)容相等的行,中所有行的虛頁號進行比較,若有內(nèi)容相等的行,則將其相應(yīng)的實頁號取出,這是按數(shù)據(jù)字的部分內(nèi)則將其相應(yīng)的實頁號取出,這是按數(shù)據(jù)字的部分內(nèi)容進行檢索的例子。容進行檢索的例子。317.4相聯(lián)存儲器相聯(lián)存儲器相聯(lián)存儲器框圖:相聯(lián)存儲器框圖: CR0 00

39、0011111MR字字01iW-1 0 1 2 3 4 5 6 7 8 nSRRWSR位位327.5存儲保護存儲保護存儲保護存儲保護主要包括兩個方面:主要包括兩個方面:存儲區(qū)域保護存儲區(qū)域保護和和訪問式的保護訪問式的保護。1、存儲區(qū)域保護、存儲區(qū)域保護 對不是對不是虛擬存儲器的主存系統(tǒng)虛擬存儲器的主存系統(tǒng)可采用可采用界限寄存界限寄存器方式器方式。由系統(tǒng)軟件經(jīng)特權(quán)指令設(shè)置上、下界。由系統(tǒng)軟件經(jīng)特權(quán)指令設(shè)置上、下界寄存器為每個程序劃定存儲區(qū)域,禁止越界訪寄存器為每個程序劃定存儲區(qū)域,禁止越界訪問。界限寄存器方式只適用于每個用戶占用一問。界限寄存器方式只適用于每個用戶占用一個或幾個連續(xù)的主存區(qū)域;在

40、虛擬存儲系統(tǒng)中,個或幾個連續(xù)的主存區(qū)域;在虛擬存儲系統(tǒng)中,由于一個用戶程序的各頁離散地分布于主存中,由于一個用戶程序的各頁離散地分布于主存中,故不能采用這種方式,通常采用故不能采用這種方式,通常采用頁表保護頁表保護和和鍵鍵保護保護等方式。等方式。337.5存儲保護存儲保護(1)頁表保護)頁表保護 頁表和段表本身有自己的保護功能,無論地址如何出頁表和段表本身有自己的保護功能,無論地址如何出錯,也只能影響到相應(yīng)的幾個主存頁面。但這種頁錯,也只能影響到相應(yīng)的幾個主存頁面。但這種頁表、段表保護只能在沒形成主存地址前起保護作用;表、段表保護只能在沒形成主存地址前起保護作用;若在地址變換過程中出現(xiàn)錯誤,形成錯誤主存地址,若在地址變換過程中出現(xiàn)錯誤,形成錯誤主存地址,則需采用其他方式,一般采用鍵方式。則需采用其他方式,一般采用鍵方式。(2)鍵方式)鍵方式鍵保護方式的基本思想是為主存的每一頁配一個鍵,鍵保護方式的基本思想是為主存的每一頁配一個鍵,稱為存儲鍵。它相當于一把稱為存儲鍵。它相當于一把“鎖鎖”,為了打開這個,為了打開這個鎖,必須有鑰匙

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論