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

下載本文檔

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

文檔簡介

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

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

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

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

5、Cache行號行號i與主存塊號與主存塊號j關(guān)系為:關(guān)系為:ijmod 2r利用主存地址的利用主存地址的中間中間r位確定可以保存該主存塊的位確定可以保存該主存塊的Cache行,再將主存地址的行,再將主存地址的高(高(sr)位與該行的標(biāo)記進行比較。)位與該行的標(biāo)記進行比較。直接映射方式的轉(zhuǎn)換公式主存地址長度主存地址長度(s+w)(s+w)位位尋址單元數(shù)尋址單元數(shù)2 2s+ws+w個字或字節(jié)個字或字節(jié)塊大小行大小塊大小行大小2 2w w個字或字節(jié)個字或字節(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、點優(yōu)點:比較電路少m倍線路,所以硬件實現(xiàn)簡單,Cache地址為主存地址的低幾位,不需變換。缺點:沖突概率高(抖動) 應(yīng)用場合: 適合大容量Cache 89組相聯(lián)映射方式:組相聯(lián)映射方式:將將Cache劃分為劃分為2d組,每組組,每組2rd行;主存每行;主存每2d塊作為一組,塊作為一組,組中的每一塊可以存放到組中的每一塊可以存放到Cache的的2rd行中。行中。 利用主存地址的中間利用主存地址的中間d位確定可以保存該主存塊的位確定可以保存該主存塊的2rd個個Cache行,再將行,再將主存地址的高(主存地址的高(sd)位與這)位與這2rd個個Cache行的標(biāo)記進行比較。行的標(biāo)記進行比較。 若若Ca

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

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

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

10、面頁面0不命中不命中不命中不命中命中命中 頁面頁面1某某8 8位機主存位機主存1M1M字節(jié),分成字節(jié),分成512512塊,塊,CacheCache分分8 8行,地址采用全相聯(lián)映像方式,行,地址采用全相聯(lián)映像方式,如圖。如圖。1 1、CacheCache容量多大?容量多大?2 2、CacheCache的頁內(nèi)地址有多少位?的頁內(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時,能否在時,能否在CacheCache中中訪問到該單元?請簡要說明地址比較過訪問到該單元?請簡要說明地址比較過程程 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頁面00000 0000 0頁面10010 0100 1頁面21111 0001 1頁面31101 0000 1頁面40101 0000 0頁面50001 0000 1頁面61001 0000 1頁面716KB11位位9位位12某某8 8位機主存位機主存8M8M字節(jié),分成字節(jié),分成40964096塊,塊,Cache64KBCache64KB,地址采用直接映像方式,地址采用直接映像方式,如圖。如圖。1 1、CacheCache有多少行?有多少行?2 2、CacheCache的頁內(nèi)地址有多少位?的頁內(nèi)地址有

13、多少位?3 3、CacheCache的行號地址有多少位?的行號地址有多少位?4 4、設(shè)、設(shè)CacheCache中的標(biāo)記如圖所示,當(dāng)中的標(biāo)記如圖所示,當(dāng)CPUCPU送出的地址為送出的地址為6807FFH6807FFH、2D07FFH2D07FFH、7F1057H7F1057H、000800H000800H時,能否在時,能否在CacheCache中訪問到該單元?請簡要說明地址比較中訪問到該單元?請簡要說明地址比較過程過程 。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命中命中 頁面頁面0不命中不命中命中命中 頁面頁面2不命中不命中32行行11位位5位位131101000頁面00101101頁面11111111頁面20

15、000000頁面31111001頁面n-21000110頁面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位機主存位

16、機主存1M1M字節(jié),字節(jié), CacheCache頁內(nèi)頁內(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時,時,能否在能否在CacheCache中訪問到該單元?請中訪問到該單元?

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

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

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

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

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

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

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

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

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

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

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

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

29、要有定,段表中需要有長度指示。段表也長度指示。段表也是一個段。是一個段。22把程序按邏輯單位分段以后,再把每段分成固定大小的頁。程序?qū)χ鞔姘殉绦虬催壿媶挝环侄我院?,再把每段分成固定大小的頁。程序?qū)χ鞔娴恼{(diào)入調(diào)出是按頁面進行的,但它又可以按段實現(xiàn)共享和保護,兼?zhèn)漤撌胶偷恼{(diào)入調(diào)出是按頁面進行的,但它又可以按段實現(xiàn)共享和保護,兼?zhèn)漤撌胶投问降膬?yōu)點。段式的優(yōu)點。每道程序是通過每道程序是通過一個段表和一組頁表一個段表和一組頁表來進行定位的。段表中的每個表項來進行定位的。段表中的每個表項對應(yīng)一個段,每個對應(yīng)一個段,每個表項表項包括該段的頁表起始地址及該段的控制保護信息。由包括該段的頁表起始地址及該段的控制

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論