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

下載本文檔

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

文檔簡介

1、v掌握掌握cache的基本原理、地址映射、替換策略;的基本原理、地址映射、替換策略;v掌握虛擬存儲器的基本概念以及段式、頁式、段掌握虛擬存儲器的基本概念以及段式、頁式、段頁式虛擬存儲器的原理;頁式虛擬存儲器的原理;v了解只讀存儲器、閃速存儲器的原理及存儲保護了解只讀存儲器、閃速存儲器的原理及存儲保護的原理。的原理。v了解外存儲設(shè)備的發(fā)展動態(tài)。了解外存儲設(shè)備的發(fā)展動態(tài)。 教教 學(xué)學(xué) 要要 求求 衡量存儲器有三個指標衡量存儲器有三個指標:容量、速度和價格容量、速度和價格/位位. 單一的存儲器很難同時滿足三個指標單一的存儲器很難同時滿足三個指標. 因為存取時間越短因為存取時間越短,每位的價格就越高每

2、位的價格就越高;容量越大容量越大,每位的價格就越低每位的價格就越低;容量越大容量越大,存取時間就越長存取時間就越長. 存儲系統(tǒng)實現(xiàn):存儲系統(tǒng)實現(xiàn):l存儲系統(tǒng)不是硬件的簡單堆積,是硬軟件相結(jié)合存儲系統(tǒng)不是硬件的簡單堆積,是硬軟件相結(jié)合的方法連接而成的系統(tǒng)。的方法連接而成的系統(tǒng)。l這個系統(tǒng)對應(yīng)用程序員透明。這個系統(tǒng)對應(yīng)用程序員透明。l這個存儲器的速度接近速度最快的那個存儲器這個存儲器的速度接近速度最快的那個存儲器,l存儲器容量與容量最大的那個存儲器相等或接近存儲器容量與容量最大的那個存儲器相等或接近,l單位容量的價格接近最便宜的那個存儲器單位容量的價格接近最便宜的那個存儲器.主板內(nèi)主板內(nèi)存儲器存儲

3、器寄存器寄存器Cache主存儲器主存儲器主板外主板外存儲器存儲器磁盤磁盤CD-ROMCD-RWDVD-RWDVD-RAM離線存離線存儲器儲器磁帶磁帶MO(光磁盤光磁盤)WORM(一寫多讀光盤一寫多讀光盤)u 內(nèi)存主要是內(nèi)存主要是DRAM,價格低、容量大,但存取速度難以,價格低、容量大,但存取速度難以提高;而提高;而CPU速度提高很快。目前速度提高很快。目前CPU的速度比的速度比DRAM要要快一個數(shù)量級以上,導(dǎo)致兩者速度不匹配??煲粋€數(shù)量級以上,導(dǎo)致兩者速度不匹配。u只有雙極型只有雙極型TTL SRAM,存取速度與,存取速度與CPU處于同一量級,處于同一量級,但價格較貴,功耗很大,集成度低,所以

4、不能將所有但價格較貴,功耗很大,集成度低,所以不能將所有DRAM都采用都采用SRAM。u折中的辦法是分級處理,在主存和折中的辦法是分級處理,在主存和CPU之間加一個容量之間加一個容量相對小的雙極型相對小的雙極型SRAM作為高速緩沖存儲器作為高速緩沖存儲器Cache。u 目前目前Cache的分為一級的分為一級Cache、二級、二級Cache等。等。Cache的的命中率可達到命中率可達到90% - 98%,這樣就大大提高了,這樣就大大提高了CPU訪問數(shù)據(jù)訪問數(shù)據(jù)的速度。的速度。l時間局部性時間局部性:在一小段時間內(nèi),最近被訪問過的程序和數(shù)在一小段時間內(nèi),最近被訪問過的程序和數(shù)據(jù)很可能再次被訪問;據(jù)

5、很可能再次被訪問;l空間局部性空間局部性: 這些最近被訪問過的程序和數(shù)據(jù),往往集這些最近被訪問過的程序和數(shù)據(jù),往往集中在一小片存儲區(qū)域中;中在一小片存儲區(qū)域中;l指令執(zhí)行順序方面指令執(zhí)行順序方面:指令順序執(zhí)行比轉(zhuǎn)移執(zhí)行的可能性:指令順序執(zhí)行比轉(zhuǎn)移執(zhí)行的可能性要大(大約為要大(大約為5:1),因此,合理地把數(shù)據(jù)和程序放在不),因此,合理地把數(shù)據(jù)和程序放在不同的存儲介質(zhì)中。同的存儲介質(zhì)中。 這種對局部范圍的存儲器地址頻繁訪問,而對此范圍這種對局部范圍的存儲器地址頻繁訪問,而對此范圍以外的地址則訪問甚少的現(xiàn)象就稱為以外的地址則訪問甚少的現(xiàn)象就稱為關(guān)系關(guān)系CPUCPUCacheCache主存主存字傳送

6、字傳送塊傳送塊傳送.主存主存塊塊Cache標記標記結(jié)構(gòu)結(jié)構(gòu)6.3.1 CACHE概述概述lCache和主存分和主存分同樣大小的塊同樣大小的塊;l主存中只有一小部分塊的內(nèi)容主存中只有一小部分塊的內(nèi)容 可放在可放在Cache中中.l在在cache中每一塊都有一個中每一塊都有一個標記標記, 指明它是主存的哪一塊的副本,指明它是主存的哪一塊的副本, 該標記的內(nèi)容相當于主存中塊該標記的內(nèi)容相當于主存中塊 的編號,的編號,l設(shè)主存地址為設(shè)主存地址為n位,位, 且且n=m+b,則,則l主存的塊數(shù)主存的塊數(shù)M=2n/2b=2m ,l塊內(nèi)字節(jié)數(shù)塊內(nèi)字節(jié)數(shù)B=2b。 l cache地址碼地址碼=(c+b)位)位。

7、lcache的塊數(shù)為的塊數(shù)為2c。 塊內(nèi)字節(jié)數(shù)與主存相同。塊內(nèi)字節(jié)數(shù)與主存相同。主存塊號塊內(nèi)地址地址映象變換機構(gòu)Cache塊號塊內(nèi)地址C Ca ac ch he e主主存存C Ca ac ch he 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存儲體、地址映像變換機構(gòu)、存儲體、地址映像變換機構(gòu)、cache替換機構(gòu)模塊組成。替換機構(gòu)模塊組成。6

8、.3.2 CACHE的工作原理的工作原理uCache容量容量u映射功能映射功能l直接映射直接映射l組相聯(lián)映射組相聯(lián)映射l全相聯(lián)映射全相聯(lián)映射u替換算法替換算法l最近最少使用(最近最少使用(LRU)l先進先出(先進先出(FIFO)l最不經(jīng)常使用(最不經(jīng)常使用(LFU)l隨機隨機u寫策略寫策略l寫通過寫通過(write through)l回寫回寫(write back)l寫一次寫一次u塊大小塊大小uCache數(shù)目數(shù)目l一級或二級一級或二級l統(tǒng)一或分離統(tǒng)一或分離6.3.2 CACHE的工作原理的工作原理。6.3.2 CACHE的工作原理的工作原理u增加增加cache的目的是在性能上使主存的平均讀出時

9、間盡可能的目的是在性能上使主存的平均讀出時間盡可能接近接近cache的讀出時間。因此的讀出時間。因此cache的命中率應(yīng)接近于的命中率應(yīng)接近于1。u在一個程序執(zhí)行期間命中率在一個程序執(zhí)行期間命中率HcNc /(Nc+Nm) Nc表示表示Cache完成存取的總次數(shù)完成存取的總次數(shù) Nm表示主存完成存取的總次數(shù)表示主存完成存取的總次數(shù)u設(shè)設(shè)Tc為為Cache的存取周期,的存取周期,Hc為為Cache的命中率,的命中率,Tm為主為主存的存取時間,則平均存取時間存的存取時間,則平均存取時間T為:為: THc *Tc + ( 1- Hc ) Tm u 追求的目標是:以較小的硬件代價使追求的目標是:以較小

10、的硬件代價使cache/主存系統(tǒng)的平主存系統(tǒng)的平均均 訪問時間訪問時間T越接近越接近Tc越好。越好。ucache的命中率還與程序有關(guān),不同程序命中率可能不同。的命中率還與程序有關(guān),不同程序命中率可能不同。6.3.2 CACHE的工作原理的工作原理6.3.3 cache存儲器組織存儲器組織u 主存的地址和主存的地址和cache地址間建立一種確定的邏輯關(guān)系,地址間建立一種確定的邏輯關(guān)系,必須應(yīng)用某種函數(shù)把主存地址映像到必須應(yīng)用某種函數(shù)把主存地址映像到cache,這樣的邏輯,這樣的邏輯關(guān)系稱作關(guān)系稱作。u在信息按照這種映像關(guān)系裝入在信息按照這種映像關(guān)系裝入cache后,執(zhí)行程序時,后,執(zhí)行程序時,將

11、主存地址變換成將主存地址變換成cache地址,這個變換過程叫做地址,這個變換過程叫做。地址的映像和變換是密切相關(guān)的。地址的映像和變換是密切相關(guān)的。u地址映像方式:地址映像方式:u設(shè)主存儲器空間被分為設(shè)主存儲器空間被分為Mm(0), Mm(1), , Mm i), , Mm(2m1),共,共2m塊塊,字塊大小為字塊大小為2b個字個字; u設(shè)設(shè)Cache存儲空間被分為存儲空間被分為Mc(0), Mc(1), , Mc(j), , Mc(2c1,共,共2c個同樣大小的塊個同樣大小的塊. 6.3.3 cache存儲器組織存儲器組織 直接映像直接映像:一個主存塊只能映像到:一個主存塊只能映像到cache

12、中的中的唯一唯一一一個指定塊的地址映像方式。若這個位置已有內(nèi)容,則產(chǎn)個指定塊的地址映像方式。若這個位置已有內(nèi)容,則產(chǎn)生塊沖突,原來的塊將無條件到被替換出去。生塊沖突,原來的塊將無條件到被替換出去。 直接相聯(lián)是一種直接相聯(lián)是一種最強的約束關(guān)系最強的約束關(guān)系,它規(guī)定每個虛頁,它規(guī)定每個虛頁只對應(yīng)唯一的實頁。地址映像方法一般是將主存塊地址只對應(yīng)唯一的實頁。地址映像方法一般是將主存塊地址對對cache的塊數(shù)取模得到的塊數(shù)取模得到cache中的塊地址,這相當于將中的塊地址,這相當于將主存的空間按主存的空間按cache的尺寸分區(qū),每區(qū)內(nèi)相同的塊號映像的尺寸分區(qū),每區(qū)內(nèi)相同的塊號映像到到cache中相同的位

13、置。中相同的位置。 在這種映像方式中,主存的第在這種映像方式中,主存的第0塊,第塊,第2c塊,第塊,第2c+1塊,塊,只能映像到,只能映像到cache的第的第0塊,而主存的第塊,而主存的第1塊,第塊,第2c+1塊,第塊,第2c+1+1塊,塊,只能映像到,只能映像到cache的第的第1塊。塊。以此類推。以此類推。 6.3.3 cache存儲器組織存儲器組織字塊字塊0字塊字塊1字塊字塊2c-1字塊字塊0字塊字塊1字塊字塊2c-1標記標記標記標記標記標記字塊字塊2c+1-1字塊字塊2c字塊字塊2c+1主存字塊主存字塊標記標記cache字塊地址字塊地址塊內(nèi)地址塊內(nèi)地址t位位 c位位 b位位m位位主存地

14、址主存地址比較器(比較器(t位)位) 有效位有效位=1主存儲器主存儲器命中命中 不命中不命中cache存儲器存儲器字塊字塊2c+1字塊字塊2c+1+1字塊字塊2m-11主存分為主存分為M個區(qū),每個區(qū)有個區(qū),每個區(qū)有2c個塊,總共有個塊,總共有M 2c塊,塊,編號從編號從0到到M 2c -1。Cache有有2c個塊。個塊。第第0區(qū)區(qū)第第1區(qū)區(qū)第第M-1區(qū)區(qū)6.3.3 cache存儲器組織存儲器組織塊塊0 0塊塊1 1塊塊1515CacheCache標記標記標記標記標記標記塊塊0 0塊塊1 1塊塊20472047主存主存m m位位 塊塊字字0 0字字1 1字字511511 由于由于Cache的塊數(shù)

15、遠小于主存的塊數(shù),因此一個的塊數(shù)遠小于主存的塊數(shù),因此一個Cache不能唯一地、永久地只對應(yīng)一個貯存塊,在不能唯一地、永久地只對應(yīng)一個貯存塊,在Cache中,每一塊外加有一個標記,指明它是主存的中,每一塊外加有一個標記,指明它是主存的哪一塊的副本哪一塊的副本(拷貝拷貝)?!纠俊纠磕硻C某機主存容量主存容量為為1MB1MB, ,劃分為劃分為20482048塊塊, ,每塊每塊512B;512B;CacheCache容量容量為為8KB8KB, ,劃分為劃分為1616塊塊, ,每塊每塊512B512B。6.3.3 cache存儲器組織存儲器組織 這是一種多對一的映射關(guān)系,但一個這是一種多對一的映射關(guān)

16、系,但一個主存塊只能映象主存塊只能映象到到Cache的一個特定塊位置上去。的一個特定塊位置上去。 Cache的第的第i塊塊和和主存的第主存的第j塊塊有如下函數(shù)關(guān)系:有如下函數(shù)關(guān)系: i = j mod m ( m為為Cache的總塊數(shù))的總塊數(shù)) i =0,1,2,m-1 j=0,1,2,n-1在這種映象方式中:在這種映象方式中:主存的第主存的第0 0塊,第塊,第1616塊,第塊,第3232塊,塊,只能映象到,只能映象到CacheCache的的第第0 0塊;塊;而主存的第而主存的第1 1塊,第塊,第1717塊,第塊,第3333塊,塊,只能映象到,只能映象到CacheCache的第的第1 1塊;

17、塊;6.3.3 cache存儲器組織存儲器組織直接映像方式直接映像方式 Cache Cache地址地址C Ca ac ch he e塊塊號號塊塊內(nèi)內(nèi)地地址址4位位 9 位位主存地址主存地址塊塊內(nèi)內(nèi)地地址址C Ca ac ch he e塊塊號號主主存存標標記記(組組號號)7位位 4位位 9 位位主主存存塊塊號號塊塊內(nèi)內(nèi)地地址址11位位 9 位位主存地址主存地址塊塊 0塊塊 1塊塊 15CacheCache標記標記標記標記標記標記標記標記標記標記標記標記.0 0 組組塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存TagTag1 1 組組127127組組7位位6.3.3

18、cache存儲器組織存儲器組織 主存地址分成三段主存地址分成三段:區(qū)號、塊號和塊內(nèi)地址。:區(qū)號、塊號和塊內(nèi)地址。 區(qū)號區(qū)號( (組號組號) )作為標志存放在地址映象表中,用于判作為標志存放在地址映象表中,用于判斷命中與否。斷命中與否。 塊號塊號直接用于查地址映象表直接用于查地址映象表; ; 塊內(nèi)地址塊內(nèi)地址用于塊內(nèi)尋址。用于塊內(nèi)尋址。 在訪存操作時,根據(jù)主存地址中的塊號讀出塊在訪存操作時,根據(jù)主存地址中的塊號讀出塊表中的區(qū)號,并與當前地址的區(qū)號進行比較,結(jié)果表中的區(qū)號,并與當前地址的區(qū)號進行比較,結(jié)果相同表相同表cachecache命中,訪問可對命中,訪問可對cache cache 進行;不相

19、同則進行;不相同則表示不命中,訪問需對主存進行。表示不命中,訪問需對主存進行。6.3.3cache存儲器組織存儲器組織.0 0 組組塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存1 1 組組127127組組塊內(nèi)地址塊內(nèi)地址Cache塊號Cache塊號主存標記(組號)主存標記(組號)標記標記標記標記標記標記標記標記標記標記標記標記塊塊 0塊塊 1塊塊 15有效位有效位有效位有效位: :有效位有效位7位 4位 9位7位 4位 9位比較比較命中命中數(shù)據(jù)數(shù)據(jù)主存地址主存地址不命中不命中比較相等且有效位相等比較相等且有效位相等6.3.3 cache存儲器組織存儲器組織CPU送

20、來的主存地址和讀寫命令后,只需根據(jù)中送來的主存地址和讀寫命令后,只需根據(jù)中間間c位字段位字段找到找到cache存儲器字塊,然后存儲器字塊,然后,看其標記是否看其標記是否與與主存地址高主存地址高t位位符合符合: 如果如果符合且有效位為符合且有效位為“1”,則可根據(jù),則可根據(jù)b位塊內(nèi)地址,位塊內(nèi)地址,從從cache中取得所需指令或數(shù)據(jù);中取得所需指令或數(shù)據(jù); 如果如果不符合或有效位為不符合或有效位為“0”,就從主存讀入新的字,就從主存讀入新的字塊來替換舊的字塊,并將塊來替換舊的字塊,并將CPU所需數(shù)據(jù)送往所需數(shù)據(jù)送往CPU,同,同時修改時修改cache標記。假如原來有效位為標記。假如原來有效位為“

21、0”,還要將有,還要將有效位改置成效位改置成“1”。 直接映像方式的缺點是不夠靈活,即主存的直接映像方式的缺點是不夠靈活,即主存的2t個字塊個字塊只能對應(yīng)惟一的只能對應(yīng)惟一的cache存儲器字塊,因此,即使存儲器字塊,因此,即使cache存存儲器別的許多地址空著也不能占用。這使得儲器別的許多地址空著也不能占用。這使得cache存儲存儲空間得不到充分利用,并降低了命中率。空間得不到充分利用,并降低了命中率。6.3.3 cache存儲器組織存儲器組織優(yōu)點優(yōu)點: :硬件硬件實現(xiàn)簡單,只需利用主存地址按某些字段直接判實現(xiàn)簡單,只需利用主存地址按某些字段直接判斷,即可確定所需字塊是否已在斷,即可確定所需

22、字塊是否已在Cache中。中。成本低成本低 缺點:缺點: 不夠靈活,主存的多個字塊只能對應(yīng)唯一的不夠靈活,主存的多個字塊只能對應(yīng)唯一的Cache字塊,字塊,塊沖突率很高,塊沖突率很高,降低了命中率。降低了命中率。6.3.3 cache存儲器組織存儲器組織【例【例1】設(shè)一個】設(shè)一個cache的容量為的容量為2KB,每個塊為,每個塊為16B,求:,求: 該該cache可容納多少個塊?可容納多少個塊? 如果主存容量是如果主存容量是256KB,則主存有多少個塊?,則主存有多少個塊? 主存的地址有多少位?主存的地址有多少位? cache地址有多少位?地址有多少位? 進行地址映象時,存儲器的地址分成哪幾段

23、?各段分進行地址映象時,存儲器的地址分成哪幾段?各段分別有多少位?別有多少位?【解】【解】 cache中有中有2048/16=128個塊個塊 主存有主存有256K/16=16384個塊個塊 主存容量為主存容量為256KB=218字節(jié),字節(jié), 主存字節(jié)地址有主存字節(jié)地址有18位。位。 cache容量為容量為2KB=211字節(jié),字節(jié),cache的字節(jié)地址為的字節(jié)地址為11位。位。存儲器的字地址分三段:區(qū)號、塊號、塊內(nèi)字地址。存儲器的字地址分三段:區(qū)號、塊號、塊內(nèi)字地址。 區(qū)號的長度為區(qū)號的長度為18-11=7位,位,塊號為塊號為7位。塊內(nèi)字地址為位。塊內(nèi)字地址為4位。位。 全相聯(lián)映像全相聯(lián)映像是指

24、主存中的任何一個字(字塊)均是指主存中的任何一個字(字塊)均可以映像到可以映像到CACHECACHE中的任何一個字(字塊)的位置上,中的任何一個字(字塊)的位置上,也允許從確實已被占滿的也允許從確實已被占滿的cachecache存儲器中替換出任何一存儲器中替換出任何一個舊字塊。個舊字塊。 反過來說,反過來說,CACHECACHE的一個字(字塊)中,在不同時的一個字(字塊)中,在不同時刻可能存放的是整個主存中的任何一個字(字塊)中刻可能存放的是整個主存中的任何一個字(字塊)中的內(nèi)容,即二者的對應(yīng)關(guān)系是完全隨意的,沒有任何的內(nèi)容,即二者的對應(yīng)關(guān)系是完全隨意的,沒有任何強制性的限制條件。強制性的限制

25、條件。 全相聯(lián)映像方式是全相聯(lián)映像方式是最靈活但成本最高最靈活但成本最高的一種方式。的一種方式。6.3.3 cache存儲器組織存儲器組織塊塊 0塊塊 1塊塊 15CacheCache標記標記標記標記標記標記標記標記標記標記標記標記.塊塊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 位位主存地址主存地址11位位 允許主存中的每一個字塊映象到允許主存中的每一個字塊映象到CacheCache的任何一個字塊位置上的任

26、何一個字塊位置上 最靈活但成本最高的一種方式。最靈活但成本最高的一種方式。6.3.3 cache存儲器組織存儲器組織字塊字塊0字塊字塊1字塊字塊i字塊字塊0字塊字塊1字塊字塊2c-1標記標記標記標記標記標記字塊字塊2m-1主存字塊主存字塊標記標記塊內(nèi)地址塊內(nèi)地址m=t+c位位 b位位主存地址主存地址比較器(比較器(m位)位) 有效位有效位=1主存儲器主存儲器命中命中 不命中不命中cache存儲器存儲器m=t+c所有標記所有標記6.3.3 cache存儲器組織存儲器組織.塊塊0塊塊1塊塊 15塊塊 16塊塊 17塊塊 31塊塊 2047主存主存標記標記標記標記標記標記標記標記標記標記標記標記塊塊

27、 0塊塊 1塊塊 15有效位有效位有效位有效位: :有效位有效位11位 9位11位 9位比較所有的標記比較所有的標記命中命中數(shù)據(jù)數(shù)據(jù)主存地址主存地址不命中不命中主存塊號主存塊號塊內(nèi)地址塊內(nèi)地址6.3.3 cache存儲器組織存儲器組織1.1.對對CACHECACHE的使用可以有最大的靈活性。的使用可以有最大的靈活性。l 只要只要CACHECACHE中有空閑的單元,可確保進行寫操作。中有空閑的單元,可確保進行寫操作。l 當當CACHECACHE已滿,要寫入時可以方便地選擇一個已滿,要寫入時可以方便地選擇一個CACHECACHE單元單元進行騰空。進行騰空。2.Cache2.Cache的塊沖突概率最

28、低,空間利用率最高,地址變換速的塊沖突概率最低,空間利用率最高,地址變換速度慢度慢. .3.3.比較操作的電路過多、過于復(fù)雜,實現(xiàn)成本高難以實現(xiàn)。比較操作的電路過多、過于復(fù)雜,實現(xiàn)成本高難以實現(xiàn)。 CACHECACHE讀寫操作時,用原本讀主存的整個(或部分)地址讀寫操作時,用原本讀主存的整個(或部分)地址去與去與CACHECACHE的標志字段的內(nèi)容實現(xiàn)比較時,必須與整個的標志字段的內(nèi)容實現(xiàn)比較時,必須與整個CACHECACHE中每一個單元的標志字段都比較,才能知道要讀的信息是否中每一個單元的標志字段都比較,才能知道要讀的信息是否已在已在CACHECACHE中。中。4.4.使用條件:由于僅在使用

29、條件:由于僅在CACHECACHE容量很小時方可選用。容量很小時方可選用。6.3.3 cache存儲器組織存儲器組織 組相聯(lián)映像將主存空間按組相聯(lián)映像將主存空間按cache大小等分成區(qū)后,再大小等分成區(qū)后,再將將cache空間和主存空間中的每一區(qū)都等分成大小相等的空間和主存空間中的每一區(qū)都等分成大小相等的組。讓主存各區(qū)中某組中的任何一塊,均可直接映像裝入組。讓主存各區(qū)中某組中的任何一塊,均可直接映像裝入cache中對應(yīng)的任何一塊位置上。中對應(yīng)的任何一塊位置上。 組相聯(lián)映像方式是直接映像和全相聯(lián)映像方式的一種組相聯(lián)映像方式是直接映像和全相聯(lián)映像方式的一種折衷方案。折衷方案。 特點:特點: 1.

30、組相聯(lián)映像方式的性能與復(fù)雜性介于直接映像與全相組相聯(lián)映像方式的性能與復(fù)雜性介于直接映像與全相聯(lián)映像兩種方式之間。聯(lián)映像兩種方式之間。 2.組相聯(lián)映像方式的優(yōu)缺點介于直接映像與全相聯(lián)映像兩組相聯(lián)映像方式的優(yōu)缺點介于直接映像與全相聯(lián)映像兩種方式之間。種方式之間。 3. cache的命中率除了與地址映像的方式有關(guān)外,還與的命中率除了與地址映像的方式有關(guān)外,還與cache的容量有關(guān)。的容量有關(guān)。cache容量大,命中率高,但達到一容量大,命中率高,但達到一定容量后,命中率的提高就不明顯了。定容量后,命中率的提高就不明顯了。6.3.3 cache存儲器組織存儲器組織塊塊 0塊塊 1塊塊CacheCach

31、e標記標記標記標記標記標記標記標記標記標記標記標記.塊塊0塊塊1塊塊 7塊塊 8塊塊 9塊塊 2032塊塊 2039主存主存TagTag254組塊塊 0塊塊 1塊塊7標記標記標記標記標記標記標記標記標記標記標記標記標記標記70組1組塊塊 2033塊塊 15.塊塊 2047塊塊 2046.塊塊 2040255組0組1組8位位 3位位 9 位位主存組號塊號塊內(nèi)地址8位位1位位 3位位 9 位位Cache組號塊號塊內(nèi)地址注意:當只有一個組并且每組注意:當只有一個組并且每組1616塊時,此時為直接映像;塊時,此時為直接映像; 當有當有1616組并且每組一個塊時組并且每組一個塊時, ,則為全相聯(lián)映像。則

32、為全相聯(lián)映像。6.3.3 cache存儲器組織存儲器組織00121314715168171891930153120321016203320341017203520461023204700121314715 設(shè)主存為設(shè)主存為1MB=220 Cache 為為8KB=213 塊長為塊長為0.5KB=29 塊數(shù)塊數(shù)=8KB/0.5KB=16 Cache為二路組相聯(lián)為二路組相聯(lián) 組數(shù)組數(shù)=塊數(shù)塊數(shù)/路數(shù)路數(shù)=16/2=8主存地址格式主存地址格式19 13 12 10 98 0主存高位主存高位 組號組號 塊號塊號塊內(nèi)地址塊內(nèi)地址Cache地址格式地址格式12 10 98 0組號組號 塊號塊號塊內(nèi)地址塊內(nèi)地

33、址注注: 塊號是組內(nèi)塊號的縮稱塊號是組內(nèi)塊號的縮稱 組號是組號是Cache內(nèi)組號的縮稱內(nèi)組號的縮稱組組組組第第0區(qū)區(qū)第第1區(qū)區(qū)第第127區(qū)區(qū)塊塊塊塊 Cache Cache與主存均分組與主存均分組, ,主存中一個組內(nèi)的塊數(shù)與主存中一個組內(nèi)的塊數(shù)與Cache Cache 的分組數(shù)相同的分組數(shù)相同, ,主存中的各塊與主存中的各塊與CacheCache的組號有固定的映象像關(guān)系的組號有固定的映象像關(guān)系, ,但可自由映像到對應(yīng)的但可自由映像到對應(yīng)的CacheCache組中任一塊組中任一塊. .注意:注意:當只有一個組并且每組當只有一個組并且每組1616塊時,此時為全相聯(lián)映像;塊時,此時為全相聯(lián)映像; 當

34、有當有1616組并且每組一個塊時組并且每組一個塊時, ,則為直接映像。則為直接映像。 1位位 1位位 9 位位Cache組號組號塊號塊號塊內(nèi)地址塊內(nèi)地址區(qū)號區(qū)號6位位 1位位 1位位 9 位位 組號組號塊號塊號塊內(nèi)地址塊內(nèi)地址主存主存塊塊 0塊塊 1塊塊CacheCache標記標記標記標記標記標記標記標記標記標記標記標記0 0組組塊塊0塊塊1塊塊 3塊塊 4塊塊 127TagTag標記標記塊塊230 0組組1 1組組塊塊 21 1組組塊塊 5塊塊 6塊塊 7.0 0組組1 1組組塊塊 124塊塊 125塊塊 1261 1組組0 0組組0 0區(qū)區(qū)1 1區(qū)區(qū)6363區(qū)區(qū).6.3.3 cache存儲

35、器組織存儲器組織 目前微機中目前微機中CacheCache一般裝在主板上,在一般裝在主板上,在Intel 486 CPUIntel 486 CPU中集成中集成了了8KB8KB的數(shù)據(jù)和指令共用的的數(shù)據(jù)和指令共用的CacheCache;在;在Pentium CPUPentium CPU中集成了中集成了8KB8KB的的數(shù)據(jù)數(shù)據(jù)CacheCache和和8KB8KB的指令的指令CacheCache,與主板上的,與主板上的CacheCache形成兩級形成兩級CacheCache結(jié)構(gòu)。結(jié)構(gòu)。 當當CPU發(fā)出讀請求時,將主存地址發(fā)出讀請求時,將主存地址m位(或位(或m位中的一部分)位中的一部分)與與cache

36、某塊的標記相比較,根據(jù)其比較結(jié)果是否相等而區(qū)分出某塊的標記相比較,根據(jù)其比較結(jié)果是否相等而區(qū)分出兩種情況:兩種情況: 當比較結(jié)果相等時,說明需要的數(shù)已在當比較結(jié)果相等時,說明需要的數(shù)已在cache中,那么直接中,那么直接訪問訪問cache就行了,在就行了,在CPU與與cache之間,通常一次傳送一個字;之間,通常一次傳送一個字;這種情況稱為這種情況稱為訪問訪問cache命中命中。 當比較結(jié)果不相等時,說明需要的數(shù)據(jù)尚未調(diào)入當比較結(jié)果不相等時,說明需要的數(shù)據(jù)尚未調(diào)入cache,那,那么就要把該數(shù)據(jù)所在的整個字塊從主存一次調(diào)進來。這種情況稱么就要把該數(shù)據(jù)所在的整個字塊從主存一次調(diào)進來。這種情況稱為

37、為訪問訪問cache不命中不命中。 6.3.4 替換算法和更新策略替換算法和更新策略開始開始由由CPUCPU接收接收( (讀讀) )地址地址RARA包含包含RARA的塊在的塊在CacheCache中中? ?讀取讀取RARA字遞交給字遞交給CPUCPU為含為含RARA的塊訪問主存的塊訪問主存為主存塊分配為主存塊分配CacheCache行行將將RARA字交字交給給CPUCPU將主存塊裝將主存塊裝入入CacheCache行行結(jié)束結(jié)束N NY Y6.3.4 替換算法和更新策略替換算法和更新策略 6.3.4 替換算法和更新策略替換算法和更新策略 有效位有效位: 為了說明標記是否有效為了說明標記是否有效.

38、 當機器剛加電時當機器剛加電時, Reset信號將所有標記的有效位置信號將所有標記的有效位置“0”,使標記無效。使標記無效。在程序執(zhí)行的過程中在程序執(zhí)行的過程中,當當Cache不命中時逐步將指令塊不命中時逐步將指令塊或數(shù)據(jù)塊從主存調(diào)入或數(shù)據(jù)塊從主存調(diào)入Cache中的某一塊中的某一塊,并將這一塊標記并將這一塊標記中的有效位置中的有效位置“1”.剛加電后所有標記位都為剛加電后所有標記位都為“0”,因此開始執(zhí)行程序時,因此開始執(zhí)行程序時,命中率較低。命中率較低。6.3.4 替換算法和更新策略替換算法和更新策略6.3.4 替換算法和更新策略替換算法和更新策略 當一個新的主存塊要調(diào)入到當一個新的主存塊要

39、調(diào)入到cache,而允許存放此塊,而允許存放此塊的行位置都被其它主存塊占滿時,就要產(chǎn)生替換,因為的行位置都被其它主存塊占滿時,就要產(chǎn)生替換,因為cache工作原理要求它應(yīng)盡量保存最新的數(shù)據(jù)。工作原理要求它應(yīng)盡量保存最新的數(shù)據(jù)。 替換問題與替換問題與cache的組織方式緊密相關(guān)的組織方式緊密相關(guān)(1)對于采用對于采用直接映射方式直接映射方式的的cache來說:來說: 因一個主存塊只有一個特定的行位置可存放,所以問因一個主存塊只有一個特定的行位置可存放,所以問題解決很簡單,把此特定行位置上的原主存塊妥善處理題解決很簡單,把此特定行位置上的原主存塊妥善處理后,換出后,換出Cache即可。即可。(2)

40、對于對于全相聯(lián)全相聯(lián)的的cache來說,它的全部行都是可被替換來說,它的全部行都是可被替換的特定行;而的特定行;而組相聯(lián)組相聯(lián)的的cache中同組各路的行都是可被中同組各路的行都是可被替換的特定行:替換的特定行: 這樣就要從允許存放新主存塊的若干這樣就要從允許存放新主存塊的若干特定行中選取一行換出。特定行中選取一行換出。6.3.4 替換算法和更新策略替換算法和更新策略(1)先進先出()先進先出(FIFO)算法)算法 FIFO算法總是把一組中最先調(diào)入算法總是把一組中最先調(diào)入cache存儲器的字塊存儲器的字塊替換出去,它不需要隨時記錄個字塊的使用情況,替換出去,它不需要隨時記錄個字塊的使用情況,

41、FIFO算法實現(xiàn)容易,開銷??;可能會把一些需要經(jīng)算法實現(xiàn)容易,開銷??;可能會把一些需要經(jīng)常使用的程序塊替換掉。常使用的程序塊替換掉。(2)近期最少使用()近期最少使用(LRU)算法。)算法。 LRU算法是把一組中近期最少使用的字塊替換出去。算法是把一組中近期最少使用的字塊替換出去。需要紀錄需要紀錄cache中每個字塊的情況,來確定哪個字塊是中每個字塊的情況,來確定哪個字塊是近期最少使用的。近期最少使用的。 LRU算法的命中率要比算法的命中率要比FIFO算法高,但實現(xiàn)比較復(fù)算法高,但實現(xiàn)比較復(fù)雜,系統(tǒng)開銷大。雜,系統(tǒng)開銷大。6.3.4 替換算法和更新策略替換算法和更新策略 LRU算法是把組中各塊

42、的使用情況記錄在一張表上。把最算法是把組中各塊的使用情況記錄在一張表上。把最近使用過的塊放在表的最上面。近使用過的塊放在表的最上面。 設(shè)組內(nèi)設(shè)組內(nèi) 有有8個信息塊,其地址編號為個信息塊,其地址編號為0,1,7。7號信息塊在最下面,所以當要求替換時,首先更新號信息塊在最下面,所以當要求替換時,首先更新7號信息塊號信息塊內(nèi)容;如要訪問內(nèi)容;如要訪問7信息塊,則將信息塊,則將7寫到表的頂部,其他號向下順寫到表的頂部,其他號向下順移。接著訪問移。接著訪問5號信息塊,如果此時命中,不要替換,但也要號信息塊,如果此時命中,不要替換,但也要將將5移到表的頂部,其他號向下順移。移到表的頂部,其他號向下順移。6

43、號數(shù)據(jù)塊是以后要首先號數(shù)據(jù)塊是以后要首先被替換的。被替換的。原始狀態(tài)原始狀態(tài)替換替換7訪問訪問5訪問訪問1替換替換60751610751210753210743220543326544376664(3)隨機替換)隨機替換 隨機替換(隨機替換(Random Replacement)從特定的行位)從特定的行位置中隨機地選取一行換出即可。置中隨機地選取一行換出即可。 這種策略以硬件實現(xiàn)最容易,而且速度也比前兩種策這種策略以硬件實現(xiàn)最容易,而且速度也比前兩種策略快。略快。 缺點缺點:是隨意換出的數(shù)據(jù)很可能馬上又要用,從而增是隨意換出的數(shù)據(jù)很可能馬上又要用,從而增加了映射次數(shù),降低了命中率和加了映射次數(shù)

44、,降低了命中率和cache 的工作效率。但的工作效率。但這個缺點可以用增大這個缺點可以用增大cache的容量來克服,實驗統(tǒng)計表明,的容量來克服,實驗統(tǒng)計表明,隨機替換策略的功效只是稍遜于前兩種策略。隨機替換策略的功效只是稍遜于前兩種策略。6.3 高速緩沖存儲器高速緩沖存儲器6.4 6.4 虛擬存儲器虛擬存儲器 6.4.1 6.4.1 虛擬存儲器概述虛擬存儲器概述 虛擬存儲器是指用磁盤一片存儲空間來彌補主存空虛擬存儲器是指用磁盤一片存儲空間來彌補主存空間的不足,使得程序人員能夠使用比主存實際容量更大間的不足,使得程序人員能夠使用比主存實際容量更大的存儲空間來編寫和運行程序。的存儲空間來編寫和運行

45、程序。 虛擬存儲器指的是虛擬存儲器指的是“主存一輔存主存一輔存”層次層次, 它能使計算機具有:它能使計算機具有:輔存的容量;輔存的容量;接近于主存的速度;接近于主存的速度;輔存的每位成本。輔存的每位成本。使得程序員可以按比主存大得多的空間來編制程序,使得程序員可以按比主存大得多的空間來編制程序,即按虛存空間編址。即按虛存空間編址。在操作系統(tǒng)和相應(yīng)硬件的支持下,數(shù)據(jù)在磁盤和主存在操作系統(tǒng)和相應(yīng)硬件的支持下,數(shù)據(jù)在磁盤和主存之間按程序運行的需要自動成批量地完成交換。之間按程序運行的需要自動成批量地完成交換。 實現(xiàn)原理相似。實現(xiàn)原理相似。 它們采用的地址變換及映像方法和替換策略,從它們采用的地址變換

46、及映像方法和替換策略,從原理上看是相同的。實際上,這些替換算法和地址映原理上看是相同的。實際上,這些替換算法和地址映像方式最早應(yīng)用于虛擬存儲系統(tǒng)中,后來才發(fā)展到像方式最早應(yīng)用于虛擬存儲系統(tǒng)中,后來才發(fā)展到cachecache系統(tǒng)中。系統(tǒng)中。是主存是主存/cache/cache存儲器的存儲器的訪問訪問“時間比時間比”較小,典型較小,典型的為的為10:110:1;每次傳送的基本信息單元(字塊)也比較;每次傳送的基本信息單元(字塊)也比較小,只是幾個至幾十個字節(jié)。小,只是幾個至幾十個字節(jié)。而輔存而輔存/ /主存的主存的訪問訪問“時間比時間比”就要大得多,達就要大得多,達100:1100:1至至100

47、0:11000:1,每次傳送的基本信息單元(段或頁面),每次傳送的基本信息單元(段或頁面)也很大,達幾十至幾千字節(jié)也很大,達幾十至幾千字節(jié)。 6.4 虛擬存儲器虛擬存儲器CacheCache與虛擬存儲器的主要區(qū)別與虛擬存儲器的主要區(qū)別存儲系統(tǒng)存儲系統(tǒng)CacheCache虛擬存儲器虛擬存儲器要達到的目標要達到的目標提高提高( (主存主存) )速度速度擴大擴大( (主存主存) )容量容量實現(xiàn)方法實現(xiàn)方法全部硬件全部硬件軟件為主軟件為主硬件為輔硬件為輔兩級存儲器速度比兩級存儲器速度比3 3倍倍-10-10倍倍10105 5倍倍頁頁( (塊塊) )大小大小1 1字字-16-16字字1KB-16KB1K

48、B-16KB等效存儲容量等效存儲容量主存儲器主存儲器虛擬存儲器虛擬存儲器透明性透明性對系統(tǒng)程序員對系統(tǒng)程序員和應(yīng)用程序員和應(yīng)用程序員僅對應(yīng)用程序員僅對應(yīng)用程序員不命中時的不命中時的處理方法處理方法等待主存儲器等待主存儲器任務(wù)切換任務(wù)切換6.4 虛擬存儲器虛擬存儲器 希望能得到輔存的價格,而得到主存儲器的速度。希望能得到輔存的價格,而得到主存儲器的速度。 將用戶的地址空間設(shè)計的可以比主存實際空間大得多,以致可將用戶的地址空間設(shè)計的可以比主存實際空間大得多,以致可以存得下整個程序。以存得下整個程序。這種指令地址碼稱為這種指令地址碼稱為虛地址(虛存地址、虛擬地址)或邏輯地虛地址(虛存地址、虛擬地址)

49、或邏輯地址址,其對應(yīng)的存儲容量稱為,其對應(yīng)的存儲容量稱為虛存容量或虛存空間虛存容量或虛存空間;而把實際主存的地址稱為而把實際主存的地址稱為物理地址或?qū)崳ù妫┑刂肺锢淼刂坊驅(qū)崳ù妫┑刂?,其對?yīng)的,其對應(yīng)的存儲容量稱為存儲容量稱為主存容量、實存容量或?qū)崳ㄖ鳎┐婵臻g。主存容量、實存容量或?qū)崳ㄖ鳎┐婵臻g。當當CPUCPU用虛地址訪問主存時用虛地址訪問主存時, ,機器自動地把它經(jīng)輔助軟件機器自動地把它經(jīng)輔助軟件, ,硬件變硬件變換成主存實地址換成主存實地址. .察看這個地址所對應(yīng)的單元內(nèi)容是否已經(jīng)裝入主察看這個地址所對應(yīng)的單元內(nèi)容是否已經(jīng)裝入主存存, ,如果在主存就進行訪問如果在主存就進行訪問, ,如果

50、不在主存內(nèi)就經(jīng)輔助軟件硬件把它如果不在主存內(nèi)就經(jīng)輔助軟件硬件把它所在的那塊程序和數(shù)據(jù)由輔存調(diào)入主存所在的那塊程序和數(shù)據(jù)由輔存調(diào)入主存, ,而后進行訪問而后進行訪問. .這些操作這些操作不必由程序員類安排不必由程序員類安排, ,也就是說也就是說, ,對應(yīng)用程序員是透明的對應(yīng)用程序員是透明的. .這就形成了主這就形成了主-輔層次滿足了存儲器大容量和低成本需求。輔層次滿足了存儲器大容量和低成本需求。 虛存通過增設(shè)虛存通過增設(shè)地址映象表地址映象表機構(gòu)來實現(xiàn)程序在主存中的機構(gòu)來實現(xiàn)程序在主存中的定位定位。這種定位技術(shù)是把程序分割成若干個較小的段或頁,用相應(yīng)這種定位技術(shù)是把程序分割成若干個較小的段或頁,用

51、相應(yīng)的映象表機構(gòu),來指明該程序的某段或某頁是否已裝入主存,的映象表機構(gòu),來指明該程序的某段或某頁是否已裝入主存,若已裝入主存,則應(yīng)同時指明其在主存中所處的開始位置;若已裝入主存,則應(yīng)同時指明其在主存中所處的開始位置;若未裝入主存,則應(yīng)到輔存中去調(diào)段或頁,并建立起程序空若未裝入主存,則應(yīng)到輔存中去調(diào)段或頁,并建立起程序空間和實存空間的地址映象關(guān)系。間和實存空間的地址映象關(guān)系。這樣,程序執(zhí)行時通過查映象表,將程序這樣,程序執(zhí)行時通過查映象表,將程序(虛虛)地址變成主存地址變成主存地址再訪問主存。地址再訪問主存。 由于采用的存儲映象算法不同,形成了多種不同的存儲器管由于采用的存儲映象算法不同,形成了

52、多種不同的存儲器管理方式的虛擬存儲器,其中主要有理方式的虛擬存儲器,其中主要有段式段式、頁式頁式、段頁式段頁式三種。三種。6.4 虛擬存儲器虛擬存儲器主存主存輔存層次的信息傳送單位可采用:段、頁或段頁。輔存層次的信息傳送單位可采用:段、頁或段頁。 段:段:是利用程序的模塊化性質(zhì),按照程序的邏輯結(jié)構(gòu)劃分是利用程序的模塊化性質(zhì),按照程序的邏輯結(jié)構(gòu)劃分成的多個相對獨立部分。成的多個相對獨立部分。 段間連接:段間連接:段作為獨立的邏輯單位可以被其他程序段調(diào)用,段作為獨立的邏輯單位可以被其他程序段調(diào)用,這樣就形成段間連接,產(chǎn)生規(guī)模較大的程序。這樣就形成段間連接,產(chǎn)生規(guī)模較大的程序。 段表:段表:來指明各

53、段在主存中的位置。段都有它的名稱、段來指明各段在主存中的位置。段都有它的名稱、段起點、段長等。起點、段長等。 段式管理:段式管理:把主存按段分配的存儲管理方式。把主存按段分配的存儲管理方式。 段式管理系統(tǒng)的特點段式管理系統(tǒng)的特點:是段的分界與序的自然分界相對應(yīng);是段的分界與序的自然分界相對應(yīng);段的邏輯獨立性使它易于編譯、管理、修改和保護;也便于段的邏輯獨立性使它易于編譯、管理、修改和保護;也便于多道程序共享多道程序共享. .是容易在段間留下許多空余的零碎存儲空間不好利用,造成是容易在段間留下許多空余的零碎存儲空間不好利用,造成浪費。浪費。6.4 虛擬存儲器虛擬存儲器主存和輔存的管理按程序段為單

54、位進行管理。主存和輔存的管理按程序段為單位進行管理。6.4 虛擬存儲器虛擬存儲器段表長度段表長度段表起始地址段表起始地址位移量位移量100段號段號2 越界越界920020038000500240006001600010000基址基址段長段長段號段號+8100主存主存段表段表虛地址虛地址物理地址物理地址6.4 虛擬存儲器虛擬存儲器定長的頁定長的頁: :頁式管理系統(tǒng)的信息傳送單位。頁式管理系統(tǒng)的信息傳送單位。頁面:頁面:主存的物理空間被劃分為等長的固定域。它主存的物理空間被劃分為等長的固定域。它比段式管理系統(tǒng)的空間浪費要小得多。比段式管理系統(tǒng)的空間浪費要小得多。頁式管理系統(tǒng)的缺點:頁式管理系統(tǒng)的缺

55、點:由于頁不是邏輯上獨立的實由于頁不是邏輯上獨立的實體,處理、保護共享都不及段式方便。體,處理、保護共享都不及段式方便。存儲管理方式存儲管理方式:采用段和頁結(jié)合的段頁式存儲管理系統(tǒng);采用段和頁結(jié)合的段頁式存儲管理系統(tǒng);程序間按模塊分段,段內(nèi)再分頁;程序間按模塊分段,段內(nèi)再分頁;出入主存仍以頁為信息傳送單位;出入主存仍以頁為信息傳送單位;用段表和頁表(每段一個頁表)進行兩級管理。用段表和頁表(每段一個頁表)進行兩級管理。6.4 虛擬存儲器虛擬存儲器程序邏輯空間程序邏輯空間位位入入裝裝存存主號主號實頁實頁輯號輯號邏頁邏頁頁表頁表邏輯邏輯頁號頁號01234實主存空間實主存空間物理物理頁號頁號0123

56、40211112034140某個程序有某個程序有5 5頁頁( (邏輯頁號邏輯頁號0-4),0-4),各頁分別在主存不連續(xù)的頁面位置;各頁分別在主存不連續(xù)的頁面位置;用頁表記錄邏輯頁號及其所對應(yīng)的實主存頁號用頁表記錄邏輯頁號及其所對應(yīng)的實主存頁號, ,頁表是由操作系統(tǒng)建立的;頁表是由操作系統(tǒng)建立的;圖中頁號圖中頁號0, 1, 30, 1, 3已分配實主存空間已分配實主存空間, ,所以裝入位為所以裝入位為“1”.1”.6.4 虛擬存儲器虛擬存儲器6.4.26.4.2 頁式虛擬存儲器頁式虛擬存儲器在頁式虛擬存儲系統(tǒng)中,把虛擬空間分成頁,在頁式虛擬存儲系統(tǒng)中,把虛擬空間分成頁,虛頁或虛頁或邏輯頁邏輯頁

57、。主存空間也分成同樣大小的頁,稱為主存空間也分成同樣大小的頁,稱為實頁或物理頁實頁或物理頁。頁式虛擬存儲器頁式虛擬存儲器:以頁為基本單位的虛擬存儲器:以頁為基本單位的虛擬存儲器頁的起點都落在低位字段為零的地址上。頁的起點都落在低位字段為零的地址上??砂烟摂M地址分為兩個字段可把虛擬地址分為兩個字段,高位字段為虛頁號,低,高位字段為虛頁號,低位字段為頁內(nèi)字地址。位字段為頁內(nèi)字地址。虛擬地址到主存實地址的變換是由虛擬地址到主存實地址的變換是由頁表頁表來實現(xiàn)的來實現(xiàn)的. .頁表頁表:是一張存放在主存中的虛存頁號和號相對照的:是一張存放在主存中的虛存頁號和號相對照的表。記錄著從程序的虛頁調(diào)入主存時被安排

58、在主存中的表。記錄著從程序的虛頁調(diào)入主存時被安排在主存中的位置。位置。 頁式虛擬存儲器頁式虛擬存儲器的主存和虛擬空間劃的主存和虛擬空間劃分成分成大小相等大小相等的頁,的頁,虛擬空間的頁數(shù)要比虛擬空間的頁數(shù)要比主存空間的頁數(shù)多很主存空間的頁數(shù)多很多。多。(1) 頁頁00000 0000000000 1111100000 0000000001 1111100000 0000000010 1111111111 0000011111 11111高位高位(5位位) 低位低位(11位位)實地址實地址主存空間主存空間實頁號實頁號 頁內(nèi)地址頁內(nèi)地址2K2K2K2K2頁頁31頁頁0頁頁1頁頁6.4 虛擬存儲器虛

59、擬存儲器 CPU訪問主存時送出的是程序的虛地址,計算機訪問主存時送出的是程序的虛地址,計算機必須判斷出該地址的存儲地址是否已在主存中:如果必須判斷出該地址的存儲地址是否已在主存中:如果在的話,找出在主存哪一頁;如果不在的話,需要將在的話,找出在主存哪一頁;如果不在的話,需要將所在頁的內(nèi)容調(diào)入指定的主存頁后才能被所在頁的內(nèi)容調(diào)入指定的主存頁后才能被CPU執(zhí)行。執(zhí)行。 為此,需要建立一張?zhí)摰刂讽撎柵c實地址頁號對照為此,需要建立一張?zhí)摰刂讽撎柵c實地址頁號對照表,用以記錄程序的虛頁面調(diào)入主存時被安排在主存表,用以記錄程序的虛頁面調(diào)入主存時被安排在主存的位置。這張表叫的位置。這張表叫頁表頁表。 頁表是存

60、儲管理軟件根據(jù)主存運行情況自動建立的,頁表是存儲管理軟件根據(jù)主存運行情況自動建立的,內(nèi)存中有固定區(qū)域存放頁表。每個程序都有一張頁表。內(nèi)存中有固定區(qū)域存放頁表。每個程序都有一張頁表。 頁表的長度等于該程序虛頁數(shù)。頁表的長度等于該程序虛頁數(shù)。6.4 虛擬存儲器虛擬存儲器頁表信息字頁表信息字6.4 虛擬存儲器虛擬存儲器主存頁號主存頁號 主存地址空間主存地址空間 虛存頁號虛存頁號 程序地址空間程序地址空間013240127(a) 地址映象關(guān)系地址映象關(guān)系6.4 虛擬存儲器虛擬存儲器頁內(nèi)地址頁內(nèi)地址頁內(nèi)地址頁內(nèi)地址實頁號實頁號虛頁號虛頁號 2 1 6 1(b) 地址變換方法地址變換方法主存頁號主存頁號

溫馨提示

  • 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

提交評論