計(jì)算機(jī)組成原理講義-第7章存儲(chǔ)系統(tǒng)_第1頁(yè)
計(jì)算機(jī)組成原理講義-第7章存儲(chǔ)系統(tǒng)_第2頁(yè)
計(jì)算機(jī)組成原理講義-第7章存儲(chǔ)系統(tǒng)_第3頁(yè)
計(jì)算機(jī)組成原理講義-第7章存儲(chǔ)系統(tǒng)_第4頁(yè)
計(jì)算機(jī)組成原理講義-第7章存儲(chǔ)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1第七章存儲(chǔ)系統(tǒng)2

層次(多級(jí))存儲(chǔ)器系統(tǒng)一.層次存儲(chǔ)器系統(tǒng)概述

1.概念與追求的目標(biāo)

2.程序運(yùn)行的局部性特性

3.各層存儲(chǔ)器所用介質(zhì)及其特性

4.一致性、包含性二.高速緩沖存儲(chǔ)器(CACHE)的組成與運(yùn)行原理三.虛擬存儲(chǔ)器(VIRTUALMEMORY)的運(yùn)行原理四.磁表面存儲(chǔ)設(shè)備的存儲(chǔ)原理與組成(DISKTAPE)

光盤設(shè)備的存儲(chǔ)原理與組成五.磁盤陣列與容錯(cuò)技術(shù)3一.層次存儲(chǔ)器系統(tǒng)概述1.

用途及對(duì)其要求用途:存儲(chǔ)器系統(tǒng)是計(jì)算機(jī)中用于存儲(chǔ)程序和數(shù)據(jù)的部件,很重要。對(duì)其要求是:盡可能快的讀寫速度;

盡可能大的存儲(chǔ)容量;

盡可能低的成本費(fèi)用;

怎樣才能同時(shí)實(shí)現(xiàn)這些要求呢?

用多級(jí)存儲(chǔ)器;把要用的程序和數(shù)據(jù),按其使用的急迫程度分段調(diào)入存儲(chǔ)容量不同、運(yùn)行速度不同的存儲(chǔ)器中,并由硬軟件系統(tǒng)統(tǒng)一調(diào)度管理。4程序運(yùn)行的局部性原理2.程序運(yùn)行時(shí)的局部性原理表現(xiàn)在:在一小段時(shí)間內(nèi),最近被訪問(wèn)過(guò)的程序和數(shù)據(jù)很可能再次被訪問(wèn)在空間上這些被訪問(wèn)的程序和數(shù)據(jù)

往往集中在一小片存儲(chǔ)區(qū)在訪問(wèn)順序上,指令順序執(zhí)行比轉(zhuǎn)移執(zhí)行的可能性大(大約5:1)

合理地把程序和數(shù)據(jù)分配在不同存儲(chǔ)介質(zhì)中5解決方案

選用生產(chǎn)與運(yùn)行成本不同的、存儲(chǔ)容量不同的,讀寫速度不同的多種存儲(chǔ)介質(zhì),組成一個(gè)統(tǒng)一的存儲(chǔ)器系統(tǒng),使每種介質(zhì)都處于不同的地位,發(fā)揮不同的作用,充分發(fā)揮各自在速度、容量、成本方面的優(yōu)勢(shì),從而達(dá)到最優(yōu)性能價(jià)格比,以滿足使用要求。例如,用容量更小但速度最快的SRAM芯片組成CACHE,容量較大速度適中的DRAM芯片組成MAINMEMORY,用容量特大但速度極慢的磁盤設(shè)備構(gòu)成VIRTUALMEMORY。6層次之間應(yīng)滿足的原則(1).一致性原則:處在不同層次存儲(chǔ)器中的同一個(gè)信息應(yīng)保持相同的值。(2).包含性原則:處在內(nèi)層的信息一定被包含在其外層的存儲(chǔ)器中,反之則不成立,

即內(nèi)層存儲(chǔ)器中的全部信息,是其相鄰?fù)鈱哟鎯?chǔ)器中一部分信息的復(fù)制品。7二、層次化存儲(chǔ)系統(tǒng)訪存局部性時(shí)間局部性空間局部性層次化結(jié)構(gòu)cache主存輔存8三.高速緩存Cache用途:設(shè)置在CPU和主存儲(chǔ)器之間,完成高速同CPU交換信息,盡量避免CPU不必要地多次直接訪問(wèn)速度較慢的主存儲(chǔ)器,從而提高計(jì)算機(jī)系統(tǒng)的運(yùn)行效率。實(shí)現(xiàn):高速緩存Cache是一個(gè)存儲(chǔ)容量很小,但讀寫速度更快的,以關(guān)聯(lián)存儲(chǔ)器方式運(yùn)行、用靜態(tài)存儲(chǔ)器芯片實(shí)現(xiàn)的靜態(tài)存儲(chǔ)器系統(tǒng)。要求:有足夠高的命中率,既當(dāng)CPU需用主存中的數(shù)據(jù)時(shí),多數(shù)情況可以直接從Cache中得到,稱二者之比為命中率。97.1存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)CPUCACHE主存(內(nèi)存)輔存(外存)

根據(jù)各種存儲(chǔ)器的存儲(chǔ)容量、存取速度和價(jià)格比的不同,將它們按照一定的體系結(jié)構(gòu)組織起來(lái),使所放的程序和數(shù)據(jù)按照一定的層次分布在各種存儲(chǔ)器中。101、主存和高速緩存之間的關(guān)系Cache引入:為解決CPU和主存之間的速度差距,提高整機(jī)的運(yùn)算速度,在CPU和主存之間插入的由高速電子器件組成的容量不大,但速度很快的存儲(chǔ)器。Cache特點(diǎn):存取速度快,容量小,存儲(chǔ)控制和管理由硬件實(shí)現(xiàn)。Cache工作原理——程序訪問(wèn)的局部性在較短時(shí)間內(nèi)由程序產(chǎn)生的地址往往集中在存儲(chǔ)器邏輯地址空間的很小范圍內(nèi)。數(shù)據(jù)分布不如指令明顯,但對(duì)數(shù)組的訪問(wèn)及工作單元的選擇可使存儲(chǔ)地址相對(duì)集中。CPU與Cache之間的數(shù)據(jù)交換是以字為單位,而Cache與主存之間的數(shù)據(jù)交換是以塊為單位,一個(gè)塊是由若干字組成,是定長(zhǎng)的。112、主存與輔存之間的關(guān)系主存:(半導(dǎo)體存儲(chǔ)器組成)優(yōu):速度快;缺:容量受限,單位成本高,斷電丟失信息。輔存:(光盤,磁盤)優(yōu):容量大,信息長(zhǎng)久保存,單位成本低;缺:存取速度慢。CPU正在運(yùn)行的程序和數(shù)據(jù)存放在主存,暫時(shí)不用的程序和數(shù)據(jù)存放在輔存。輔存只與主存進(jìn)行數(shù)據(jù)交換。127.2高速緩沖存儲(chǔ)器

組成:小容量的SRAM和高速緩存控制器組成。功能:將CPU當(dāng)前快要用到的部分?jǐn)?shù)據(jù)塊由主存復(fù)制到容量小、速度快的SRAM中,由SRAM向CPU直接提供它所需要的數(shù)據(jù)。

Cache存儲(chǔ)器介于CPU和主存之間,它的工作速度數(shù)倍于主存,全部功能由硬件實(shí)現(xiàn)。由于轉(zhuǎn)換速度快,軟件人員絲毫未感到Cache的存在,因此這種特性稱為Cache的透明性。Cache內(nèi)部是用同主存內(nèi)部同樣大小的塊組成,由于Cache存儲(chǔ)容量小,所以塊的數(shù)目少。在Cache中,每一塊外加有一個(gè)標(biāo)記,指明它是主存的哪一塊的副本,所以該標(biāo)記的內(nèi)容相當(dāng)于主存中塊的編號(hào)。塊內(nèi)字節(jié)數(shù)與主存相同(如書本圖7.2)。137.2.1Cache的組成和工作原理標(biāo)志塊號(hào)塊內(nèi)地址主存地址主存塊號(hào)塊內(nèi)地址Cache標(biāo)記Cache地址 比較器替換算法Cache數(shù)據(jù)來(lái)/去CPU來(lái)自CPU不命中命中Cache滿訪數(shù)據(jù)修改標(biāo)記訪標(biāo)記14

CPUCACHECONTROLCache的基本運(yùn)行原理數(shù)據(jù)總線譯碼選一單元比較選一行讀過(guò)程為例地址總線ADDRDATAMEMORYCACHE15

7.2.2Cache的組織和管理1.地址映像為了把信息放到Cache存儲(chǔ)器中,必須應(yīng)用某種方法把主存地址定位到Cache中,稱作地址映像。在信息按照這種映像關(guān)系(采用硬件方法實(shí)現(xiàn))裝人Cache后,執(zhí)行程序時(shí)應(yīng)將主存地址變換成Cache地址,這個(gè)變換過(guò)程叫做地址變換。地址的映像和變換是密切相關(guān)的。下面介紹幾種基本地址映像方式,它們是直接映像、全相聯(lián)映像和組相聯(lián)映像等。16

(1)直接映像在直接映像方式中,主存和Cache中字塊的對(duì)應(yīng)關(guān)系,如圖7.3所示。直接映像函數(shù)可定義為:

j=imod2c

其中j是Cache的字塊號(hào),i是主存的字塊號(hào),主存中有2m個(gè)塊,字塊大小為2b字,Cache中有同樣大小的2c個(gè)塊。在這種映像方式中主存的第0塊,第2c塊,第2c+1塊,…,只能映像到cache的第0塊,而主存的第1塊,第2c+1塊第2c+1十1塊,…,只能映像到Cache,的第1塊,….。直接映像的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,只需利用主存地址按某些字段直接判斷,即可確定所需字塊是否已在Cache存儲(chǔ)器中、如圖7.3。直接映像方式的缺點(diǎn)是不夠靈活,即主存的2t個(gè)字塊只能對(duì)應(yīng)唯一的Cache存儲(chǔ)器字塊,因此,即使Cache存儲(chǔ)器別的許多地址空著也不能占用。這使得cache存儲(chǔ)空間得不到充分利用,并降低了命中率。17

圖7.3直接映像Cache組織18(1).直接映象(續(xù))19

例如某機(jī)主存為1MB,劃分2048頁(yè),每頁(yè)512B,共分0~127組,每組16頁(yè);Cache為8KB,劃分16頁(yè),每頁(yè)512B7位Cache主存主存地址

0組7位4位9位

1組主存頁(yè)號(hào)

Cache地址

127組在訪存時(shí),只需比較兩者標(biāo)記,如相同則命中15頁(yè)標(biāo)記

...

.

..1頁(yè)標(biāo)記0頁(yè)標(biāo)記2047頁(yè)…2033頁(yè)2032頁(yè)…31頁(yè)…17頁(yè)16頁(yè)15頁(yè)…1頁(yè)0頁(yè)頁(yè)內(nèi)地址Cache頁(yè)號(hào)主存標(biāo)記20

(2)全相聯(lián)映像

全相聯(lián)映像方式是最靈活但成本最高的一種方式,如圖7.4所示。它允許主存中的每一個(gè)字塊映像到cache存儲(chǔ)器的任何一個(gè)字塊位置上,也允許從確實(shí)已被占滿的Cache存儲(chǔ)器中替換出任何一個(gè)舊字塊。這是一個(gè)理想的方案,實(shí)際上由于它的成本太高而不能采用。不只是它的標(biāo)記位數(shù)從t位增加到t+c位(與直接映像相比),使Cache標(biāo)記容量加大,主要問(wèn)題是在訪問(wèn)Cache時(shí),需要和Cache的全部標(biāo)記進(jìn)行‘比較才能判斷出所訪主存地址的內(nèi)容是否已在Cache中。由于Cache速度要求高,所以全部‘比較’操作都要用硬件實(shí)現(xiàn),通常由“按內(nèi)容尋址的”相聯(lián)存儲(chǔ)器完成。所需邏輯電路甚多,以致無(wú)法用于Cache中。21

圖7.4全相聯(lián)映像Cache組織22(2).全相聯(lián)映像23(2).全相聯(lián)映像(續(xù))N=區(qū)內(nèi)塊數(shù),陰影區(qū)表示查找范圍24(2).全相聯(lián)映像(續(xù))25

例如某機(jī)主存為1MB,劃分2048頁(yè),每頁(yè)512B,;Cache為8KB,劃分16頁(yè),每頁(yè)512B。

11位Cache主存主存地址

11位9位主存頁(yè)號(hào)由于每個(gè)Cache頁(yè)可以映射2048個(gè)主存頁(yè)中的任一頁(yè),因此每頁(yè)的Cache標(biāo)記也需要11位,用來(lái)表明它現(xiàn)在所映象的主存頁(yè)號(hào)。

15頁(yè)標(biāo)記.

..

.

..1頁(yè)標(biāo)記0頁(yè)標(biāo)記2047頁(yè)…15頁(yè)…1頁(yè)0頁(yè)

頁(yè)內(nèi)地址主存頁(yè)標(biāo)號(hào)26

(3)組相聯(lián)映像組相聯(lián)映像方式是直接映像和全相聯(lián)映像方式的一種折衷方案。組相聯(lián)映像Cache組織如圖7.5所示。組相聯(lián)映像方式的性能與復(fù)雜性介于直接映像與全相聯(lián)映像兩種方式之間、當(dāng)r=0時(shí),它就成為直接映像方式,當(dāng)r=c時(shí),就是全相聯(lián)映像方式。

Cache的命中率除了與地址映像的方式有關(guān)外,還與cache的容量有關(guān)。cache容量大,則命中率就高,但達(dá)到一定容量后,命中率的提高就不明顯了。27

圖7.5組相聯(lián)映像Cache組織28(3).組相聯(lián)映像(續(xù))N=區(qū)內(nèi)塊數(shù),陰影區(qū)表示查找范圍,根據(jù)組號(hào)在塊表中尋找組,組內(nèi)相聯(lián)查找。29(3).組相聯(lián)映像(續(xù))例:設(shè)有8個(gè)塊,分成2個(gè)組30

例如某機(jī)主存為1MB,劃分2048頁(yè),每頁(yè)512B,共分0~255組,每組8頁(yè);Cache為8KB,劃分16頁(yè),每頁(yè)512B,共為8組,每組2頁(yè)。

8位Cache主存主存頁(yè)標(biāo)記(2048)0組7位t1位r3位c’9位b

1組8頁(yè) 0組

Cache地址

16頁(yè)1組

7組

255組訪存時(shí)根據(jù)主存地址的中間4位,找到Cache頁(yè),并將其標(biāo)記與主存頁(yè)標(biāo)記進(jìn)行比較,判斷是否是主存中的副本,即訪問(wèn)是否命中。

0頁(yè)1頁(yè)標(biāo)記標(biāo)記……0頁(yè)1頁(yè)標(biāo)記標(biāo)記0頁(yè)1頁(yè)標(biāo)記標(biāo)記2047頁(yè)……15頁(yè)……9頁(yè)8頁(yè)7頁(yè)……1頁(yè)0頁(yè)頁(yè)內(nèi)地址Cache組號(hào)組內(nèi)頁(yè)號(hào)主存組號(hào)頁(yè)內(nèi)地址位b=9組地址標(biāo)志位c`=c-r=4-1=3主存字塊標(biāo)記位t+r=7+1=8主存頁(yè)標(biāo)記位t+r+c`=11假設(shè)讀主存內(nèi)地址數(shù)據(jù):

0000000,1,001,011010011……16頁(yè)312.Cache的讀寫操作

寫貫穿(全寫法):同時(shí)寫入Cache和主存。保證主存和Cache內(nèi)容相同,方法簡(jiǎn)單、可靠。對(duì)Cache的更新同時(shí)又要寫主存,速度會(huì)受影響。

寫回法:先將更新內(nèi)容寫入Cache,并做標(biāo)記,在特定時(shí)間將Cache內(nèi)容寫入主存。省去不必要的立即回寫操作。回寫式系統(tǒng)機(jī)構(gòu)比較復(fù)雜。寫一次法:寫命中與未命中的處理方法與寫回法基本相同,只是第一次寫命中是要同時(shí)寫入主存。

Pentium機(jī)的L2級(jí)Cache采用的是寫回法,L1級(jí)數(shù)據(jù)Cache采用的是寫一次法。32

3.替換算法當(dāng)新的主存字塊需要調(diào)人cache存儲(chǔ)器而它的可用位置又已滿時(shí),就產(chǎn)生替換算法問(wèn)題。先介紹兩種替換算法:先進(jìn)先出(FIFO)算法和近期最少使用(LRU)算法。

FIFO算法:總是把一組中最先調(diào)入Cache存儲(chǔ)器的字塊替換出,它不需要隨時(shí)記錄各個(gè)字塊的使用情況,所以實(shí)現(xiàn)容易開(kāi)銷較小。

LRU算法:是把一組中近期最少使用的字塊替換出去。這種替換算法需隨時(shí)記錄Cache存儲(chǔ)器中各個(gè)字塊的使用情況,以便確定那個(gè)字塊是近期最少使用的字塊。LRU替換算法的平均命中率比FIFO要高,并且當(dāng)分組容量加大時(shí),能提高LRU替換算法的命中率。

LRU是最常使用的一種算法、其設(shè)計(jì)思想是把組中各塊的使用情況記錄在一張表上(如圖7.6所示的登記表)。并把最近使用過(guò)的塊放在表的最上面。這種算法用硬件實(shí)現(xiàn)比較麻煩,目前經(jīng)常采用修改型LRU算法。

隨機(jī)替換法(RAND):這種算法不考慮使用情況,在組內(nèi)隨機(jī)選擇一塊來(lái)替換。其性能比根據(jù)使用情況的替換算法差些。337.2.3Cache的命中率設(shè)NC表示Cache完成存取的總次數(shù),Nm表示主存完成存取的總次數(shù),h定義為命中率,則有h=NC/(NC+Nm)

若tc表示命中時(shí)的Cache訪問(wèn)時(shí)間,tm表示未命中時(shí)的主存訪問(wèn)時(shí)間,1-h表示未命中率,則Cache/主存系統(tǒng)的平均訪問(wèn)時(shí)間ta為:

ta=htc+(1-h)tm設(shè)r=tm/tc表示主存慢于Cache的倍率,e表示訪問(wèn)效率則有e=tc/ta=tc/[htc+(1-h)tm]=1/[h+(1-h)r=1/[r+(1-h)]

為提高訪問(wèn)效率,h接近1好。34影響Cache命中率的因素

從Cache本身諸因素看,可能:1.Cache的容量:大一些好!2.Cache與主存儲(chǔ)器每次交換信息的單位量(CacheLineSize)要適中!3.Cache不同的組織方式,多路組相聯(lián)更好!4.Cache的多級(jí)組織可提高命中率!5.Cache裝滿后的換字算法!35Cache的命中率與Cache容量的關(guān)系

1.Cache的容量:大一些好!36塊容量與命中率BC1H容量小容量大2.Cache與主存儲(chǔ)器每次交換信息的單位量(CacheLineSize)要適中!37地址映象與命中率直接相聯(lián)全相聯(lián)CHCache不同的組織方式,多路組相聯(lián)更好!4.Cache的多級(jí)組織可提高命中率!38Cache的相聯(lián)性與失效率

相聯(lián)性2路4路8路容量LRURandomLRURandomLRURandom16KB5.2%5.7%4.7%5.3%4.4%5.0%64KB1.9%2.0%1.5%1.7%1.4%1.5%256KB1.15%1.17%1.13%1.13%1.12%1.12%更新策略與命中率(定量分析公式)增加cache后的CPU執(zhí)行時(shí)間:39

例題:CPU執(zhí)行一段程序時(shí),Cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知Cache存取周期為50ns,主存存取周期為250ns,求Cache/主存系統(tǒng)的效率和平均訪問(wèn)時(shí)間。解:h=NC/(NC+Nm)=1900/(1900+100)=0.95(命中率)r=tm/tc=250ns/50ns=5(主存慢于Cache的倍率)e=1/[r+(1-r)h]=1/[5+(1-5)*0.95]=83.3%(訪問(wèn)Cache/主存系統(tǒng)的效率)ta=tc/e=50ns/0.833=60ns(Cache/主存系統(tǒng)的平均訪問(wèn)時(shí)間)40

7.2.4多層次Cache存儲(chǔ)器

1.指令Cache和數(shù)據(jù)Cache開(kāi)始實(shí)現(xiàn)Cache時(shí),是將指令和數(shù)據(jù)存放在同一Cache中的。后來(lái)隨著計(jì)算機(jī)技術(shù)的發(fā)展和處理速度的加快,存取數(shù)據(jù)的操作經(jīng)常會(huì)與取指令的操作發(fā)生沖突,從而延遲了指令的讀取。發(fā)展的趨勢(shì)是將指令Cache和數(shù)據(jù)Cache分開(kāi)而成為兩個(gè)相互獨(dú)立的Cache。

2.多層次Cache結(jié)構(gòu)當(dāng)芯片集成度提高后,可以將更多的電路集成在一個(gè)微處理器芯片中,于是近年來(lái)新設(shè)計(jì)的快速微處理芯片都將Cache集成在片內(nèi)。片內(nèi)cache的讀取速度要比片外Cache快得多。Pentium微處理器的片內(nèi)包含有8KB數(shù)據(jù)Cache和8KB指令Cache。Cache行的長(zhǎng)度為32B,采取兩路組相聯(lián)組織。41

片內(nèi)Cache的容量受芯片集成度的限制,一般在幾十KB以內(nèi),因此命中率比大容量Cache低。于是推出了二級(jí)Cache方案,其中第一級(jí)Cache(L1)在處理器芯片內(nèi)部;第二級(jí)Cache(L2)在片外,其容量可從幾十KB到幾百KB,采用SRAM存儲(chǔ)器,兩級(jí)Cache之間一般有專用總線相連,Pentium微處理器支持片外的第二級(jí)Cache。其容量為256KB或512KB,也是采用兩路組相連方案。

3.Cache的一致性問(wèn)題由于數(shù)據(jù)Cache有多種寫入操作,并不同時(shí)修改L1,L2和主存儲(chǔ)器的內(nèi)容,造成數(shù)據(jù)的不一致!

Pentum處理器支持“修改/排它/共享/無(wú)效”,即MESI協(xié)議。修改:本Cache行的數(shù)據(jù)與主存儲(chǔ)器不同(已修改),僅在本

Cache中的數(shù)據(jù)是正確的!排它:本Cache行的數(shù)據(jù)與主存儲(chǔ)器相同,但不存在于其他的

Cache中!共享:本Cache行的數(shù)據(jù)與主存儲(chǔ)器相同,且可存在于其他的

Cache中!無(wú)效:本Cache行的數(shù)據(jù)無(wú)效!上電、Reset時(shí),所有Cache行的數(shù)據(jù)無(wú)效。427.3虛擬存儲(chǔ)器1.虛擬存儲(chǔ)器的名稱和由來(lái)虛擬存儲(chǔ)器只是一個(gè)容量非常大的存儲(chǔ)器的邏輯模型,不是任何實(shí)際的物理存儲(chǔ)器。它是借助磁盤等輔助存儲(chǔ)器來(lái)擴(kuò)大主存容量,使之為更大或更多的程序所使用。有了虛擬存儲(chǔ)器,用戶無(wú)需考慮所編程序在主存中是否放得下或放在什么位置等問(wèn)題。產(chǎn)生:軟件需要,芯片工藝及價(jià)格不能滿足。特點(diǎn):1.將當(dāng)前和常用到的內(nèi)容放在主存中,其他還未用到的放在外存中。2.虛擬存儲(chǔ)體系允許用戶訪問(wèn)比實(shí)際存儲(chǔ)空間大得多的地址空間。概念:位于主存---輔存之間的物理結(jié)構(gòu),由負(fù)責(zé)信息劃分以及主存-輔存之間信息調(diào)動(dòng)的輔助硬件和操作系統(tǒng)中的存儲(chǔ)管理軟件所組成的存儲(chǔ)體系。管理方式:段式,頁(yè)式,段頁(yè)式43

從原理角度看,主存-輔存層次和cache-主存層次有很多相似之處。它們采用的地址變換及映像方法和替換策略,從原理上看是相同的。虛擬存儲(chǔ)系統(tǒng)所采取的映像方式同樣有全相聯(lián)映像、組相聯(lián)映像和直接映像等方式。替換算法也多采用LRU算法。主存一輔存層次的信息傳送單位可采用幾種不同的方案,有段式管理方案、頁(yè)式管理方案或段頁(yè)式式管理等方案。

7.3.1段式管理方案段是利用程序的模塊化性質(zhì)按照程序的邏輯結(jié)構(gòu)劃分成的多個(gè)相對(duì)獨(dú)立部分。例如過(guò)程、子程序、數(shù)據(jù)表、陣列等。段作為獨(dú)立的邏輯單位可以被其他程序段調(diào)用,這樣就形成段間連接,產(chǎn)生規(guī)模較大的程序。一般用段表來(lái)指明各段在主存中的位置,如圖7.12所示。每段都有它的名稱(用戶名稱或數(shù)據(jù)結(jié)構(gòu)名或段號(hào))、段起點(diǎn)、段長(zhǎng)等。段表本身也是主存儲(chǔ)器的一個(gè)可再定位段。44段式管理方案

段號(hào)起始位置有效位段長(zhǎng)訪問(wèn)方式以程序的邏輯結(jié)構(gòu)所形成的段作為主存分配單位的存儲(chǔ)器管理方式.段大小可以不相等.每個(gè)程序有一個(gè)段表圖7.12段式管理程序空間段1(1KB)段2(2KB)段3(3KB)段4(1KB)段5(2KB)地址存儲(chǔ)空間段1段5段301k3k5k8k1011KB2035K13KB4051K12KB

段表45段式虛擬存儲(chǔ)器段表:段基址、段長(zhǎng)、裝入位、訪問(wèn)方式46

把主存按段分配的存儲(chǔ)管理方式稱為段式管理。段式管理系統(tǒng)的優(yōu)點(diǎn)是段的分界與程序的自然分界相對(duì)應(yīng)。段的邏輯獨(dú)立性,使它易于編譯、管理、修改和保護(hù),也便于多道程序共享。其缺點(diǎn)是容易在段間留下許多空余的零碎存儲(chǔ)空間,造成浪費(fèi)和段的起點(diǎn)和終點(diǎn)不定。7.3.2頁(yè)式管理方案頁(yè)式管理系統(tǒng)的信息傳送單位是定長(zhǎng)的頁(yè),主存的物理空間也被劃分為等長(zhǎng)的固定區(qū)域,稱為頁(yè)面。新頁(yè)調(diào)人主存也很容易掌握,只要有空白頁(yè)面就可。它比段式管理系統(tǒng)的空間浪費(fèi)要小得多。頁(yè)式管理系統(tǒng)的缺點(diǎn)正好和段式管理系統(tǒng)相反,由于頁(yè)不是邏輯上獨(dú)立的實(shí)體,所以處理保護(hù)和共享都不及段式來(lái)得方便。圖7.13表示某個(gè)程序有5頁(yè)(邏輯頁(yè)號(hào)0~4)各頁(yè)分別裝入主存不連續(xù)的頁(yè)面位置,用頁(yè)表記錄邏輯頁(yè)號(hào)及其所對(duì)應(yīng)的實(shí)主存頁(yè)號(hào),頁(yè)表是由操作系統(tǒng)建立的、圖7.13中邏輯頁(yè)號(hào)0.1.3已分配實(shí)主存空間,所以裝入位為1。47頁(yè)式管理方案程序程序空間實(shí)主存空間邏輯頁(yè)號(hào)物理頁(yè)號(hào)=實(shí)主存頁(yè)號(hào)0123401234560211112034140頁(yè)表邏輯頁(yè)號(hào)實(shí)主存頁(yè)號(hào)裝入位將虛擬空間和主存空間劃分成大小固定的頁(yè),以頁(yè)為分配單位的存儲(chǔ)管理方式。頁(yè)的大小隨機(jī)器而異。每道程序擁有一個(gè)頁(yè)表。頁(yè)表自動(dòng)生成,對(duì)程序員透明。

圖7.13頁(yè)式管理48

頁(yè)表基地址

頁(yè)地址

字地址

控制字

主存頁(yè)面號(hào)

頁(yè)面號(hào)

字地址

頁(yè)面基址寄存器

虛地址

實(shí)存地址

頁(yè)表

(在主存中)

圖7.14頁(yè)式虛擬存儲(chǔ)器結(jié)構(gòu)頁(yè)式虛擬存儲(chǔ)器將虛擬空間和主存空間劃分成大小固定的頁(yè),以頁(yè)為分配單位的存儲(chǔ)管理方式,虛擬空間分成的頁(yè)叫虛頁(yè)或邏輯頁(yè)。頁(yè)表自動(dòng)生成,實(shí)現(xiàn)虛擬地址到實(shí)地址的變換?;刂氛{(diào)入否?49

圖7.15所有快表和慢表實(shí)現(xiàn)虛實(shí)地址變換

為了提高查頁(yè)表的效率,減少進(jìn)行頁(yè)面替換、修改和訪問(wèn)主存的時(shí)間,把頁(yè)表最活動(dòng)的部分放到快速存儲(chǔ)器中組成快表,在一些影響工作速度的關(guān)鍵部分引入硬件支持。如圖7.15實(shí)現(xiàn)快表和慢表內(nèi)部地址變換方式!快表由硬件組成,稱為TLB(轉(zhuǎn)換旁路緩沖器)!快表只是慢表的一部分,查表時(shí)由虛頁(yè)號(hào)同時(shí)去查快表和慢表。503、段頁(yè)式虛擬存儲(chǔ)器將段式和頁(yè)式管理方式結(jié)合起來(lái).段頁(yè)式將實(shí)際存儲(chǔ)器機(jī)械等分成固定大小的頁(yè),程序則按模塊分段,每段又分成與主存頁(yè)面大小相同的頁(yè).段頁(yè)式管理兼有段式和頁(yè)式的優(yōu)點(diǎn).51段頁(yè)式虛擬存儲(chǔ)器頁(yè)內(nèi)地址d頁(yè)號(hào)P段號(hào)S基號(hào)D虛地址

在段頁(yè)式虛擬存儲(chǔ)器中,把程序按邏輯結(jié)構(gòu)分段后,再把每段分成固定大小的頁(yè)。程序?qū)χ鞔娴恼{(diào)入和調(diào)出是按頁(yè)面進(jìn)行的,但又可以按段實(shí)現(xiàn)共享和保護(hù)。在計(jì)算機(jī)內(nèi)執(zhí)行的多道程序的每一道(用戶)有一個(gè)基號(hào)D、段號(hào)S、頁(yè)號(hào)P、頁(yè)內(nèi)地址d,格式如下:52

圖7.17段頁(yè)式虛擬存儲(chǔ)器地址變換假設(shè):當(dāng)要訪問(wèn)的程序地址為D道1段0頁(yè)4單元。每道程序的起點(diǎn)表頁(yè)表起點(diǎn)表主存頁(yè)號(hào)表段表頁(yè)表53

Pentium采用段頁(yè)式地址轉(zhuǎn)換機(jī)制,通過(guò)段地址查閱段表,將表中地址與位移地址相加后得到32位線性地址,然后通過(guò)頁(yè)面轉(zhuǎn)換得物理地址。頁(yè)面轉(zhuǎn)換是通過(guò)頁(yè)目錄和頁(yè)表實(shí)現(xiàn)的(相當(dāng)于H級(jí)頁(yè)表)線性地址由頁(yè)目錄(10位)、頁(yè)號(hào)(l位)和位移地址(l位)組成,頁(yè)面大小為4KB、Pentium還允許將頁(yè)面大小設(shè)置為4MB,此時(shí)頁(yè)面轉(zhuǎn)換只要查一次頁(yè)表即可。

Pentium存儲(chǔ)器結(jié)構(gòu)有很大靈活性,根據(jù)其段表和頁(yè)表是否設(shè)置可以有4種組合情況。(1)無(wú)段表和無(wú)頁(yè)表的存儲(chǔ)器、非虛擬存儲(chǔ)器其邏輯地址即為物理地址可減少?gòu)?fù)雜性,在高性能的控制機(jī)中經(jīng)常被采用。(2)無(wú)段表和有頁(yè)表的存儲(chǔ)器。頁(yè)式虛擬存儲(chǔ)器,此時(shí)存儲(chǔ)器的管理和保護(hù)是通過(guò)頁(yè)面轉(zhuǎn)換實(shí)現(xiàn)的。(3)有段表和無(wú)頁(yè)表的存儲(chǔ)器。段式虛擬存儲(chǔ)器。(4)有段表和有頁(yè)表的存儲(chǔ)器。段頁(yè)式虛擬存儲(chǔ)器。54

7.3.6存儲(chǔ)管理部件(MMU)

現(xiàn)代計(jì)算機(jī)一般都有輔助存儲(chǔ)器,但具有輔存的存儲(chǔ)系統(tǒng)不一定是虛擬存儲(chǔ)系統(tǒng)。虛擬存儲(chǔ)系統(tǒng)有兩大特:(1)允許用產(chǎn)用比主存空間大得多的空間來(lái)訪問(wèn)主存。(2)每次訪存都要進(jìn)行虛實(shí)地址的轉(zhuǎn)換。

Pentium的虛擬地址被稱為邏輯地址,其長(zhǎng)度為48位,由16位段地址和32位位移地址構(gòu)成、段地址中有2位用于存儲(chǔ)保護(hù),真正屬于段地址的是14位,所以有效的邏輯地址

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論