第九章存儲(chǔ)器結(jié)構(gòu)_第1頁
第九章存儲(chǔ)器結(jié)構(gòu)_第2頁
第九章存儲(chǔ)器結(jié)構(gòu)_第3頁
第九章存儲(chǔ)器結(jié)構(gòu)_第4頁
第九章存儲(chǔ)器結(jié)構(gòu)_第5頁
已閱讀5頁,還剩72頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第9章存儲(chǔ)器結(jié)構(gòu)9.1存儲(chǔ)器的層次結(jié)構(gòu)9.2Cache存儲(chǔ)器9.3虛擬存儲(chǔ)器9.4基本Cache和虛擬存儲(chǔ)器的擴(kuò)展9.5實(shí)例:Pentium/Windows個(gè)人計(jì)算機(jī)上的內(nèi)存管理1湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.1存儲(chǔ)器的層次結(jié)構(gòu)圖9.1一般的存儲(chǔ)器層次物理內(nèi)存:由動(dòng)態(tài)RAM組成。Cache存儲(chǔ)器:由靜態(tài)RAM構(gòu)成,比DRAM快得多,但也昂貴的多。Cache是物理內(nèi)存的部分副本。虛擬存儲(chǔ)器:空間比物理內(nèi)存大得多邏輯空間。虛擬管理器通過在物理內(nèi)存和一個(gè)存儲(chǔ)介質(zhì)之間調(diào)度來達(dá)到訪問的目的。2湖南大學(xué)計(jì)算機(jī)與通信學(xué)院哈佛結(jié)構(gòu):計(jì)算機(jī)存儲(chǔ)系統(tǒng)的Cache層次中,每一級(jí)Cache包含兩個(gè)單獨(dú)的Cache存儲(chǔ)器,其中一個(gè)是指令Cache,一個(gè)是數(shù)據(jù)Cache。9.2Cache存儲(chǔ)器大部分計(jì)算機(jī)在CPU和物理內(nèi)存之間包含一個(gè)較小容量的Cache存儲(chǔ)器,而不是使用Cache存儲(chǔ)器構(gòu)建計(jì)算機(jī)的整個(gè)存儲(chǔ)系統(tǒng)。目標(biāo)是在合理的價(jià)格下減少處理器的內(nèi)存訪問時(shí)間。3湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.2.1相聯(lián)存儲(chǔ)器一般存儲(chǔ)器:接收一個(gè)地址,訪問該地址中的數(shù)據(jù)。相聯(lián)存儲(chǔ)器:并行搜索所有單元,標(biāo)記那些與特定數(shù)據(jù)匹配的單元,然后連續(xù)讀出匹配的數(shù)據(jù)值。4湖南大學(xué)計(jì)算機(jī)與通信學(xué)院考慮一個(gè)由8個(gè)字單元組成的簡(jiǎn)單的相聯(lián)存儲(chǔ)器,每個(gè)單元有16位,如圖9.2所示。除數(shù)據(jù)位外,每單元都有一個(gè)額外的標(biāo)記位V。(數(shù)據(jù)有效位,為1說明這個(gè)單元數(shù)據(jù)有效,為0說明數(shù)據(jù)無效)圖9.2相聯(lián)存儲(chǔ)器的內(nèi)部組織結(jié)構(gòu)5湖南大學(xué)計(jì)算機(jī)與通信學(xué)院為了從相聯(lián)存儲(chǔ)器中讀出一個(gè)值,CPU必須給出兩個(gè)值,即要被匹配的數(shù)據(jù)值、以及哪些位需要檢查。第一個(gè)值是參數(shù)或數(shù)據(jù),第二個(gè)值是屏蔽位或關(guān)鍵位

如果滿足如下的公式,則匹配就會(huì)發(fā)生6湖南大學(xué)計(jì)算機(jī)與通信學(xué)院屏蔽寄存器中值為1的每一位,單元中的值與數(shù)據(jù)寄存器中的值都相同單元的有效位被設(shè)置為1;例如(參考圖9.2):屏蔽寄存器K

1111000000000000數(shù)據(jù)寄存器D

1010XXXXXXXXXXXX數(shù)據(jù)位M1010110100000111執(zhí)行0000XXXXXXXXXXXX執(zhí)行1111XXXXXXXXXXXX執(zhí)行11111111

1111

11117湖南大學(xué)計(jì)算機(jī)與通信學(xué)院Vi始終為1,所以最終結(jié)果為:11111111

1111

1111

找到一個(gè)匹配因此該數(shù)據(jù)位M對(duì)應(yīng)的匹配寄存器的一個(gè)單元設(shè)置為18湖南大學(xué)計(jì)算機(jī)與通信學(xué)院將數(shù)據(jù)寫回相聯(lián)存儲(chǔ)器CPU把數(shù)據(jù)送到數(shù)據(jù)寄存器并發(fā)出寫信號(hào)。相聯(lián)存儲(chǔ)器檢查所有單元的有效位,并找到有效位為0的一個(gè)單元,如果找到,把數(shù)據(jù)存到這個(gè)單元,同時(shí)將有效位設(shè)為1。如果沒有找到,必須采用替換算法清除一個(gè)單元來保存數(shù)據(jù)。

常見的替換算法FIFOLRURANDOM9湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.2.2相聯(lián)映象的Cache存儲(chǔ)器圖9.3相對(duì)簡(jiǎn)單CPU的相聯(lián)Cache64K的8位內(nèi)存10湖南大學(xué)計(jì)算機(jī)與通信學(xué)院圖9.3中:每一個(gè)單元中的前16位由內(nèi)存地址構(gòu)成,可以尋址到64K的地址空間。后8位描述的是存儲(chǔ)在該物理內(nèi)存地址中的數(shù)據(jù)。屏蔽寄存器只需設(shè)置一次。在上圖中可以設(shè)成11111111

1111

11110000000011湖南大學(xué)計(jì)算機(jī)與通信學(xué)院作用于數(shù)據(jù)行或數(shù)據(jù)塊的相聯(lián)存儲(chǔ)器存儲(chǔ)器在每個(gè)單元存儲(chǔ)4個(gè)字節(jié)的數(shù)據(jù)。(如圖9.4)同一個(gè)單元的4個(gè)數(shù)據(jù)具有相同的高位地址,即高14位相同。比圖9.3中的相聯(lián)存儲(chǔ)器采用了更多的位數(shù)(46位vs24位)。12湖南大學(xué)計(jì)算機(jī)與通信學(xué)院圖9.4相對(duì)簡(jiǎn)單CPU中,行大小為4字節(jié)的相聯(lián)Cache13湖南大學(xué)計(jì)算機(jī)與通信學(xué)院優(yōu)點(diǎn):利用了訪問的局部性原理:當(dāng)內(nèi)存單元X中的指令被訪問時(shí),下一條被執(zhí)行的指令非常有可能就在內(nèi)存單元X+1中。例如: 當(dāng)訪問地址0單元的時(shí)候,整個(gè)塊(0,1,2,3)的值都被從物理內(nèi)存讀入Cache。

當(dāng)CPU下次要執(zhí)行在內(nèi)存單元1、2、3中的指令時(shí),它們已在cache中即能被訪問,而不必從較慢的物理內(nèi)存中讀取。14湖南大學(xué)計(jì)算機(jī)與通信學(xué)院不僅指令具有訪問的局部性,數(shù)據(jù)同樣也具有訪問的局部性

如編譯器通常將一列數(shù)組元素安排到相鄰的內(nèi)存單元中,以方便處理器順序訪問數(shù)據(jù)值。

15湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.2.3直接映象的Cache存儲(chǔ)器一種利用標(biāo)準(zhǔn)的SRAM、廉價(jià)的Cache映射方案物理內(nèi)存Cache深度為1k64kx8位xxxxxx1111111111111111111116湖南大學(xué)計(jì)算機(jī)與通信學(xué)院索引

Cache地址的低十位,用來選擇Cache

的一個(gè)特定單元標(biāo)簽

原始地址中不是索引的那些高位。直接映象的Cache存儲(chǔ)器一個(gè)單元包括(圖9.5): 標(biāo)簽 數(shù)據(jù) 有效值17湖南大學(xué)計(jì)算機(jī)與通信學(xué)院圖9.5相對(duì)簡(jiǎn)單CPU的直接映象Cache18湖南大學(xué)計(jì)算機(jī)與通信學(xué)院另外一種直接映像Cache存儲(chǔ)器圖9.6:相對(duì)簡(jiǎn)單的CPU中,行大小為4字節(jié)的直接映像Cache19湖南大學(xué)計(jì)算機(jī)與通信學(xué)院直接映像的Cache存儲(chǔ)器

優(yōu)點(diǎn):

價(jià)格低

容量大

缺點(diǎn):靈活性差如前所述,物理內(nèi)存中 任何形式為xxxxxx11 11111111的地址都只能 映射到Cache中地址為 1111111111的單元中20湖南大學(xué)計(jì)算機(jī)與通信學(xué)院JUMP1000HJUMP0000H考慮下面的代碼:00000000

0000

0000(0000H):JUMP1000H0001000000000000(1000H):JUMP0000H直接映象Cache地址000000000021湖南大學(xué)計(jì)算機(jī)與通信學(xué)院

第一條指令被取出放入cache中。基于低10位地址位,它被映射到cache單元0000000000。標(biāo)識(shí)域被設(shè)置為地址位中的6個(gè)高位,即000000?,F(xiàn)在,它被執(zhí)行,CPU在單元1000H中取指令,它的低10位也為000000,因此,它被取出并裝入cache中,并且設(shè)置標(biāo)識(shí)值為000100,覆蓋以前的值。JUMP跳轉(zhuǎn)反過來執(zhí)行到單元0000H,這樣,盡管其他cache單元全都可用,但這兩條指令仍會(huì)不斷的彼此覆蓋。22湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.2.4組相聯(lián)映像的cache存儲(chǔ)器特點(diǎn)靈活性增強(qiáng) 減少由直接映像帶來的覆蓋數(shù)據(jù)的問題采用比較便宜的SRAMN路組相聯(lián):每個(gè)單元能夠包含N個(gè)字節(jié)或字

直接映像的cache可以看作是一個(gè)一路 組相聯(lián)映像cache存儲(chǔ)器23湖南大學(xué)計(jì)算機(jī)與通信學(xué)院考察大小為1k的2路組相聯(lián)cache(如圖9.7)該cache有1k個(gè)數(shù)據(jù)入口,每個(gè)單元2個(gè)數(shù)據(jù)值,因此有512個(gè)單元用9個(gè)地址位選擇cache單元,剩下的7位說明標(biāo)簽值計(jì)數(shù)值用來紀(jì)錄數(shù)據(jù)什么時(shí)候被訪問過了圖9.7相對(duì)簡(jiǎn)單CPU的2路組相聯(lián)cache24湖南大學(xué)計(jì)算機(jī)與通信學(xué)院JUMP1000HJUMP0000H重新考慮下面的代碼:00000000

0000

0000(0000H):JUMP1000H0001000000000000(1000H):JUMP0000H組相聯(lián)映象cache地址000000000025湖南大學(xué)計(jì)算機(jī)與通信學(xué)院

用在9.2.3的代碼例子中,cache就不會(huì)覆蓋任一條指令。JUMP1000H這條指令將會(huì)被取出存入cache單元0的一路中。然后,指令0000H將會(huì)被取出放入同一單元的另一路中。從這可以看出,指令都從cache取出并被連續(xù)的執(zhí)行。26湖南大學(xué)計(jì)算機(jī)與通信學(xué)院一種采用數(shù)據(jù)行的組相聯(lián)cache圖9.8相對(duì)簡(jiǎn)單CPU中具有4字節(jié)數(shù)據(jù)行的2路組相聯(lián)cache27湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.2.5在cache中替換數(shù)據(jù)問題的引出:計(jì)算機(jī)開始執(zhí)行一個(gè)程序。它 從內(nèi)存中取指令和數(shù)據(jù),同時(shí) 將這些值載入cache。當(dāng)cache為 空或很少被占用時(shí),會(huì)工作的 很好。但是,最終計(jì)算機(jī)會(huì)要 將數(shù)據(jù)移入到已占用的cache單 元。此時(shí),將哪個(gè)數(shù)據(jù)移出 cache,以及此數(shù)據(jù)如何在保存 到物理內(nèi)存,這一問題就變得 至關(guān)重要28湖南大學(xué)計(jì)算機(jī)與通信學(xué)院替換策略:FIFO先進(jìn)先出原則LRU近期最少使用原則隨機(jī)策略29湖南大學(xué)計(jì)算機(jī)與通信學(xué)院1.FIFO先進(jìn)先出策略按順序填充相聯(lián)存儲(chǔ)器,當(dāng)cache

占滿時(shí)返回最頂單元,用新數(shù)據(jù) 替換原有數(shù)據(jù)只要一個(gè)寄存器就能實(shí)現(xiàn)

該寄存器保存下一個(gè)要被替換的 單元的指針性能較好30湖南大學(xué)計(jì)算機(jī)與通信學(xué)院2.LRU近期最少使用策略跟蹤單元的訪問順序,用新的數(shù) 據(jù)替換近期最少使用的數(shù)據(jù)每個(gè)cache單元需要一個(gè)計(jì)數(shù)器

最近訪問的數(shù)據(jù),將相應(yīng)的計(jì)數(shù) 器置為0;其余的計(jì)數(shù)器依次加1性能好31湖南大學(xué)計(jì)算機(jī)與通信學(xué)院例:在一個(gè)4路組相聯(lián)cache單元中應(yīng)用LRU策略TDCVTDCVTDCVTDCVCc21Bb11Aa01---01.Cache單元的當(dāng)前狀態(tài)2.CPU訪問DTDCVTDCVTDCVTDCVCc31Bb21Aa11Dd0132湖南大學(xué)計(jì)算機(jī)與通信學(xué)院3.CPU訪問ETDCVTDCVTDCVTDCVEe01Bb31Aa21Dd114.CPU訪問ATDCVTDCVTDCVTDCVEe11Bb31Aa01Dd2133湖南大學(xué)計(jì)算機(jī)與通信學(xué)院3.RANDOM隨機(jī)策略隨機(jī)的選擇一個(gè)單元給新的數(shù)據(jù) 使用性能較好,與FIFO策略差不多34湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.2.6寫數(shù)據(jù)到cache寫直達(dá)法

每次信息從CPU寫入cache單元 中時(shí),也要寫回相應(yīng)的物理內(nèi)存 單元中

回寫法

寫入cache中的值并不總是被寫 回物理內(nèi)存。僅在數(shù)據(jù)被移出

cache時(shí)寫回物理內(nèi)存一次

35湖南大學(xué)計(jì)算機(jī)與通信學(xué)院處理寫失效問題按寫分配法

把單元裝入cache,然后使用寫 直達(dá)法或?qū)懟胤ò褦?shù)據(jù)寫到cache

不按寫分配法

直接更新物理內(nèi)存中的值,而 不把值寫回cache

36湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.2.7cache的性能評(píng)判性能的標(biāo)準(zhǔn)Cache命中

要訪問的數(shù)據(jù)已在cache中Cache失效

要訪問的數(shù)據(jù)不在cache中37湖南大學(xué)計(jì)算機(jī)與通信學(xué)院命中率:指由cache(而不是物理內(nèi)存) 提供服務(wù)的訪存百分比

平均訪問時(shí)間:是cache訪問時(shí)間Tc和內(nèi) 存訪問時(shí)間Tp的加權(quán)平均,權(quán) 值是hTm=hTc+(1-h)Tp

失效率:指由物理內(nèi)存(而不是cache

) 提供服務(wù)的訪存百分比

38湖南大學(xué)計(jì)算機(jī)與通信學(xué)院表9.1hTm(單位ns)0600.1550.2500.3450.4400.5350.6300.7250.8200.915110Tc=10nsTp=60ns結(jié)論:增加命中率能夠減少平均訪問時(shí)間39湖南大學(xué)計(jì)算機(jī)與通信學(xué)院現(xiàn)在來考慮前面所討論過的各種映射策略是如何計(jì)算命中率和平均訪問時(shí)間的。假定一臺(tái)計(jì)算機(jī)含有8字節(jié)的相聯(lián)cache,或者直接映射cache,或者2路組相聯(lián)cache。CPU訪問下列單元序列,每個(gè)值的下標(biāo)是其物理內(nèi)存地址的低3位。A0B0C2A0D1B0E4F5A0C2D1B0

G3C2H7I6A0B0

現(xiàn)在我們來確定在三種不同cache配置下的命中率和平均訪問時(shí)間,還是假設(shè)TC=10ns,TP=60ns。

40湖南大學(xué)計(jì)算機(jī)與通信學(xué)院首先考慮相聯(lián)cache,它初始化為空,使用FIFO的替換策略。在18次訪問中,有7次命中,命中率為h=0.389,平均訪問時(shí)間為TM=40.56ns。

表9.2相聯(lián)cache的執(zhí)行軌跡

41湖南大學(xué)計(jì)算機(jī)與通信學(xué)院直接映射cache的結(jié)果如表9.3所示,有3次命中,其命中率h=0.167,平均訪問時(shí)間TM=50.67ns。

表9.3直接映射cache的執(zhí)行軌跡

DataABCADBEFACDBGCHIAB

0ABBAABBBAAABBBBBABC1

DDDDDDDDDDDDDDA2

CCCCCCCCCCCCCCCCC3

GGGGGGH4

EEEEEEEEEEEEE5

FFFFFFFFFFF

6

|||

7

HHHHHit?

√√

42湖南大學(xué)計(jì)算機(jī)與通信學(xué)院最后,2路組相聯(lián)cache的結(jié)果如表9.4所示,使用了LRU替換策略和計(jì)數(shù)值。該cache有7次命中,其命中率h=0.389,平均訪問時(shí)間TM=40.56ns。

DataABCADBEFACDBGCHIAB

0C0A-0A-1B-0A-1B-0A-0B-1A-0B-1A-1B-0E-0B-1E-0B-1E-1A-0E-1A-0B-0A-1B-0A-1B-0A-1B-0A-1B-0A-1B-0A-1B-1A-0B-0A-0A1C1

D-0D-0D-0D-1F-0D-1F-0D-1F-0D-0F-1D-0F-1D-0F-1D-0F-1D-0F-1D-0F-1D-0F-1D-0F-1H2E2

C-0C-0C-0C-0C-0C-0C-0C-0C-0C-0C-0C-0C-0C-01-0C-01-0C-01-0

33

G-0G-0G-1H-0G-1H-0G-1H-0G-1H-0Hit?

√√

√√表9.42路組相聯(lián)cache的執(zhí)行軌跡

E-143湖南大學(xué)計(jì)算機(jī)與通信學(xué)院現(xiàn)在,考慮這個(gè)同樣的系統(tǒng),但這次有2字節(jié)的數(shù)據(jù)行。組成相關(guān)行的數(shù)據(jù)對(duì)有A和J,B和D,C和G,E和F,I和H。使用上例相同的替換策略(相聯(lián)cache采用FIFO,組相聯(lián)采用LRU),相同的訪問時(shí)間(TC=10ns,TP=60ns),我們來重新計(jì)算cache的性能。相聯(lián)、直接和2路組相聯(lián)cache的執(zhí)行軌跡分別如表9.5、9.6和9.7所示。

44湖南大學(xué)計(jì)算機(jī)與通信學(xué)院表9.52字節(jié)行大小的相聯(lián)cache的執(zhí)行軌跡

DataABCADBEFACDBGCHIAB

AAAAAAAAAAAAAA||||

CJJJJJJJJJJJJJJJHHHH

A

BBBBBBBBBBBBBBBAA

C

DDDDDDDDDDDDDDDJJ

H

CCCCCCCCCCCCCCCB

E

GGGGGGGGGGGGGGGD

EEEEEEEEEEEE

FFFFFFFFFFFFHit?

√√√

√√√√√√√

相聯(lián)cache的h=0.611,TM=29.44ns45湖南大學(xué)計(jì)算機(jī)與通信學(xué)院表9.62字節(jié)行大小的直接映射cache的執(zhí)行軌跡

DataABCADBEFACDBGCHIAB

0ABBABBBBAABBBBBBABC1JDDJDDDDJJDDDDDDJDA2

CCCCCCCCCCCCCCCCC3

GGGGGGGGGGGGGGGGH4

EEEEEEEEEEEEE5

FFFFFFFFFFFF

6

I|||

7

HHHHHit?

√√√

直接映射cache的h=0.389,TM=40.56ns46湖南大學(xué)計(jì)算機(jī)與通信學(xué)院表9.72字節(jié)行大小的2路組相聯(lián)cache的執(zhí)行軌跡

2路組相聯(lián)cache的h=0.611,TM=29.44nsDataABCADBEFACDBGCHIAB0C1A0C1H2E323A-0J-0A-1J-1A-1J-1A-0J-0A-1J-1A-1J-1E-0F-0E-0F-0E-1F-1E-1F-1B-0D-0B-0D-0B-0D-0B-0D-0B-0D-0B-0D-0B-1D-1B-0D-0B-0D-0B-0D-0B-1D-1B-0D-0B-0D-0B-1D-1B-1D-1A-0J-0A-0J-0A-1J-1A-1J-1A-1J-1A-1J-1A-1J-1A-1J-1A-0J-0A-1J-1C-0G-0C-0G-0C-0G-0C-0G-0C-0G-0C-0G-0C-0G-0C-0G-0C-0G-0C-0G-0C-0G-0C-0G-0C-1G-1C-1G-1C-1G-1C-1G-1I-0H-0I-0H-0I-0H-0I-0H-0Hit?√√√√√√√√√√√47湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.3虛擬存儲(chǔ)器存儲(chǔ)管理單元 在物理內(nèi)存和較慢的存儲(chǔ)設(shè)備間移動(dòng)數(shù)據(jù)虛擬存儲(chǔ)器的主要實(shí)現(xiàn)方法:分頁和分段交換磁盤交換文件48湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.3.1分頁

頁面:在分頁技術(shù)中,整個(gè)邏輯地址空間被劃分為連續(xù)的塊叫做頁面頁面的特點(diǎn):每個(gè)頁尺寸相同頁面不可重疊,每個(gè)邏輯地址確切地 屬于某個(gè)頁面49湖南大學(xué)計(jì)算機(jī)與通信學(xué)院一個(gè)頁面或者包含程序指令或者包含數(shù)據(jù),不能同時(shí)包含兩者4.可能導(dǎo)致內(nèi)部碎片問題內(nèi)部碎片:假設(shè)MMU實(shí)現(xiàn)的頁式存儲(chǔ)器中每個(gè)頁面大小為4K,一個(gè)4K+1大小的程序需要MMU分配兩個(gè)存儲(chǔ)器頁面,盡管它的第二個(gè)頁面只用了4K單元的一個(gè)單元,這就是所謂的內(nèi)存碎片50湖南大學(xué)計(jì)算機(jī)與通信學(xué)院圖9.10相對(duì)簡(jiǎn)單CPU一種可能的內(nèi)存配置它具有64k的邏輯地址空間,16k的物理內(nèi)存,頁面大小4k51湖南大學(xué)計(jì)算機(jī)與通信學(xué)院分頁系統(tǒng)必須解決的問題:何時(shí)將某頁移入內(nèi)存?CPU如何在物理內(nèi)存找到數(shù)據(jù),尤其邏輯地址和物理地址不一至的情況下?當(dāng)所有頁框都裝有頁面,而CPU需要訪問的數(shù)據(jù)不在這些頁面怎么辦?52湖南大學(xué)計(jì)算機(jī)與通信學(xué)院存儲(chǔ)管理單元處理上述所有問題完成邏輯地址到物理地址的轉(zhuǎn)換產(chǎn)生缺頁故障,將數(shù)據(jù)從頁面裝入到物理內(nèi)存產(chǎn)生請(qǐng)求頁,把新的請(qǐng)求頁移入到物理內(nèi)存53湖南大學(xué)計(jì)算機(jī)與通信學(xué)院圖9.11存儲(chǔ)器層次結(jié)構(gòu)中的MMU配置54湖南大學(xué)計(jì)算機(jī)與通信學(xué)院

在處理器需要訪問數(shù)據(jù),MMU將數(shù)據(jù)從邏輯地址裝入物理地址的整個(gè)處理過程中,CPU沒有訪問物理單元的任何信息 例:指令LDAC4324H如何理解? 答案:把數(shù)據(jù)從邏輯地址4234H裝入累加器將邏輯單元4234H的數(shù)據(jù)裝入累加器,此數(shù)據(jù)實(shí)際存儲(chǔ)在物理單元3234H中系統(tǒng)更傾向解釋成155湖南大學(xué)計(jì)算機(jī)與通信學(xué)院頁表的概念MMU用頁表來跟蹤哪一頁存儲(chǔ)在哪個(gè)幀中

頁表的組成(如圖9.12):幀指示域(frame)有效位(valid)計(jì)數(shù)值(count,有些頁表不需要)臟位(dirty)56湖南大學(xué)計(jì)算機(jī)與通信學(xué)院圖9.12(a)頁表,(b)對(duì)應(yīng)的物理內(nèi)存

相對(duì)簡(jiǎn)單CPU的頁表,有16K的物理內(nèi)存,頁面大小為4K。頁表包含了16個(gè)單元,每一單元對(duì)應(yīng)邏輯地址空間的一個(gè)頁面,它包含一個(gè)2bit的域,表明了該邏輯頁存儲(chǔ)在哪一個(gè)幀中每一單元還包含一個(gè)有效位

0頁,對(duì)應(yīng)于邏輯地址0000H~1FFFH,存儲(chǔ)在1號(hào)幀中,物理地址為1000H~1FFFH

57湖南大學(xué)計(jì)算機(jī)與通信學(xué)院MMU中邏輯地址到物理地址的轉(zhuǎn)換MMU將邏輯地址看作兩個(gè)部分 頁和偏移量例:考慮LDAC4234H,MMC如何將邏輯 地址4234H轉(zhuǎn)換成物理地址(如圖9.13)58湖南大學(xué)計(jì)算機(jī)與通信學(xué)院圖9.13用頁表將邏輯地址轉(zhuǎn)換成物理地址高4位邏輯地址表明頁號(hào),剩下的12位為偏移量四個(gè)高位為0100

幀號(hào)11表明頁被映射到3號(hào)幀此值與12位的偏移量拼接,生成物理地址1100100011010059湖南大學(xué)計(jì)算機(jī)與通信學(xué)院圖9.13所示的MMU并沒有很好的轉(zhuǎn)換地址

? 因?yàn)閺捻摫碇凶x幀號(hào)會(huì)有一個(gè)延時(shí),并且由于取出相鄰的指令,系統(tǒng)可能連續(xù)的成百上千次的讀這一相同的值

變換旁視緩沖器可以解決上述問題(圖9.14),其功能跟頁表一樣,可產(chǎn)生幀值,但它更快,這樣就提高了性能60湖南大學(xué)計(jì)算機(jī)與通信學(xué)院圖9.14使用TLB轉(zhuǎn)換邏輯地址到物理地址注意TLB沒有必要包含計(jì)數(shù)位或者臟位,因?yàn)檫@些信息仍然保存在頁表中。TLB中的每一個(gè)地址入口包含在頁表中,但反過來不成立

61湖南大學(xué)計(jì)算機(jī)與通信學(xué)院例:考慮一臺(tái)含有相對(duì)簡(jiǎn)單CPU,相同內(nèi)存配置的計(jì)算機(jī)。它必須取、翻譯和執(zhí)行下列程序(如表9.8)0000H:LDAC4234H0003H:STAC4235H0006H:JUMP1000H1000-1063H:(100registerinstructions)1064H:JUMP2000H2000H-2031H:(50registerinstructions)2032H:JUMP0100H0100H-01C7H:(200registerinstructions)01C8H:JUMP3000H3000H-3063H:(100registerinstructions)3064H:JUMP0000H4234H:27H(datavalue)62湖南大學(xué)計(jì)算機(jī)與通信學(xué)院

PageTableAdress0000H0003H0006H1000H-1064H2000H-2032H0100H-01C8H3000H-3064H0000HPageFVCDFVCDFVCDFVCDFVCDFVCDFVCDFVCD

001100110011001100120011001100110

12100211021202130-0--

23100311031203130

311001120

4110011011111112111311131-0--2100表9.8使用LRU替換算法的部分頁表和TLB值

TLBPFVPFVPFVPFVPFVPFVPFVPFV

001

001

001

001

001

001

001

001

411

411

411

411

411

411

311

311

0

0

0

121

121

121

121

421

0

0

0

0

231

231

231

23163湖南大學(xué)計(jì)算機(jī)與通信學(xué)院

PageTableAdress0000H0003H-0006H1000H-1064H2000H-2032H0100H-01C8H3000H-3064H0000HPageFVDFVDFVDFVDFVDFVDFVD

0010010010010010--0-110

1210210210210--0-

2310310310310

3010010

4110111111111111111210表9.9使用FIFO替換算法的部分頁表和TLB值PFVPFVPFVPFVPFVPFVPFV

001

001

001

001

001

301301

411

411

411

411

411

411

011

0

0

121

121

121

121

421

0

0

0

231

231

231

23164湖南大學(xué)計(jì)算機(jī)與通信學(xué)院9.3.1分段

分段:在分段技術(shù)中,程序被劃分為幾段,每段為一個(gè)自包含的單元分段的特點(diǎn):每個(gè)段大小可以變化分段存在外部碎片問題65湖南大學(xué)計(jì)算機(jī)與通信學(xué)院外部碎片:內(nèi)存駐留有3個(gè)段,另有8K自由空間。而這8K空間被劃分開了,于是不移動(dòng)或撤除某個(gè)當(dāng)前載入段的話,大小超過3K的段已無法裝入內(nèi)存(如圖9.16)圖9.16由于分段引起的物理內(nèi)存外部碎片66湖南大學(xué)計(jì)算機(jī)與通信學(xué)院分段機(jī)制中邏輯地址到物理地址的轉(zhuǎn)換

圖9.15分段機(jī)制中邏輯地址到物理地址的轉(zhuǎn)換邏輯地址被剖分為段號(hào)和偏移量

67湖南大學(xué)計(jì)算機(jī)與通信學(xué)院段號(hào)輸入到段表中,如果段已被裝入內(nèi)存,輸出段的起始地址和段大小

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論