組成原理1105_第1頁(yè)
組成原理1105_第2頁(yè)
組成原理1105_第3頁(yè)
組成原理1105_第4頁(yè)
組成原理1105_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理1111月月5 5日日存存 儲(chǔ)儲(chǔ) 系系 統(tǒng)統(tǒng)存儲(chǔ)器概述存儲(chǔ)器概述SRAM存儲(chǔ)器存儲(chǔ)器DRAM存儲(chǔ)器存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器并行存儲(chǔ)器并行存儲(chǔ)器cache存儲(chǔ)器(續(xù))存儲(chǔ)器(續(xù))虛擬存儲(chǔ)器虛擬存儲(chǔ)器奔騰系列機(jī)的虛存組織奔騰系列機(jī)的虛存組織復(fù)習(xí)復(fù)習(xí)3主存與主存與Cache的地址映射的地址映射 與主存相比,與主存相比,Cache的容量很小。它保存的只是主存內(nèi)容的一個(gè)子集。的容量很小。它保存的只是主存內(nèi)容的一個(gè)子集。為了把主存中的數(shù)據(jù)放到為了把主存中的數(shù)據(jù)放到Cache中,必須應(yīng)用某種方法把主存地址定位到中,必須應(yīng)用某種方法把主存地址定位到Cach

2、e中,稱(chēng)為中,稱(chēng)為地址映射地址映射。當(dāng)。當(dāng)CPU訪問(wèn)存儲(chǔ)器時(shí),它給出的主存地址會(huì)自動(dòng)訪問(wèn)存儲(chǔ)器時(shí),它給出的主存地址會(huì)自動(dòng)變換為變換為Cache地址。這個(gè)變換的過(guò)程是由硬件實(shí)現(xiàn)的,對(duì)程序員是透明的。地址。這個(gè)變換的過(guò)程是由硬件實(shí)現(xiàn)的,對(duì)程序員是透明的。 Cache的數(shù)據(jù)以的數(shù)據(jù)以“行行”為單位,用為單位,用Li 表示,其中表示,其中i0, 1, , 2r1,共,共2r行;主存的數(shù)據(jù)以行;主存的數(shù)據(jù)以“塊塊”為單元,用為單元,用Bj表示,其中表示,其中j0, 1, , 2s1,共,共2s塊塊。Cache的行和主存的塊是的行和主存的塊是等長(zhǎng)等長(zhǎng)的,每行(塊)由的,每行(塊)由2w個(gè)連續(xù)字節(jié)組成。個(gè)連

3、續(xù)字節(jié)組成。 地址映射方式有全相聯(lián)方式、直接方式和組相聯(lián)方式三種。地址映射方式有全相聯(lián)方式、直接方式和組相聯(lián)方式三種。4全相聯(lián)映射方式:全相聯(lián)映射方式:主存的任意一塊可以存放在主存的任意一塊可以存放在Cache的任意一行中。的任意一行中。Cache的每一行有的每一行有s位的標(biāo)記,用于保存該行所存放的主存塊的位的標(biāo)記,用于保存該行所存放的主存塊的塊號(hào)塊號(hào)。 CPU給出的主存地址,高給出的主存地址,高s位作為主存塊的塊號(hào)與位作為主存塊的塊號(hào)與Cache所有行的標(biāo)記進(jìn)所有行的標(biāo)記進(jìn)行比較,若與某行的標(biāo)記相同(命中),則利用低行比較,若與某行的標(biāo)記相同(命中),則利用低w位從該行讀出相應(yīng)字節(jié)位從該行讀

4、出相應(yīng)字節(jié);若不命中,則從主存中讀出相應(yīng)字節(jié)。;若不命中,則從主存中讀出相應(yīng)字節(jié)。轉(zhuǎn)換公式轉(zhuǎn)換公式:主存地址長(zhǎng)度主存地址長(zhǎng)度(s+w)位位尋址單元數(shù)尋址單元數(shù)2s+w個(gè)字或字節(jié)個(gè)字或字節(jié)塊大小行大小塊大小行大小2w個(gè)字或字節(jié)個(gè)字或字節(jié)主存的塊數(shù)主存的塊數(shù)2s標(biāo)記大小標(biāo)記大小s位位cache的行數(shù)不的行數(shù)不由地址格式確定由地址格式確定全相聯(lián)映射方式特點(diǎn):優(yōu)點(diǎn):沖突概率小,Cache的利用高。缺點(diǎn):比較器難實(shí)現(xiàn),需要一個(gè)訪問(wèn)速度很快代價(jià)高的相聯(lián)存儲(chǔ)器 應(yīng)用場(chǎng)合:適用于小容量的Cache56直接映射方式:直接映射方式:每個(gè)主存塊只能存放在每個(gè)主存塊只能存放在Cache的一個(gè)特定行中。的一個(gè)特定行中。

5、Cache行號(hào)行號(hào)i與主存塊號(hào)與主存塊號(hào)j關(guān)系為:關(guān)系為:ijmod 2r利用主存地址的利用主存地址的中間中間r位確定可以保存該主存塊的位確定可以保存該主存塊的Cache行,再將主存地址的行,再將主存地址的高(高(sr)位與該行的標(biāo)記進(jìn)行比較。)位與該行的標(biāo)記進(jìn)行比較。直接映射方式的轉(zhuǎn)換公式主存地址長(zhǎng)度主存地址長(zhǎng)度(s+w)(s+w)位位尋址單元數(shù)尋址單元數(shù)2 2s+ws+w個(gè)字或字節(jié)個(gè)字或字節(jié)塊大小行大小塊大小行大小2 2w w個(gè)字或字節(jié)個(gè)字或字節(jié)主存的塊數(shù)主存的塊數(shù)2 2s scachecache的行數(shù)的行數(shù)mm2 2r r行內(nèi)行內(nèi)標(biāo)記大小標(biāo)記大小(s-r)(s-r)位位7直接映射方式的特

6、點(diǎn)優(yōu)點(diǎn):比較電路少m倍線路,所以硬件實(shí)現(xiàn)簡(jiǎn)單,Cache地址為主存地址的低幾位,不需變換。缺點(diǎn):沖突概率高(抖動(dòng)) 應(yīng)用場(chǎng)合: 適合大容量Cache 89組相聯(lián)映射方式:組相聯(lián)映射方式:將將Cache劃分為劃分為2d組,每組組,每組2rd行;主存每行;主存每2d塊作為一組,塊作為一組,組中的每一塊可以存放到組中的每一塊可以存放到Cache的的2rd行中。行中。 利用主存地址的中間利用主存地址的中間d位確定可以保存該主存塊的位確定可以保存該主存塊的2rd個(gè)個(gè)Cache行,再將行,再將主存地址的高(主存地址的高(sd)位與這)位與這2rd個(gè)個(gè)Cache行的標(biāo)記進(jìn)行比較。行的標(biāo)記進(jìn)行比較。 若若Ca

7、che的每組有的每組有v行,稱(chēng)為行,稱(chēng)為v路組相聯(lián)路組相聯(lián)。v=?r-d dr10 三種映射方式的比較:三種映射方式的比較: 全相聯(lián)映射方式最為全相聯(lián)映射方式最為靈活靈活,因?yàn)橹鞔娴娜我庖粔K可以保存在,因?yàn)橹鞔娴娜我庖粔K可以保存在Cache的任意的任意一行中,一行中,Cache利用率高。但利用率高。但Cache的標(biāo)記位太長(zhǎng),而且需要將主存地址的高的標(biāo)記位太長(zhǎng),而且需要將主存地址的高s位與所有位與所有Cache行的標(biāo)記進(jìn)行比較,硬件成本高,比較時(shí)間長(zhǎng)。行的標(biāo)記進(jìn)行比較,硬件成本高,比較時(shí)間長(zhǎng)。 直接映射方式的靈活性差,每個(gè)主存塊只能存放在直接映射方式的靈活性差,每個(gè)主存塊只能存放在Cache的特

8、定行中,如的特定行中,如果相距為果相距為2r的整數(shù)倍的兩個(gè)主存塊都需要存放在的整數(shù)倍的兩個(gè)主存塊都需要存放在Cache中,就會(huì)發(fā)生沖突。這中,就會(huì)發(fā)生沖突。這種方式的優(yōu)點(diǎn)是種方式的優(yōu)點(diǎn)是硬件簡(jiǎn)單硬件簡(jiǎn)單,只需要將主存地址的高(,只需要將主存地址的高(sr)位與一個(gè))位與一個(gè)Cache行行的標(biāo)記進(jìn)行比較。的標(biāo)記進(jìn)行比較。 組相聯(lián)映射方式是前兩種方式的組相聯(lián)映射方式是前兩種方式的折中折中。每個(gè)主存塊可以存放在幾個(gè)。每個(gè)主存塊可以存放在幾個(gè)Cache行中,具有一定的靈活性,降低了沖突的可能。主存地址的高(行中,具有一定的靈活性,降低了沖突的可能。主存地址的高(sd)位只)位只需要和幾個(gè)需要和幾個(gè)Ca

9、che行的標(biāo)記進(jìn)行比較,硬件成本相對(duì)較低。行的標(biāo)記進(jìn)行比較,硬件成本相對(duì)較低。概念題主存和Cache的映像方式常用的有_全相聯(lián)全相聯(lián)_、_直接直接_、_組相連組相連_三種,在存儲(chǔ)管理上常用的替換算法是_ Least Frequently Use, LFU _、_ Least Recently Use, LRU _.如果Cache的容量為128塊,在直接映像方式下,主存中第i塊映像到緩存中的第_i mod 128_塊一個(gè)四路組相聯(lián)的Cache共有64行,主存有8192塊,每塊32個(gè)字,則主存地址中的主存字塊標(biāo)記(tag)為_(kāi)9_位,組地址(組號(hào))為_(kāi)4_位,字塊內(nèi)地址為_(kāi)5_位。11命中命中 頁(yè)

10、面頁(yè)面0不命中不命中不命中不命中命中命中 頁(yè)面頁(yè)面1某某8 8位機(jī)主存位機(jī)主存1M1M字節(jié),分成字節(jié),分成512512塊,塊,CacheCache分分8 8行,地址采用全相聯(lián)映像方式,行,地址采用全相聯(lián)映像方式,如圖。如圖。1 1、CacheCache容量多大?容量多大?2 2、CacheCache的頁(yè)內(nèi)地址有多少位?的頁(yè)內(nèi)地址有多少位?3 3、CacheCache的標(biāo)記有多少位?的標(biāo)記有多少位?4 4、設(shè)、設(shè)CacheCache中的標(biāo)記如圖所示,當(dāng)中的標(biāo)記如圖所示,當(dāng)CPUCPU送出的地址為送出的地址為807FFH807FFH、D07FFHD07FFH、F1057HF1057H、00000H

11、00000H時(shí),能否在時(shí),能否在CacheCache中中訪問(wèn)到該單元?請(qǐng)簡(jiǎn)要說(shuō)明地址比較過(guò)訪問(wèn)到該單元?請(qǐng)簡(jiǎn)要說(shuō)明地址比較過(guò)程程 807FFH = 1000 0000 0111 1111 1111 807FFH = 1000 0000 0111 1111 1111 D07FFH = 1101 0000 D07FFH = 1101 0000 0111 1111 11110111 1111 1111 F1057H = 1111 0001 0000 0101 0111 F1057H = 1111 0001 0000 0101 0111 00000H = 0000 0000 0000 0000 000

12、0 00000H = 0000 0000 0000 0000 00001000 0000 0頁(yè)面00000 0000 0頁(yè)面10010 0100 1頁(yè)面21111 0001 1頁(yè)面31101 0000 1頁(yè)面40101 0000 0頁(yè)面50001 0000 1頁(yè)面61001 0000 1頁(yè)面716KB11位位9位位12某某8 8位機(jī)主存位機(jī)主存8M8M字節(jié),分成字節(jié),分成40964096塊,塊,Cache64KBCache64KB,地址采用直接映像方式,地址采用直接映像方式,如圖。如圖。1 1、CacheCache有多少行?有多少行?2 2、CacheCache的頁(yè)內(nèi)地址有多少位?的頁(yè)內(nèi)地址有

13、多少位?3 3、CacheCache的行號(hào)地址有多少位?的行號(hào)地址有多少位?4 4、設(shè)、設(shè)CacheCache中的標(biāo)記如圖所示,當(dāng)中的標(biāo)記如圖所示,當(dāng)CPUCPU送出的地址為送出的地址為6807FFH6807FFH、2D07FFH2D07FFH、7F1057H7F1057H、000800H000800H時(shí),能否在時(shí),能否在CacheCache中訪問(wèn)到該單元?請(qǐng)簡(jiǎn)要說(shuō)明地址比較中訪問(wèn)到該單元?請(qǐng)簡(jiǎn)要說(shuō)明地址比較過(guò)程過(guò)程 。6807FFH = 0110 1000 0000 0111 1111 11116807FFH = 0110 1000 0000 0111 1111 11112D07FFH =

14、0010 1101 0000 0111 1111 11112D07FFH = 0010 1101 0000 0111 1111 11117F1057H = 0111 1111 0001 0000 0101 01117F1057H = 0111 1111 0001 0000 0101 0111000800H = 0000 0000 0000 1000 0000 0000000800H = 0000 0000 0000 1000 0000 0000命中命中 頁(yè)面頁(yè)面0不命中不命中命中命中 頁(yè)面頁(yè)面2不命中不命中32行行11位位5位位131101000頁(yè)面00101101頁(yè)面11111111頁(yè)面20

15、000000頁(yè)面31111001頁(yè)面n-21000110頁(yè)面n-1 803FFH =1000 0000 0011 1111 1111803FFH =1000 0000 0011 1111 1111D0FFFH =1101 0000 1111 1111 1111D0FFFH =1101 0000 1111 1111 1111F1457H =1111 0001 0100 0101 0111F1457H =1111 0001 0100 0101 011100800H =0000 0000 1000 0000 000000800H =0000 0000 1000 0000 0000某某8 8位機(jī)主存位

16、機(jī)主存1M1M字節(jié),字節(jié), CacheCache頁(yè)內(nèi)頁(yè)內(nèi)地址有地址有1010位,位, CacheCache為為2 2路組路組相聯(lián),分成分成4 4組,如圖。組,如圖。1 1、CacheCache有多少行?有多少行?2 2、CacheCache容量多大?容量多大?3 3、主存標(biāo)記、主存標(biāo)記tagtag多少位?多少位?4 4、設(shè)、設(shè)CacheCache中的標(biāo)記如圖所示,當(dāng)中的標(biāo)記如圖所示,當(dāng)CPUCPU送出的地址為送出的地址為803FFH803FFH、D0FFFHD0FFFH、F1457HF1457H、00800H00800H時(shí),時(shí),能否在能否在CacheCache中訪問(wèn)到該單元?請(qǐng)中訪問(wèn)到該單元?

17、請(qǐng)簡(jiǎn)要說(shuō)明地址比較過(guò)程簡(jiǎn)要說(shuō)明地址比較過(guò)程 。命中命中 頁(yè)面頁(yè)面1不命中不命中命中命中 頁(yè)面頁(yè)面3不命中不命中8行行8KB8位位第第0組組0000 0000 頁(yè)面01000 0000 頁(yè)面1第第1組組0010 0100 頁(yè)面21111 0001 頁(yè)面3第第2組組1101 0010 頁(yè)面40101 0000 頁(yè)面5第第3組組0001 0000 頁(yè)面61001 0000 頁(yè)面71415 虛擬存儲(chǔ)器是指主存虛擬存儲(chǔ)器是指主存-輔存層次在輔存層次在操作系統(tǒng)操作系統(tǒng)的調(diào)度下,以透明的方式給用的調(diào)度下,以透明的方式給用戶(hù)提供一個(gè)比實(shí)際主存空間大得多的程序空間。戶(hù)提供一個(gè)比實(shí)際主存空間大得多的程序空間。 編

18、制程序時(shí),既不考慮程序是否能在主存中存放得下,也不考慮程序應(yīng)編制程序時(shí),既不考慮程序是否能在主存中存放得下,也不考慮程序應(yīng)該放在什么位置。在程序運(yùn)行時(shí),分配給每個(gè)程序一定的運(yùn)行空間,由地址該放在什么位置。在程序運(yùn)行時(shí),分配給每個(gè)程序一定的運(yùn)行空間,由地址轉(zhuǎn)換部件將編程時(shí)的地址轉(zhuǎn)換成實(shí)際主存的物理地址。如果轉(zhuǎn)換部件將編程時(shí)的地址轉(zhuǎn)換成實(shí)際主存的物理地址。如果主存不夠主存不夠,則只,則只調(diào)入當(dāng)前正在運(yùn)行或?qū)⒁\(yùn)行的程序塊,其余部分暫時(shí)駐留在輔存中。調(diào)入當(dāng)前正在運(yùn)行或?qū)⒁\(yùn)行的程序塊,其余部分暫時(shí)駐留在輔存中。 程序員編程時(shí)所用的地址稱(chēng)為邏輯地址或虛擬地址(虛地址),主存的程序員編程時(shí)所用的地址稱(chēng)為

19、邏輯地址或虛擬地址(虛地址),主存的實(shí)際地址稱(chēng)為物理地址(實(shí)地址)。程序每次訪問(wèn)主存時(shí),要進(jìn)行虛、實(shí)地實(shí)際地址稱(chēng)為物理地址(實(shí)地址)。程序每次訪問(wèn)主存時(shí),要進(jìn)行虛、實(shí)地址的轉(zhuǎn)換,稱(chēng)為程序的址的轉(zhuǎn)換,稱(chēng)為程序的再定位再定位,通常用軟、硬件結(jié)合的辦法實(shí)現(xiàn)。,通常用軟、硬件結(jié)合的辦法實(shí)現(xiàn)。 對(duì)應(yīng)用程序而言,如果主存的命中率很高,則虛存的對(duì)應(yīng)用程序而言,如果主存的命中率很高,則虛存的訪問(wèn)時(shí)間訪問(wèn)時(shí)間就接近于就接近于主存的訪問(wèn)時(shí)間,而虛存的主存的訪問(wèn)時(shí)間,而虛存的大小大小取決于輔存的大小。取決于輔存的大小。 虛擬存儲(chǔ)器是由操作系統(tǒng)進(jìn)行調(diào)度的,對(duì)應(yīng)用程序員是透明的,對(duì)系統(tǒng)虛擬存儲(chǔ)器是由操作系統(tǒng)進(jìn)行調(diào)度的,

20、對(duì)應(yīng)用程序員是透明的,對(duì)系統(tǒng)程序員是不透明的。程序員是不透明的。虛擬存儲(chǔ)器虛擬存儲(chǔ)器16 主存主存-輔存層次和輔存層次和Cache-主存層次有很多相似之處,它們都包括一個(gè)容量主存層次有很多相似之處,它們都包括一個(gè)容量較小速度較高的存儲(chǔ)器和一個(gè)容量較大速度較低的存儲(chǔ)器,都采用地址變換較小速度較高的存儲(chǔ)器和一個(gè)容量較大速度較低的存儲(chǔ)器,都采用地址變換及映射方法和替換策略,都基于程序局部性原理。它們遵循的及映射方法和替換策略,都基于程序局部性原理。它們遵循的原則原則是:是: 把程序中最近常用的部分駐留在高速存儲(chǔ)器中,一旦這部分變得不常用了把程序中最近常用的部分駐留在高速存儲(chǔ)器中,一旦這部分變得不常用

21、了,就把它們送回低速存儲(chǔ)器;這種換入換出對(duì)應(yīng)用程序是透明的;力圖使存,就把它們送回低速存儲(chǔ)器;這種換入換出對(duì)應(yīng)用程序是透明的;力圖使存儲(chǔ)系統(tǒng)的性能接近高速存儲(chǔ)器,容量和價(jià)格接近低速存儲(chǔ)器。儲(chǔ)系統(tǒng)的性能接近高速存儲(chǔ)器,容量和價(jià)格接近低速存儲(chǔ)器。 Cache-主存層次主要是為了提高存儲(chǔ)系統(tǒng)的主存層次主要是為了提高存儲(chǔ)系統(tǒng)的速度速度,而主存,而主存-輔存層次主要輔存層次主要是為了擴(kuò)大程序可用的地址是為了擴(kuò)大程序可用的地址空間空間。 CPU與與Cache和主存之間均有和主存之間均有直接訪問(wèn)直接訪問(wèn)通路,通路,Cache不命中時(shí)可直接訪問(wèn)不命中時(shí)可直接訪問(wèn)主存;而輔存與主存;而輔存與CPU之間不存在直接

22、的數(shù)據(jù)通路,當(dāng)主存不命中時(shí)只能通過(guò)之間不存在直接的數(shù)據(jù)通路,當(dāng)主存不命中時(shí)只能通過(guò)調(diào)頁(yè)解決,調(diào)頁(yè)解決,CPU最終還是要訪問(wèn)主存。最終還是要訪問(wèn)主存。 Cache的管理完全由的管理完全由硬件硬件完成,而虛存管理由完成,而虛存管理由軟件和硬件軟件和硬件共同完成。共同完成。 主存未命中時(shí)系統(tǒng)的性能主存未命中時(shí)系統(tǒng)的性能損失損失要遠(yuǎn)大于要遠(yuǎn)大于Cache未命中時(shí)的損失。未命中時(shí)的損失。17 虛擬存儲(chǔ)器的管理方式有三種:段式、頁(yè)式和段頁(yè)式。虛擬存儲(chǔ)器的管理方式有三種:段式、頁(yè)式和段頁(yè)式。 程序可以按照邏輯結(jié)構(gòu)劃分為多個(gè)相對(duì)獨(dú)立的程序可以按照邏輯結(jié)構(gòu)劃分為多個(gè)相對(duì)獨(dú)立的段段。將主存按段分配的管。將主存按段

23、分配的管理方式稱(chēng)為段式管理。段的大小取決于程序的邏輯結(jié)構(gòu),可長(zhǎng)可短。用理方式稱(chēng)為段式管理。段的大小取決于程序的邏輯結(jié)構(gòu),可長(zhǎng)可短。用段表段表來(lái)指明各段在主存中的位置,段表本身也是主存中一個(gè)可再定位段。段的邏來(lái)指明各段在主存中的位置,段表本身也是主存中一個(gè)可再定位段。段的邏輯獨(dú)立性使它易于管理、修改和保護(hù)。由于段長(zhǎng)不固定,給主存空間的分配輯獨(dú)立性使它易于管理、修改和保護(hù)。由于段長(zhǎng)不固定,給主存空間的分配帶來(lái)麻煩,容易形成碎片。帶來(lái)麻煩,容易形成碎片。 頁(yè)式管理是把主存空間劃分成長(zhǎng)度固定的頁(yè)式管理是把主存空間劃分成長(zhǎng)度固定的頁(yè)頁(yè)。優(yōu)點(diǎn)是頁(yè)的起點(diǎn)和終點(diǎn)地。優(yōu)點(diǎn)是頁(yè)的起點(diǎn)和終點(diǎn)地址固定,給造址固定,給

24、造頁(yè)表頁(yè)表帶來(lái)方便,對(duì)主存空間的浪費(fèi)小。由于頁(yè)不是邏輯上獨(dú)立帶來(lái)方便,對(duì)主存空間的浪費(fèi)小。由于頁(yè)不是邏輯上獨(dú)立的實(shí)體,處理、保護(hù)和共享都不如段式管理方便。的實(shí)體,處理、保護(hù)和共享都不如段式管理方便。 段頁(yè)式管理是將分段和分頁(yè)結(jié)合起來(lái),段頁(yè)式管理是將分段和分頁(yè)結(jié)合起來(lái),程序按模塊分段,段內(nèi)再分頁(yè)程序按模塊分段,段內(nèi)再分頁(yè)。用段表和頁(yè)表進(jìn)行兩級(jí)定位管理。用段表和頁(yè)表進(jìn)行兩級(jí)定位管理。18 虛擬空間分成虛擬空間分成邏輯頁(yè)邏輯頁(yè),主存空間也分成同樣大小的,主存空間也分成同樣大小的物理頁(yè)物理頁(yè)。虛存地址分為兩個(gè)字段:高字段為虛存地址分為兩個(gè)字段:高字段為邏輯頁(yè)號(hào)邏輯頁(yè)號(hào),低字段為,低字段為頁(yè)內(nèi)行地址頁(yè)內(nèi)

25、行地址。實(shí)存地址也分兩個(gè)字段:高字段為實(shí)存地址也分兩個(gè)字段:高字段為物理頁(yè)號(hào)物理頁(yè)號(hào),低字段為,低字段為頁(yè)內(nèi)行地址頁(yè)內(nèi)行地址。兩者的頁(yè)內(nèi)行地址是相同的。虛實(shí)地址的轉(zhuǎn)換通過(guò)兩者的頁(yè)內(nèi)行地址是相同的。虛實(shí)地址的轉(zhuǎn)換通過(guò)頁(yè)表頁(yè)表實(shí)現(xiàn)。頁(yè)表中每一個(gè)實(shí)現(xiàn)。頁(yè)表中每一個(gè)邏輯頁(yè)號(hào)有一個(gè)表項(xiàng),表項(xiàng)內(nèi)容包含該邏輯頁(yè)的物理頁(yè)號(hào),用它作為實(shí)存地邏輯頁(yè)號(hào)有一個(gè)表項(xiàng),表項(xiàng)內(nèi)容包含該邏輯頁(yè)的物理頁(yè)號(hào),用它作為實(shí)存地址的高字段,與虛存地址的頁(yè)內(nèi)行地址字段相拼接,產(chǎn)生完整的實(shí)主存地址址的高字段,與虛存地址的頁(yè)內(nèi)行地址字段相拼接,產(chǎn)生完整的實(shí)主存地址。 頁(yè)式管理頁(yè)式管理 頁(yè)表的表項(xiàng)中通常還有頁(yè)表的表項(xiàng)中通常還有裝入位、修改位、

26、保護(hù)位等裝入位、修改位、保護(hù)位等控制位控制位。裝入位表明該邏輯。裝入位表明該邏輯頁(yè)是否調(diào)入主存,訪問(wèn)沒(méi)有頁(yè)是否調(diào)入主存,訪問(wèn)沒(méi)有裝入的頁(yè)會(huì)啟動(dòng)輸入輸出系裝入的頁(yè)會(huì)啟動(dòng)輸入輸出系統(tǒng),從輔存裝入該頁(yè)。修改統(tǒng),從輔存裝入該頁(yè)。修改位指出主存中頁(yè)面是否被修位指出主存中頁(yè)面是否被修改。改。19 訪問(wèn)存儲(chǔ)器時(shí),首先要查找頁(yè)表,根據(jù)查表獲得實(shí)存地址再次訪問(wèn)主存訪問(wèn)存儲(chǔ)器時(shí),首先要查找頁(yè)表,根據(jù)查表獲得實(shí)存地址再次訪問(wèn)主存。因此需要兩次訪問(wèn)主存??梢园秧?yè)表中最活躍的部分存放在高速存儲(chǔ)器中。因此需要兩次訪問(wèn)主存??梢园秧?yè)表中最活躍的部分存放在高速存儲(chǔ)器中組成組成轉(zhuǎn)換后援緩沖器轉(zhuǎn)換后援緩沖器(TLB)。為了提高查

27、找速度,可以引入硬件支持,如采用。為了提高查找速度,可以引入硬件支持,如采用相聯(lián)存儲(chǔ)器。相聯(lián)存儲(chǔ)器。 TLB是是慢表慢表中部分內(nèi)容的副本。查表時(shí),用邏輯頁(yè)號(hào)同時(shí)查找中部分內(nèi)容的副本。查表時(shí),用邏輯頁(yè)號(hào)同時(shí)查找TLB和慢和慢表。表。TLB命中則使慢表的查找作廢。命中則使慢表的查找作廢。TLB查不到則等待慢表的查找結(jié)果,并查不到則等待慢表的查找結(jié)果,并將邏輯頁(yè)號(hào)和物理頁(yè)號(hào)送入將邏輯頁(yè)號(hào)和物理頁(yè)號(hào)送入TLB。20例例:某計(jì)算機(jī)的虛擬存儲(chǔ)系統(tǒng)有某計(jì)算機(jī)的虛擬存儲(chǔ)系統(tǒng)有40位虛地址,位虛地址,32位實(shí)地址。頁(yè)的大小為位實(shí)地址。頁(yè)的大小為1MB,有裝入位、修改位、保護(hù)位和使用位四個(gè)控制位。所有虛頁(yè)都在使用

28、中。,有裝入位、修改位、保護(hù)位和使用位四個(gè)控制位。所有虛頁(yè)都在使用中。 每個(gè)頁(yè)表項(xiàng)的長(zhǎng)度為實(shí)頁(yè)號(hào)每個(gè)頁(yè)表項(xiàng)的長(zhǎng)度為實(shí)頁(yè)號(hào)位數(shù)(位數(shù)(12位)控制位(位)控制位(4位)位)16位。位。 虛頁(yè)號(hào)虛頁(yè)號(hào)20位,因此有位,因此有2201M個(gè)虛頁(yè),頁(yè)表大小為個(gè)虛頁(yè),頁(yè)表大小為1M16位。位。21 段是按照程序的邏輯結(jié)構(gòu)劃分段是按照程序的邏輯結(jié)構(gòu)劃分的,各個(gè)段的長(zhǎng)度因程序而異。虛的,各個(gè)段的長(zhǎng)度因程序而異。虛地址由地址由段號(hào)段號(hào)和段內(nèi)地址組成。和段內(nèi)地址組成。段式管理段式管理 為了把虛地址為了把虛地址變換成實(shí)主存地址變換成實(shí)主存地址,需要一個(gè),需要一個(gè)段表段表。由于段的長(zhǎng)度不固由于段的長(zhǎng)度不固定,段表中需

29、要有定,段表中需要有長(zhǎng)度指示。段表也長(zhǎng)度指示。段表也是一個(gè)段。是一個(gè)段。22把程序按邏輯單位分段以后,再把每段分成固定大小的頁(yè)。程序?qū)χ鞔姘殉绦虬催壿媶挝环侄我院螅侔衙慷畏殖晒潭ù笮〉捻?yè)。程序?qū)χ鞔娴恼{(diào)入調(diào)出是按頁(yè)面進(jìn)行的,但它又可以按段實(shí)現(xiàn)共享和保護(hù),兼?zhèn)漤?yè)式和的調(diào)入調(diào)出是按頁(yè)面進(jìn)行的,但它又可以按段實(shí)現(xiàn)共享和保護(hù),兼?zhèn)漤?yè)式和段式的優(yōu)點(diǎn)。段式的優(yōu)點(diǎn)。每道程序是通過(guò)每道程序是通過(guò)一個(gè)段表和一組頁(yè)表一個(gè)段表和一組頁(yè)表來(lái)進(jìn)行定位的。段表中的每個(gè)表項(xiàng)來(lái)進(jìn)行定位的。段表中的每個(gè)表項(xiàng)對(duì)應(yīng)一個(gè)段,每個(gè)對(duì)應(yīng)一個(gè)段,每個(gè)表項(xiàng)表項(xiàng)包括該段的頁(yè)表起始地址及該段的控制保護(hù)信息。由包括該段的頁(yè)表起始地址及該段的控制

30、保護(hù)信息。由頁(yè)表指明該段各頁(yè)在主存中的位置以及是否已裝入、已修改等狀態(tài)信息。頁(yè)表指明該段各頁(yè)在主存中的位置以及是否已裝入、已修改等狀態(tài)信息。缺點(diǎn)是在映象過(guò)程中需要缺點(diǎn)是在映象過(guò)程中需要多次查表多次查表。如果有多個(gè)用戶(hù)在機(jī)器上運(yùn)行,多道程序的每一道需要一個(gè)基號(hào),由它如果有多個(gè)用戶(hù)在機(jī)器上運(yùn)行,多道程序的每一道需要一個(gè)基號(hào),由它指明該道程序的段表起始地址。指明該道程序的段表起始地址。 虛擬地址格式如下:虛擬地址格式如下:段頁(yè)式管理段頁(yè)式管理23例:例:有三道程序(有三道程序(A、B、C),每道程序有一張段表,段表起始地址分別為),每道程序有一張段表,段表起始地址分別為SA、SB、SC,每段有一張頁(yè)

31、表。段表的每行就是相應(yīng)頁(yè)表的起始地址,頁(yè)表,每段有一張頁(yè)表。段表的每行就是相應(yīng)頁(yè)表的起始地址,頁(yè)表的每行就是相應(yīng)的物理頁(yè)號(hào)。的每行就是相應(yīng)的物理頁(yè)號(hào)。24 虛擬存儲(chǔ)器中的替換策略一般采用虛擬存儲(chǔ)器中的替換策略一般采用LRU算法、算法、LFU算法算法 、FIFO算法,或算法,或?qū)煞N算法將兩種算法結(jié)合結(jié)合起來(lái)使用。對(duì)于將被替換出去的頁(yè)面,假如該頁(yè)調(diào)入主存后起來(lái)使用。對(duì)于將被替換出去的頁(yè)面,假如該頁(yè)調(diào)入主存后沒(méi)有被修改,就不必進(jìn)行處理,否則就把該頁(yè)重新寫(xiě)入外存。為此,在頁(yè)表沒(méi)有被修改,就不必進(jìn)行處理,否則就把該頁(yè)重新寫(xiě)入外存。為此,在頁(yè)表的每一行應(yīng)設(shè)置一修改位。的每一行應(yīng)設(shè)置一修改位。例:例:主存

32、只有主存只有a、b、c三個(gè)頁(yè),組成三個(gè)頁(yè),組成a進(jìn)進(jìn)c出的出的FIFO隊(duì)列,進(jìn)程訪問(wèn)頁(yè)面的序列隊(duì)列,進(jìn)程訪問(wèn)頁(yè)面的序列是是0,1,2,4,2,3,0,2,1,3,2號(hào)。若采用號(hào)。若采用FIFO算法,算法,F(xiàn)IFO算法算法+LRU算法,求兩種替換策略情況下的命中率。算法,求兩種替換策略情況下的命中率。頁(yè)面訪問(wèn)序列頁(yè)面訪問(wèn)序列01242302132命中率命中率FIFOa012443021332/11=18.2%b 012430211c 01124302FIFO+LRUa012430133/11=27.3%b 0124230213c 011423021替換算法替換算法奔騰系列機(jī)的虛存組織存儲(chǔ)器模式(

33、物理地址)平坦存儲(chǔ)器模型分段存儲(chǔ)器模型實(shí)地址模式存儲(chǔ)器模型2526虛地址模式虛地址模式 奔騰奔騰CPU的存儲(chǔ)管理部件的存儲(chǔ)管理部件MMU包括分段部件包括分段部件SU和分頁(yè)部件和分頁(yè)部件PU兩部份,兩部份,可單獨(dú)或同時(shí)工作。可單獨(dú)或同時(shí)工作。PU將虛地址轉(zhuǎn)換成線性地址,將虛地址轉(zhuǎn)換成線性地址,SU將線性地址轉(zhuǎn)換成物理將線性地址轉(zhuǎn)換成物理地址。地址。不分段不分頁(yè)模式:不分段不分頁(yè)模式:程序中使用的邏輯地址和物理地址相同。程序中使用的邏輯地址和物理地址相同。分段不分頁(yè)模式:分段不分頁(yè)模式: 虛擬地址由一個(gè)虛擬地址由一個(gè)16位的段選擇符和一個(gè)位的段選擇符和一個(gè)32位的偏移量組成位的偏移量組成。段選擇符

34、的最低兩位是特權(quán)級(jí),高。段選擇符的最低兩位是特權(quán)級(jí),高14位指定具體的段。一個(gè)進(jìn)程可擁有的位指定具體的段。一個(gè)進(jìn)程可擁有的最大虛擬地址空間為最大虛擬地址空間為2143224664 TB。不分段分頁(yè)模式:不分段分頁(yè)模式:這種模式下這種模式下SU不工作,只是分頁(yè)部件不工作,只是分頁(yè)部件PU工作。由工作。由PU完成完成32位虛擬地址到物理地址的轉(zhuǎn)換。進(jìn)程的最大虛擬地址空間是位虛擬地址到物理地址的轉(zhuǎn)換。進(jìn)程的最大虛擬地址空間是4 GB。分段分頁(yè)模式:分段分頁(yè)模式:在分段基礎(chǔ)上增加分頁(yè)存儲(chǔ)管理。分頁(yè)管理包括兩級(jí)頁(yè)表,在分段基礎(chǔ)上增加分頁(yè)存儲(chǔ)管理。分頁(yè)管理包括兩級(jí)頁(yè)表,分別稱(chēng)為頁(yè)目錄表和頁(yè)表。分別稱(chēng)為頁(yè)目

35、錄表和頁(yè)表。SU部件轉(zhuǎn)換后的部件轉(zhuǎn)換后的32位地址稱(chēng)為線性地址,包括位地址稱(chēng)為線性地址,包括10位頁(yè)目錄索引、位頁(yè)目錄索引、10位頁(yè)表索引和位頁(yè)表索引和12位頁(yè)內(nèi)偏移量。再由位頁(yè)內(nèi)偏移量。再由PU部件完成兩級(jí)頁(yè)表部件完成兩級(jí)頁(yè)表的查找,得到的查找,得到20位的實(shí)頁(yè)號(hào),和位的實(shí)頁(yè)號(hào),和12位頁(yè)內(nèi)偏移量拼接,得到位頁(yè)內(nèi)偏移量拼接,得到32位物理地址。位物理地址。進(jìn)程的最大虛擬地址空間也是進(jìn)程的最大虛擬地址空間也是64 TB。27分頁(yè)地址轉(zhuǎn)換分頁(yè)地址轉(zhuǎn)換 奔騰奔騰CPU有兩種分頁(yè)方式:一種是有兩種分頁(yè)方式:一種是4 KB的頁(yè),使用二級(jí)頁(yè)表(頁(yè)目錄表的頁(yè),使用二級(jí)頁(yè)表(頁(yè)目錄表、頁(yè)表)進(jìn)行地址轉(zhuǎn)換;另一種是、頁(yè)表)進(jìn)行地址轉(zhuǎn)換;另一種是4 MB的頁(yè),用單級(jí)頁(yè)表進(jìn)行轉(zhuǎn)換。后一種的頁(yè),用單級(jí)頁(yè)表進(jìn)行轉(zhuǎn)換。后一種方式下,方式下,32位線性地址分為高位線性地址分為高10位位的頁(yè)號(hào)和低的頁(yè)號(hào)和低22位的頁(yè)內(nèi)偏移量。全系統(tǒng)只位的頁(yè)內(nèi)偏移量。全系統(tǒng)只有一張頁(yè)表,控制寄存器有一張頁(yè)表,控制寄存器CR3指向頁(yè)表的起始地址。頁(yè)表有指向頁(yè)表的起始地址。頁(yè)表有1 K個(gè)個(gè)表項(xiàng),每項(xiàng)表項(xiàng),每項(xiàng)32位。位???結(jié)一、存儲(chǔ)器

溫馨提示

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

評(píng)論

0/150

提交評(píng)論