組成原理課程第四章版_第1頁(yè)
組成原理課程第四章版_第2頁(yè)
組成原理課程第四章版_第3頁(yè)
組成原理課程第四章版_第4頁(yè)
組成原理課程第四章版_第5頁(yè)
已閱讀5頁(yè),還剩118頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

組成原理課程第四章版24、1存儲(chǔ)器得概述4、1、1存儲(chǔ)器得分類:從不同得角度進(jìn)行1)按存儲(chǔ)介質(zhì)分:

?半導(dǎo)體

?磁性材料

?光

?紙2)按存取方式分:

?隨機(jī)存儲(chǔ)器:存儲(chǔ)時(shí)間與單元得物理位置無(wú)關(guān)

?順序存儲(chǔ)器:存儲(chǔ)時(shí)間與單元得物理位置有關(guān)

?磁盤就是半順序和半隨機(jī)設(shè)備

3)按讀寫方式分:?RAM:RandomAccessMemory?ROM:ReadOnlyMemory3?永久性(非易失性):與就是否斷電無(wú)關(guān)?非永久性(易失性):斷電后信息消失4)按信息得可保存性5)按在計(jì)算機(jī)系統(tǒng)中功能和存取速度分:?控制存儲(chǔ)器(CMorCS)?CPU中得Cache?CPU外面得

Cache?主存?輔存44、1、2、主存得常用技術(shù)指標(biāo)1)存儲(chǔ)容量指標(biāo):存儲(chǔ)器所能存儲(chǔ)得二進(jìn)制信息得位數(shù)、2)速度指標(biāo):

(1)存取時(shí)間(存儲(chǔ)器訪問時(shí)間)

啟動(dòng)存取操作到操作完成所經(jīng)歷得時(shí)間

(2)存儲(chǔ)周期(讀寫周期):對(duì)存儲(chǔ)器進(jìn)行連續(xù)兩次存取操作所需得最短時(shí)間間隔。存儲(chǔ)器在一次存取操作后需要一定得恢復(fù)時(shí)間,故該時(shí)間一般大于存取時(shí)間、(3)存儲(chǔ)器帶寬:單位時(shí)間內(nèi)存儲(chǔ)器所存取得信息位,也稱存儲(chǔ)器得數(shù)據(jù)傳輸率、即存儲(chǔ)器總線寬度/存儲(chǔ)周期,單位為位/秒51)信息存儲(chǔ)及存儲(chǔ)器編址(1)存儲(chǔ)字長(zhǎng)與數(shù)據(jù)字長(zhǎng)得概念存儲(chǔ)字長(zhǎng):主存得一個(gè)存儲(chǔ)單元所包含得二進(jìn)制位數(shù)數(shù)據(jù)字長(zhǎng)(字長(zhǎng)):計(jì)算機(jī)一次能處理得二進(jìn)制數(shù)得位數(shù)、(2)目前大多數(shù)計(jì)算機(jī)得主存采用按字節(jié)編址,而計(jì)算機(jī)得字長(zhǎng)又包含多個(gè)字節(jié),如16位字長(zhǎng)、32位字長(zhǎng)和64位字長(zhǎng),所包含得字節(jié)數(shù)分別為2、4、8。4、1、3、主存中得數(shù)據(jù)存放62)大端(big-endian)和小端(little-endian)數(shù)據(jù)存放方式big-endian:最高字節(jié)地址(最左邊)作為字地址(正常存放方式)MSBLSB0123字節(jié)地址4567字地址04little-endian:最低字節(jié)地址(最右邊)作為字地址MSBLSB0123字節(jié)地址4567字地址04

68000采用大端,Intel采用小端,ARM兩者都支持7

數(shù)據(jù)存放方式應(yīng)用舉例設(shè)某程序執(zhí)行前r0=0x11223344執(zhí)行下列指令:

r1=0x100STRr0,[r1]LDRBr2,[r1]執(zhí)行后:小端模式下:r2=0x44大端模式下:r2=0x1183)字節(jié)編址得存儲(chǔ)器按邊界對(duì)齊數(shù)據(jù)存放方法

若數(shù)據(jù)字長(zhǎng)32位,存儲(chǔ)字長(zhǎng)64位。則半字長(zhǎng)16位,雙字長(zhǎng)64位邊界對(duì)齊得數(shù)據(jù)存放如下圖所示。

雙字?jǐn)?shù)據(jù)得起始地址得最末三位為000(8字節(jié)得整數(shù)倍),表示訪問一個(gè)64位字長(zhǎng)得字,如果要訪問其中得某字節(jié)或半字則用低三位中得部分位來選擇、

單字?jǐn)?shù)據(jù)得起始地址得最末二位為00(4字節(jié)得整數(shù)倍)半字?jǐn)?shù)據(jù)得起始地址得最末一位為0(2字節(jié)得整數(shù)倍)字節(jié)半字雙字單字半字半字字節(jié)64位94、1、4、主存結(jié)構(gòu)及其工作過程CPU與存儲(chǔ)器交換信息時(shí),先給出地址,該地址經(jīng)地址譯碼驅(qū)動(dòng)器后選中存儲(chǔ)體中對(duì)應(yīng)得存儲(chǔ)單元,然后由控制線路控制讀出或?qū)懭搿?/p>

讀出時(shí),將選中得存儲(chǔ)單元所存得數(shù)據(jù)送入數(shù)據(jù)寄存器,原存儲(chǔ)單元中得內(nèi)容不變。CPU從數(shù)據(jù)寄存器取走該數(shù)據(jù)進(jìn)行指令所要求得處理。

寫入時(shí),將CPU送來并已存放于數(shù)據(jù)寄存器中得數(shù)據(jù)寫入選中得存儲(chǔ)單元,原數(shù)據(jù)將被新數(shù)據(jù)所取代。104、存儲(chǔ)系統(tǒng)層次結(jié)構(gòu)1)分級(jí)結(jié)構(gòu)得提出對(duì)存儲(chǔ)系統(tǒng)追求得目標(biāo):大容量、快速度、低價(jià)格2)分級(jí)結(jié)構(gòu)CPUCACHE主存輔助存儲(chǔ)器最后得效果(左向右看):Cache得速度,輔存得容量和價(jià)格113)存儲(chǔ)分級(jí)得理論基礎(chǔ)!程序得局部性原理,又包括時(shí)間局部性和空間局部性

?時(shí)間局部性現(xiàn)在被訪問得指令在不久得將來還將再次被訪問。

12345時(shí)間局部性得程序結(jié)構(gòu)體現(xiàn):循環(huán)

?空間局部性現(xiàn)在訪問指令2,下一次訪問得指令在2得附近??臻g局部性得程序結(jié)構(gòu)體現(xiàn):

順序

4、2、1SRAM(StaticRandomAccessMemory)工作原理1)基本存儲(chǔ)單元

存放一位二進(jìn)制信息得電路(P116)2)SRAM存儲(chǔ)單元結(jié)構(gòu)及其工作原理?工作管:T1、T2?負(fù)載管:T3、T4?門控管:T5、T6、

T7、T8Source:源極Drain:漏極Gate:柵極襯底一般與S極相連,與G極之間絕緣,大多數(shù)情況下S和D可互換4、2半導(dǎo)體存儲(chǔ)器大家有疑問的,可以詢問和交流可以互相討論下,但要小聲點(diǎn)14?寫過程行選通

T5、T6通

A與D連通列選通

T7、T8通

B與D

連通

寫1得過程D=1A=1T2通

B=0T1截止D=0B=0T1截止

A=1T2通此時(shí),T1、T2形成了穩(wěn)態(tài),A=1、B=0

寫0得過程D=0A=0T2截止

B=1T1通D=1B=1T1通

A=0T2截止此時(shí),T1、T2形成了穩(wěn)態(tài),B=1、A=0即:六管靜態(tài)存儲(chǔ)單元就是以T1和T2構(gòu)成得穩(wěn)定互鎖態(tài)保存信息15?讀過程行選通

T5、T6通

A與D連通列選通

T7、T8通

B與D

連通

讀1得過程若原來保存得就是1,則此時(shí),D=1、D=0,D和D外接一個(gè)讀出放大器,放大器中得電流從D流向D

,表示讀出為1

讀0得過程若原來保存得就是0,則此時(shí),D=0、D=1,D和D外接一個(gè)讀出放大器,放大器中得電流從D

流向D,表示讀出為0讀出得內(nèi)容就是通過外接在D和D之間電流放大器中得電流得方向來判斷162SRAM存儲(chǔ)器得結(jié)構(gòu)17由上圖知,SRAM存儲(chǔ)器由下列部件構(gòu)成:?存儲(chǔ)體:存儲(chǔ)單元得集合

?地址譯碼器:把二進(jìn)制表示得地址轉(zhuǎn)換成輸出電位,驅(qū)動(dòng)相應(yīng)得讀寫電路,選擇所需得存儲(chǔ)單元。

?驅(qū)動(dòng)器:

?I/O電路:控制選中單元得讀/寫和信號(hào)放大。

?片選與讀/寫控制電路:用于存儲(chǔ)器得擴(kuò)容。

?輸出驅(qū)動(dòng)電路:用于多片輸出得互連或與雙向數(shù)據(jù)總線得連接。18?M×N=16×4得存儲(chǔ)器得內(nèi)部結(jié)構(gòu)X譯碼器Y譯碼器1)譯碼結(jié)構(gòu)與存儲(chǔ)器中存儲(chǔ)單元得組織采用不同得譯碼結(jié)構(gòu),與存儲(chǔ)體當(dāng)中存儲(chǔ)單元得排列有關(guān)?回顧存儲(chǔ)單元得結(jié)構(gòu),其中有行、列地址,只有兩者都選中,該單元才會(huì)被選中。?單譯碼得存儲(chǔ)器組織:存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元譯

碼器?雙譯碼器得組織:X譯碼器Y譯碼器存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元201)雙譯碼結(jié)構(gòu)分析?什么就是雙譯碼?將來自CPU得地址線,分行和列分別送到兩個(gè)譯碼器進(jìn)行譯碼、?雙譯碼得優(yōu)點(diǎn)能夠大大減少譯碼輸出線以12位地址為例進(jìn)行說明:

單譯碼時(shí),12位地址譯碼輸出得狀態(tài)線為212=4096根雙譯碼時(shí),設(shè)分為X譯碼和Y譯碼,各輸入6位則譯碼輸出得狀態(tài)線總數(shù)為26+26=128根顯然,地址線得位數(shù)越多,采用雙譯碼得效果越明顯。對(duì)于小容量得存儲(chǔ)器,可以采用單譯碼;對(duì)于大容量得存儲(chǔ)器,則必須采用雙譯碼。212、動(dòng)態(tài)存儲(chǔ)器-DRAM1)構(gòu)成工作管:T1、T2門控管:T5、T6、T7、T82)信息得保存:分布電容C1、C2上得電荷3)寫操作:基本步驟同六管靜態(tài)單元A=1

對(duì)C2充電,T2導(dǎo)通B=0對(duì)C1放電,T1截止

寫1A=0

對(duì)C2放電,T1導(dǎo)通B=B對(duì)C1充電,T2截止

寫0224)讀操作(p112)通過T9T10給D線和D線上得分布電容CD、CD預(yù)充電、?讀出信息:

X有效

T5、T6通

Y有效T7、T8通

若原來寫入為1則CD

上得電荷經(jīng)T2泄漏

D=0而CD只向C2微充電D=1有D到D得電流,即讀出得為“1”

若原來寫入為0則CD上得電荷經(jīng)T1泄漏

D=0而CD只向C1微充電D=1有D到D得電流,即讀出得為“0”235)還需要什么狀態(tài)?

5)刷新操作

?刷新原理:對(duì)C1、C2充電只給字線

T5、T6導(dǎo)通CD對(duì)C2充電或CD對(duì)C1充電。即刷新就是按行進(jìn)行,因此,必須知道動(dòng)態(tài)存儲(chǔ)器得內(nèi)部行列結(jié)構(gòu)。一次刷新就是一次不完全得讀操作。刷新地址由刷新計(jì)數(shù)器給出。?需要刷新得原因:保存信息得電容C1、C2上得電荷維持得時(shí)間有限(一般2ms)。246)三種刷新方式(設(shè)刷新周期為2ms,存儲(chǔ)矩陣采用128×128結(jié)構(gòu),存儲(chǔ)體得讀/寫周期為0、5s

)?集中式刷新:將2ms得讀寫周期分成2000/0、5=4000個(gè)讀寫時(shí)間段。前面4000-128=3872個(gè)讀寫時(shí)間段用于讀/寫,后面128個(gè)讀寫時(shí)間段用于刷新,在此階段,不允許進(jìn)行讀寫操作,故稱為死時(shí)間、…

3872個(gè)讀寫周期

…128個(gè)刷新周期采用集中刷新得存儲(chǔ)器平均讀寫周期T=2ms/(4000–128)=0、5165s25?分散刷新將每一個(gè)存儲(chǔ)周期分成兩部分,前一部分為讀/寫時(shí)間段,后一部分為刷新時(shí)間段,對(duì)于本例得實(shí)際則就是存儲(chǔ)器得讀寫周期變成了1s,其中前0、5s為讀/寫時(shí)間,0、5s為刷新時(shí)間。…

2000個(gè)讀寫周期

T=1s26?異步刷新就是集中刷新和分散刷新得結(jié)合,將2ms分成128個(gè)時(shí)間段,每段得時(shí)間為2000/128=15、5

s,再將每段時(shí)間分成兩部分,其中前面得15s用于讀寫,最后得0、5s用于刷新?!?5.5s……15.5sT=2ms/(4000–128)=0、5165s27?三種刷新方式得比較集中刷新:用于高速存儲(chǔ)器中,但存在死時(shí)間分散刷新:雖然不存在死時(shí)間,但大大降低了存儲(chǔ)體得速度異步刷新:既不存在死時(shí)間,也保持了存儲(chǔ)體得高速特性7)關(guān)于動(dòng)態(tài)存儲(chǔ)器刷新得幾點(diǎn)說明:?不同材料及生產(chǎn)工藝得動(dòng)態(tài)存儲(chǔ)器得刷新周期不同(2ms、4ms、8ms等)。?刷新按行進(jìn)行,要知道存儲(chǔ)體得行、列結(jié)構(gòu),即行譯碼器輸出得線數(shù),當(dāng)存儲(chǔ)器就是由若干單體構(gòu)成時(shí),以單體得容量為計(jì)算得依據(jù),同時(shí)考慮雙譯碼得原則。如由256K得存儲(chǔ)體構(gòu)成2M得存儲(chǔ)器。行為29,若由512K得單體構(gòu)成,則行可以就是29或210,但要說明。?刷新地址就是由專門得器件

刷新地址計(jì)數(shù)器給出。284、3主存得組織及與CPU得連接存儲(chǔ)元(保存一位)行選列選如何由一位變?yōu)槎辔荒?構(gòu)成內(nèi)存得某一個(gè)存儲(chǔ)單元29行(列)線公用,構(gòu)成4位得一個(gè)存儲(chǔ)單元該單元與外界得連線有??30X譯碼器Y譯碼器存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元存儲(chǔ)單元譯

碼器單譯碼組織結(jié)構(gòu)雙譯碼組織結(jié)構(gòu)31?M×N=16×4得存儲(chǔ)器得內(nèi)部結(jié)構(gòu)X譯碼器Y譯碼器3233當(dāng)存儲(chǔ)芯片得容量和cpu所要求得容量不匹配時(shí),該怎么辦?比如芯片就是256K×8位得存儲(chǔ)體,而cpu地址線寬度就是21,數(shù)據(jù)線寬度就是32,其對(duì)應(yīng)得內(nèi)存就是2M×32位,怎么處理?要進(jìn)行容量得擴(kuò)展,即用小容量得存儲(chǔ)芯片去構(gòu)造大容量得存儲(chǔ)器,以滿足CPU得要求341、SRAM存儲(chǔ)器與CPU得連接及擴(kuò)展1)需要連接得線地址線:地址線得數(shù)量與CPU要訪問得主存空間有關(guān);數(shù)據(jù)線:數(shù)據(jù)線得數(shù)量與計(jì)算機(jī)字長(zhǎng)有關(guān);

對(duì)于RAM而言,控制線包括片選信號(hào)和讀/寫控制,而對(duì)于ROM而言則只有片選信號(hào)線。從上述連接線可檢查存儲(chǔ)擴(kuò)展就是否正確2)存儲(chǔ)器擴(kuò)展得種類

位擴(kuò)展:當(dāng)數(shù)據(jù)位不足時(shí)

字?jǐn)U展:當(dāng)空間不足時(shí)

字位同時(shí)擴(kuò)展:當(dāng)數(shù)據(jù)位和存儲(chǔ)體得空間均不足時(shí)使用4、3主存得組織及與CPU得連接

35362、位擴(kuò)展

僅進(jìn)行位擴(kuò)展時(shí),所需存儲(chǔ)芯片得數(shù)量為:L=存儲(chǔ)器得數(shù)據(jù)位/存儲(chǔ)芯片得數(shù)據(jù)位=8/2=4

當(dāng)存儲(chǔ)芯片得數(shù)據(jù)位小于CPU對(duì)數(shù)據(jù)位得要求時(shí),采用位擴(kuò)展

將所有存儲(chǔ)芯片得地址線、讀寫控制線并聯(lián)同時(shí)分別與CPU得地址線和讀寫控制線連接;

存儲(chǔ)芯片得數(shù)據(jù)線依次與CPU得數(shù)據(jù)線相連;所有芯片得片選控制線并聯(lián)接低電平。例4、21024*21024*82、字?jǐn)U展當(dāng)CPU與存儲(chǔ)芯片得數(shù)據(jù)位一致,而地址線寬度不同時(shí),需要進(jìn)行空間得擴(kuò)展即字?jǐn)U展。例4、3:用16K*8位得芯片,去構(gòu)造內(nèi)存64K*8,并要完成與CPU得對(duì)接,并求出每一個(gè)芯片在全局空間中得地址范圍。所需芯片數(shù)量:L=主存容量/存儲(chǔ)體容量

=(64K*8)/(16K*8)=4=2(CPU地址線數(shù)-存儲(chǔ)體地址線數(shù))

將CPU多余地址送片選譯碼輸入端、CPU每次只能選中一個(gè)存儲(chǔ)芯片中得某個(gè)單元、解:片選產(chǎn)生辦法:

線選法\全譯碼法\部分譯碼法39

不同存儲(chǔ)體得全局地址范圍體號(hào)

地址范圍16進(jìn)制值A(chǔ)15A14A13-

A000000,0000,0000,00000000H~03FFFH0011,1111,1111,111110100,0000,0000,000004000H~07FFFH0111,1111,1111,111121000,0000,0000,00008000H~0BFFFH1011,1111,1111,111131100,0000,0000,00000CFFFH~0FFFFH1111,1111,1111,1111引例用256K×32位得存儲(chǔ)體構(gòu)造2M×32位得存儲(chǔ)器,并完成與CPU得連接解:所需要得存儲(chǔ)體得片數(shù)為P=2×1024K256K=8片分析:訪問2M存儲(chǔ)空間需要地址線:21根256K得存儲(chǔ)體得地址線數(shù):18根多余3根送片選譯碼由于就是32位數(shù)據(jù),就是8得4倍,故使用A1A0來表示例1、用256K×8位得存儲(chǔ)體構(gòu)造2M×32位得存儲(chǔ)器,并完成與CPU得連接分析:1)本例與引例有何不同就是字位同時(shí)擴(kuò)展,(256K×32位V256K×8位)2)本例與引例有何聯(lián)系,這種聯(lián)系對(duì)解答本題有何啟示?最后存儲(chǔ)器得容量相同,都就是2M

啟示:如果先用256K×8位得存儲(chǔ)體構(gòu)造成256K×32位得存儲(chǔ)體則其余得解題方法同引例?所需要的存儲(chǔ)體的片數(shù)為P=2×1024K×32256K×8=32?先用4片256KX8位得存儲(chǔ)體構(gòu)成256KX32得存儲(chǔ)體再用引例中得方法即可,如下圖所示。本題也可以直接表示成如下圖所示得結(jié)構(gòu)。46例1某計(jì)算機(jī)得主存地址空間中,從地址0000H

-3FFFH

為ROM存儲(chǔ)區(qū)域,從4000H-5FFFH為保留地址區(qū)域,暫時(shí)不用,從6000H-FFFFH為RAM地址區(qū)域。RAM得控制信號(hào)為CS#和WE#,CPU得地址線為A15-A0,數(shù)據(jù)線為D7-D0,控制信號(hào)有R/W#和訪存請(qǐng)求MREQ#、如果ROM存儲(chǔ)器芯片采用8K×8得芯片,RAM存儲(chǔ)器芯片采用4K×8得芯片,試畫出存儲(chǔ)器與CPU得連接圖。解:地址空間分布分析:0000H

-3FFFH

(16K):ROM011111111111111–000000000000000=111111111111114000H-5FFFH(8K):保留區(qū)6000H-FFFFH(40K):RAM區(qū)(FFFFH-6000H=1001,1111,1111,1111=215+8K)?需要ROM得芯片數(shù)量為:16K×88K×8=2?需要RAM得芯片數(shù)量為:40K×84K×8=1047?如何選擇譯碼輸入?以大容量得為目標(biāo)(8k單體),此時(shí)送入譯碼器得輸入地址線得數(shù)量為:

16–13=3根共產(chǎn)生8個(gè)譯碼輸出線,每根譯碼輸出線選擇得內(nèi)存空間范圍就是:

64K/8=8K

每個(gè)片選譯碼線選擇8K得存儲(chǔ)空間

每個(gè)片選譯碼線選擇8K得存儲(chǔ)空間50如以小容量得為目標(biāo)(4K得單體)

此時(shí)送入譯碼器得輸入地址線得數(shù)量為:

16–12=4根共產(chǎn)生16個(gè)譯碼輸出線,每根譯碼輸出線選擇得內(nèi)存空間范圍就是:

64K/16=4K

顯然,為了留出8K得保留區(qū),必須預(yù)留出2根片選信號(hào)51以小容量得為目標(biāo),每個(gè)片選譯碼輸出選擇4K得存儲(chǔ)范圍例4CPU得地址總線共有A15–A0,雙向數(shù)據(jù)總線8根(D7–D0),控制總線中與主存有關(guān)得信號(hào)就是MREQ,R/W。主存地址空間分配如下:0–8191:為系統(tǒng)程序區(qū),由ROM組成8192-32767:為用戶程序區(qū),最后2K:地址空間為系統(tǒng)程序工作區(qū)。上述地址為十進(jìn)制,按字節(jié)編址。現(xiàn)有如下存儲(chǔ)器供選用:EPROM:8Kx8位(控制端僅有CS)SRAM:16Kx1、2Kx8、4Kx8、8Kx8設(shè)計(jì)該存儲(chǔ)器得,并與CPU相連。

解:先畫出主存地址空間分布圖和分析譯碼器得處理8K(EPROM)24K(SRAM)30K(空)2K(SRAM)選用得芯片:?EPROM:8Kx81片?SRAM:8Kx83片

2Kx81片移碼器得處理?64K內(nèi)存需要地址線:16根?8K得存儲(chǔ)體需要地址線:13根?譯碼器得輸入線:3根?每個(gè)輸出選擇8K?保留區(qū)和2K容量特殊畫圖分析

體號(hào)地址范圍16進(jìn)制值A(chǔ)15A14A13

A12~

A0ROM10000000000000000

0000H~01FFFH0001111111111111RAM1001000000000000002000H~03FFFH0011111111111111RAM2010000000000000004000H~05FFFH0101111111111111RAM3011000000000000006000H~07FFFH0111111111111111RAM4100000000000000008000H~09FFFH1001111111111111RAM51010000000000000A000H~BFFFH1011111111111111RAM61100000000000000C000H~DFFFH1101111111111111RAM71110000000000000E000H~FFFFH1111111111111111體號(hào)地址范圍16進(jìn)制值A(chǔ)15A14A13

A12A11A10~A0RAM71110000000000000E000H~E7FFH111111111111110100000000000E8FFH~0EFFFH111111111111111000000000000F000H~F7FFH111111111111111100000000000F800H~FFFFH11111111111可見,只有當(dāng)A12A11=11得時(shí),才能選中最后得2K原方案中,當(dāng)?shù)刂窞镋000H~E7FFH、E8FFH~0EFFFH和F000H~F7FFH也能選中RAM3,這與題意不相符合。因此,對(duì)RAM4得片選還要做修改584、4并行存儲(chǔ)器1、問題得提出

(1)CPU和主存速度上存在差異

(2)一個(gè)CPU周期內(nèi)需要多個(gè)存儲(chǔ)字2、幾種解決問題得方法

(1)主存采用更高速得材料,縮短讀寫時(shí)間;或增加存儲(chǔ)器字長(zhǎng)

(2)采用并行操作得雙端口存儲(chǔ)器

(3)在CPU和主存間插入高速緩沖存儲(chǔ)器(Cache)(4)在每個(gè)存儲(chǔ)周期中存取幾個(gè)字2、雙端口存儲(chǔ)器構(gòu)造及工作原理:

?具有相互獨(dú)立得兩組讀/寫控制電路,正常情況下各自獨(dú)立進(jìn)行讀/寫

?左右讀/寫不同單元時(shí)不發(fā)生沖突

?左右同時(shí)存取同一個(gè)單元時(shí),發(fā)生讀寫沖突、此時(shí),由判斷邏輯來延時(shí)一個(gè)讀寫控制器得工作并設(shè)該端口、BUSY=0.603、多體交叉存儲(chǔ)器(低位)1)多體交叉存儲(chǔ)器得結(jié)構(gòu)?由2n個(gè)容量相同存儲(chǔ)器得組成,各有自己得讀\寫線路、地址寄存器、數(shù)據(jù)寄存器;?各模塊得讀寫過程將重疊進(jìn)行,對(duì)于每個(gè)模塊而言,讀寫時(shí)間不變,但對(duì)CPU而言,在一個(gè)存儲(chǔ)周期內(nèi)連續(xù)訪問四個(gè)模塊;?用CPU得高位連接存儲(chǔ)芯片得地址;?就是一種并行存儲(chǔ)器結(jié)構(gòu)?對(duì)于m體低位交叉存儲(chǔ)器而言,連續(xù)讀m個(gè)字得時(shí)間:t1=T+(m1)不采用多體交叉時(shí)讀m個(gè)字得時(shí)間:t1=Tm

612)低位多體交叉方式下得數(shù)據(jù)特征?相鄰地址分布在不同存儲(chǔ)體中?同一存儲(chǔ)體中得地址不相鄰?四片得地址通項(xiàng)公式分別為:4i+0、4i+1、4i+2、4i+3?能在一個(gè)存儲(chǔ)周期內(nèi)存取多個(gè)字62例2設(shè)計(jì)算機(jī)字長(zhǎng)64位,存儲(chǔ)器容量為128MW,采用模8得存儲(chǔ)器交叉方式組織(低位)、存儲(chǔ)周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳輸周期

=50ns,計(jì)算存儲(chǔ)器最高帶寬。

解:交叉方式下,連續(xù)讀8個(gè)字所需要得時(shí)間t=T+7

=550ns則,交叉方式下存儲(chǔ)器帶寬

=64*8/t=64*8/550ns=9、31

108bps634、5高速緩沖存儲(chǔ)器1、程序訪問得局部性原理

時(shí)間局部性:針對(duì)同一個(gè)數(shù)據(jù)得多次訪問

空間局部性:針對(duì)一個(gè)數(shù)據(jù)塊中得不同數(shù)據(jù)例3、以下程序A和B中,哪一個(gè)對(duì)數(shù)組A[2048][2048]訪問得空間局部性更好?時(shí)間局部性呢?變量sum得空間局部性和時(shí)間局部性如何?對(duì)于指令來說,for循環(huán)體得空間局部性和時(shí)間局部性如何?64(1)數(shù)組A:訪問順序?yàn)锳[0][0],A[0][1],……,A[0][2047];與存放順序一致,故空間局部性好!但每個(gè)A[i][j]只被訪問一次,故時(shí)間局部性差!(2)變量sum:單個(gè)變量不考慮空間局部性;每次循環(huán)都要訪問sum,所以其時(shí)間局部性較好!(3)for循環(huán)體:循環(huán)體內(nèi)指令按序連續(xù)存放,所以空間局部性好!循環(huán)體被連續(xù)重復(fù)執(zhí)行2048x2048次,所以時(shí)間局部性好!65程序段B得時(shí)間局部性和空間局部性分析(1)變量sum:(同程序A)(2)for循環(huán)體:(同程序A)(3)數(shù)組A:訪問順序?yàn)锳[0][0]-A[2047][0];與存放順序不一致,每次跳過2048個(gè)單元,若主存與Cache之間交換信息得塊小于2KB,則沒有空間局部性!(每個(gè)數(shù)組變量只被訪問一次,沒有時(shí)間局部性,同程序A)662、Cache得組織及訪問Cache流程?CPU與Cache之間交換信息得基本單位就是字,而Cache與主存之間信息交換得單位就是塊。?Cache得一個(gè)塊包含若干個(gè)字。?CPU訪問主存時(shí),先根據(jù)該主存地址到Cache中查找,如果查找成功(命中),則直接從Cache中讀取,反之(不命中)CPU訪問主存,同時(shí)將該字所在得塊送入Cache,并在CAM中登記相關(guān)信息?相聯(lián)存儲(chǔ)器就是一種根據(jù)內(nèi)容訪問得存儲(chǔ)器?當(dāng)不命中時(shí),存在頁(yè)面調(diào)度得問題,常用得算法有LRU67

應(yīng)用于Cache中得主存地址格式

?塊內(nèi)偏移地址(塊內(nèi)地址)表示CPU所要訪問得單元在某塊內(nèi)得偏移值。?索引(Index)索引就是比主存塊地址粒度更細(xì)得地址,作為Cache存儲(chǔ)體得地址指示器,指出CPU訪問Cache存儲(chǔ)體得范圍。?標(biāo)記(Tgg)標(biāo)記也就是比主存塊地址粒度更細(xì)得地址,作為判斷CPU要訪問得內(nèi)容就是否在Cache中得依據(jù)。不同主存與Cache地址映射方法,對(duì)主存地址得不同劃分,這就是掌握Cache工作原理得關(guān)鍵。?主存塊地址就是CPU訪問主存單元地址按塊大小劃分后得到地址,用于標(biāo)識(shí)CPU所訪問得主存單元所在得主存塊號(hào)。68

Cache得訪問流程1)Cache命中得流程(1)從CPU送出得主存地址中畫分出記(Tag)、索引(Index)、塊內(nèi)地址;(2)按Index得值從Cache標(biāo)記存儲(chǔ)體特定單元讀出Tag,并與(1)中得Tag比較;(3)若比較結(jié)果相同(稱為命中),則形成Cache地址;(4)根據(jù)形成得Cache地址訪問Cache數(shù)據(jù)存儲(chǔ)體,Index部分?jǐn)?shù)據(jù)存儲(chǔ)體得范圍;(5)從Cache中讀出信息送CPU。4、cache得命中率

(145)在一個(gè)程序執(zhí)行期間,設(shè)Nc表示Cache完成存取得總次數(shù),Nm表示主存完成存取得總次數(shù),h定義為命中率,則有若tc表示命中時(shí)得Cache訪問時(shí)間,tm表示未命中時(shí)得主存訪問時(shí)間,1-h表示未命中率,則Cache/主存系統(tǒng)得平均訪問時(shí)間ta為:

ta=htc+(1-h)tm

(3、5)設(shè)r=tm/tc表示主存慢于Cache得倍率,e表示訪問效率,則有:為提高訪問效率,命中率h越接近1越好,r值以5—10為宜,不宜太大。命中率h與程序得行為、Cache得容量、組織方式、塊得大小有關(guān)。【例5】CPU執(zhí)行一段程序時(shí),cache完成存取得次數(shù)為1900次,主存完成存取得次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)得效率和平均訪問時(shí)間?!窘狻?/p>

命中率:

h=Nc/(Nc+Nm)=1900/(1900+100)=0、95主存存取時(shí)間與Cache存取時(shí)間比:

r=tm/tc=250ns/50ns=5

訪問效率:

e=1/(r+(1-r)h)=1/(5+(1-5)×0、95)=83、3%平均訪問時(shí)間:

ta=tc/e=50ns/0、833=60ns713、三種常見得Cache地址映射及地址變換方法(1)主存與Cache之間得映射方式?地址映射:將主存地址變換成Cache地址得方法?地址映射得作用:

CPU訪問主存時(shí),主存地址變換成Cache地址,從而查找Cache。?地址映射得實(shí)現(xiàn):硬件實(shí)現(xiàn),對(duì)軟件人員(包括程序員和系統(tǒng)程序員)透明?三種地址映射方法:全相聯(lián)、直接相聯(lián)、組相聯(lián)722)全相聯(lián)映射方式?主存分塊,Cache分行,包含相同數(shù)量得字?圖中主存分成256塊,Cache被分成8行。?算法:主存得一塊可映射到Cache得任意行?映射時(shí),主存得一個(gè)塊被拷貝到Cache數(shù)據(jù)存儲(chǔ)體得某一行,其中,主存塊地址被填寫到Cache得標(biāo)記部分(相聯(lián)存儲(chǔ)器)。?舉例:設(shè)每塊4個(gè)字,則主存得大小為1024個(gè)字,其中第61個(gè)字得主存地址為:

0000111101(塊號(hào)塊內(nèi)地址)則將填入Cache某行得標(biāo)記,該塊得4個(gè)字填入該行得Cache存儲(chǔ)體內(nèi)存73?檢索過程?舉例:

CPU要讀內(nèi)存地址為:0000111110則將前8位送入比較器,同時(shí)Cache所有行得標(biāo)記字段也同時(shí)送入該比較器,若某行命中,則選通內(nèi)存地址得剩余部分,并由她選擇Cache中相應(yīng)字,本例中選擇該塊內(nèi)得第2個(gè)字。若CPU訪問內(nèi)存地址為:

0000111001

則不命中74?全相聯(lián)映射得特點(diǎn)

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

Cache得利用率高,只要Cache中還有空行,就不需進(jìn)行頁(yè)面調(diào)度。(b)缺點(diǎn):比較電路相對(duì)復(fù)雜?使用場(chǎng)合:適合小容量得Cache中使用753)直接映射?主存按Cache容量分區(qū),區(qū)內(nèi)分塊;Cache分行,塊和行容量容量相同?對(duì)于如圖所示得情況,分區(qū)數(shù)為32?算法:i=jmod8(i就是Cache行號(hào),j就是主存塊號(hào))就是一種多對(duì)一得映射?映射時(shí),數(shù)據(jù)所在主存區(qū)號(hào)被填寫到Cache某行得標(biāo)記部分,內(nèi)容存放到Cache相應(yīng)行得存儲(chǔ)體中。76?舉例:設(shè)每塊4個(gè)字,則主存得大小為1024個(gè)字,其中第61個(gè)字得主存地址為:

0000111101(在1區(qū)、7塊中)則將00001填入Cache得第7行得標(biāo)記部分,該塊得4個(gè)字填入該行得數(shù)據(jù)存儲(chǔ)體?直接映射得檢索?舉例:CPU要讀內(nèi)存地址為:

0000111111則將前5位00001與Cache得第7行標(biāo)記得內(nèi)容送入比較器,若命中,選擇Cache第7行內(nèi)得第3個(gè)字。?若CPU讀內(nèi)存地址:

0001011101她就是第93個(gè)字,B23塊。此次訪問將不會(huì)命中,將發(fā)生頁(yè)面調(diào)度。783)組相聯(lián)映射?主存分塊;Cache分行,兩者容量相同。Cache分組,每組中得行數(shù)相同,主存分組,每組中得塊得數(shù)量同Cache得組數(shù)量(每組中包含k行稱為k路組相聯(lián))?對(duì)于如圖所示得情況,主存分組數(shù)為64(=256/4),故標(biāo)記需要6位?算法:i=jmod4(i就是Cache組號(hào),j就是主存塊號(hào))就是一種多對(duì)一得映射,但就是j塊映射到Cachei組中得哪一行則采用全相聯(lián)映射實(shí)現(xiàn)?映射時(shí),主存塊所在得組號(hào)被填入Cache特定組、任意行得標(biāo)記中,數(shù)據(jù)存放到相應(yīng)行得Cache存儲(chǔ)體中。79?舉例:設(shè)每塊4個(gè)字,則主存得大小為1024個(gè)字,其中第61個(gè)字得主存地址為:

0000111101(主存3組中第3塊、即B15塊中)則將000011填入Cache得第3組某行得標(biāo)記部分,該塊得4個(gè)字填入該行得Cache存儲(chǔ)體又如第93個(gè)字得主存地址為:0001011101

也將分配到Cache第3組某行80?組相聯(lián)映射得檢索?舉例:CPU要讀內(nèi)存地址為:

0000111111則將前6位000011與Cache得第3組中所有行標(biāo)記得內(nèi)容送入比較器,若命中,選擇Cache第3組中命中行內(nèi)得第3個(gè)字。?若CPU要訪問得地址為:

0000111011則不命中81?飯碗??現(xiàn)實(shí)生活中得Cache!?使用飯碗可以解決什么問題?824、替換算法(1)LFU算法

最不經(jīng)常使用算法(LeastFrequentlyUsed

)

該算法將一段時(shí)間內(nèi)使用次數(shù)最少得行調(diào)出。故每行設(shè)置一個(gè)計(jì)數(shù)器,新調(diào)入得行計(jì)數(shù)值為0,每被訪問一次,計(jì)數(shù)值加1,當(dāng)需要發(fā)生頁(yè)面調(diào)度時(shí),比較各行計(jì)數(shù)器得值,將最小者調(diào)出。83

112323452111

11201120301121301121311131401121315010

84(2)LRU最近最少用算法(Leastrecentlyused)

該算法將一段時(shí)間內(nèi)最長(zhǎng)時(shí)間沒有被使用得行調(diào)出。故每行設(shè)置一個(gè)計(jì)時(shí)器,新調(diào)入得和命中行計(jì)數(shù)值為0,同時(shí)其她各行得計(jì)數(shù)器值加1,當(dāng)需要發(fā)生頁(yè)面調(diào)度時(shí),比較各行計(jì)數(shù)器得值,將最大者調(diào)出。

1123234510

1120122130132031142130152231405023324110

86?如果出現(xiàn)了下列情況(LRU)11

2010

213012112010223113402332504110335142112052431221533012345123?上述現(xiàn)象稱為抖動(dòng),出現(xiàn)得原因就是用戶得程序局部性不好在這種情況下,Cache得作用得不到發(fā)揮。?要充分發(fā)揮計(jì)算機(jī)硬件得高速特性,要求用戶得程序滿足一定得要求!以便實(shí)現(xiàn)硬件與軟件得完美結(jié)合!87(3)比較三種映射方法中得LRU?全相聯(lián)每次改變和被比較得就是Cache所有行得計(jì)數(shù)值?直接相聯(lián)不用LRU,只要有沖突就直接替換原Cache行中得頁(yè)面,因?yàn)榫褪嵌鄬?duì)一得關(guān)系?組相聯(lián)頁(yè)面調(diào)入時(shí),只就是相關(guān)組內(nèi)得計(jì)數(shù)器得計(jì)數(shù)值會(huì)發(fā)生變化,且比較時(shí)也就是比較相關(guān)組內(nèi)所有Cache行得計(jì)數(shù)器得值、881)幾個(gè)相關(guān)得概念

Cache臟位或修改位(Dirtybit)表示Cache中得數(shù)據(jù)就是否被修改過,當(dāng)Cache中某塊數(shù)據(jù)被CPU修改(寫)時(shí)將該位置1,一般用于Cache得寫回策略,即表示Cache中得數(shù)據(jù)被更新,而主存中得數(shù)據(jù)未被更新。

Cache有效位(Validbit)

用來表示就是否有不經(jīng)過Cache得主存數(shù)據(jù)更新(如DMA操作),當(dāng)有這種主存數(shù)據(jù)更新時(shí),有效位修改成0,表示主存得數(shù)據(jù)被更新,而Cache中得數(shù)據(jù)無(wú)效、5、CACHE得一致性問題892)Cache得結(jié)構(gòu)TagDataValid(1)Dirty(1)90?問題得提出:

正常情況下,Cache就是主存得副本,但經(jīng)過一段時(shí)間后,可能會(huì)出現(xiàn)兩者內(nèi)容不一致得情況,導(dǎo)致這種不一致得情況有:CPU將Cache某單元得內(nèi)容修改成了X’,而主存相關(guān)單元得內(nèi)容還就是X,當(dāng)外設(shè)讀取X對(duì)應(yīng)單元得數(shù)值時(shí),就會(huì)發(fā)生不一致錯(cuò)誤。3)Cache得一致性主存cacheCPUX’XI/O(1)情況191?解決問題得方法(a)寫直達(dá)法(WT-Writethrough):

CPU在執(zhí)行寫操作時(shí),必須把數(shù)據(jù)同時(shí)寫入Cache和主存。(b)寫回法(WB-WriteBack):CPU寫Cache命中時(shí),數(shù)據(jù)只寫向Cache,不寫主存,同時(shí)修改Cache中數(shù)據(jù)得臟位或修改位,供其她讀內(nèi)存得設(shè)備參考。主存cacheCPUX’XI/O92主存cacheCPUXX‘I/O外設(shè)將主存某單元得內(nèi)容修改成了X’,而主存該單元得內(nèi)容在修改前被讀入到Cache,還就是保存原來得X,當(dāng)CPU再次讀取該值時(shí),就會(huì)發(fā)生不一致錯(cuò)誤。(2)情況2?解決問題得方法當(dāng)外設(shè)修改主存單元內(nèi)容時(shí),將Cache對(duì)應(yīng)位置得有效標(biāo)致位置無(wú)效即可、93主存cacheCPU1XX’或X(3)情況3CPU2X’……、、94例3假定主存和Cache之間采用直接映射方式,塊大小為16B。Cache得數(shù)據(jù)區(qū)容量為64KB,主存地址為32位,按字節(jié)編址,數(shù)據(jù)字長(zhǎng)32位。要求:說明主存地址如何劃分,訪存過程得硬件實(shí)現(xiàn),并計(jì)算Cache行數(shù)和容量?(1)計(jì)算機(jī)字長(zhǎng)32位,每塊大小為16B,按字節(jié)編址。

則一塊包含4個(gè)字,故需要2位表示選擇一塊內(nèi)得哪個(gè)字,而一個(gè)字32位又包含4個(gè)字節(jié),故用2位表示一個(gè)32位字中得哪個(gè)字節(jié)。

(也可直接理解成需要4位來表示選擇哪個(gè)字節(jié))

Cache分成得行數(shù)為:

64KB/16B=4096塊,則用于選擇Cache行得索引字段位數(shù)為12位

則標(biāo)記字段得位數(shù)為(表示主存得不同分區(qū))

32-12-(2+2)=16位硬件訪問過程如下圖所示9596(2)計(jì)算Cache得容量4096

(1+16+128)=580Kbits974、6虛擬存儲(chǔ)器1、虛擬存儲(chǔ)器得基本概念1)問題得提出如果目標(biāo)程序比主存空間大,程序能運(yùn)行嗎?2)虛擬存儲(chǔ)器虛擬存儲(chǔ)器就是一個(gè)大容量存儲(chǔ)器得邏輯模型,該模型描述得存儲(chǔ)器得大小取決于輔存空間。在存儲(chǔ)體系中處于主存輔存層次。3)虛擬存儲(chǔ)器得優(yōu)點(diǎn)

?提供更為有效得管理存儲(chǔ)設(shè)備得方法

?主存空間得大小對(duì)程序員透明,用戶可以使用比主存空間大得程序地址空間984)虛擬地址與物理地址?虛擬地址:就是程序得邏輯地址,由編譯程序生成,所對(duì)應(yīng)得虛擬地址空間得大小受到輔存容量得限制。?物理地址:主存得地址,其空間受CPU地址線數(shù)得限制?當(dāng)程序由輔存調(diào)入到主存時(shí)將發(fā)生虛擬地址到物理地址得轉(zhuǎn)換。

5)虛擬存儲(chǔ)器和高速緩沖存儲(chǔ)器得比較?使用得目得不同:Cache就是為了緩解快速得CPU與慢速得主存之間得速度差異。虛擬存儲(chǔ)器雖然也大大地減少了慢速輔存對(duì)CPU性能得影響,但其主要功能就是解決主存容量不足得問題。?交換得信息單位不同:Cache--主存之間信息交換得基本單位就是定長(zhǎng)得塊;而主存輔存間交換信息得基本單位隨虛擬存儲(chǔ)器類型得不同而不同,如有段、頁(yè)、段頁(yè)CPU

cachecache主存輔存cache100

Cache—主存在命中失效時(shí),一方面信息從主存調(diào)入Cache,同時(shí)通過CPU和主存之間得專用通道調(diào)入CPU;而對(duì)于虛擬存儲(chǔ)器而言,由于CPU和輔存之間不存在專用通道,所以,只有當(dāng)信息調(diào)入主存后,CPU才能通過主存來讀信息。CPU

cachecache主存輔存cache?命中失效得處理方式不同:101高速緩沖存儲(chǔ)器得地址映射和替換策略全由硬件實(shí)現(xiàn),對(duì)程序員和系統(tǒng)程序員透明。虛擬存儲(chǔ)系統(tǒng)得地址映射和和替換由操作系統(tǒng)加部分硬件實(shí)現(xiàn),其算法對(duì)程序員透明,但對(duì)系統(tǒng)程序員不透明。?透明程度不同CPU

cachecache主存輔存cache1026)三種類型得虛擬存儲(chǔ)器

段式:

按程序得自然段作為主存和輔存之間交換得信息單位。

使用段表來登記段得調(diào)入情況,段表就是主存得一部分。

優(yōu)點(diǎn):保護(hù)了用戶程序自身得相對(duì)獨(dú)立性。缺點(diǎn):管理復(fù)雜,且容易造成主存得碎片103

頁(yè)式

將程序分成固定長(zhǎng)度得頁(yè)作為主存和輔存之間交換得信息單位。

使用頁(yè)表來登記頁(yè)得調(diào)入情況,頁(yè)表就是主存得一部分。

優(yōu)點(diǎn):管理方便,主存空間浪費(fèi)少缺點(diǎn):破壞了原程序自身得相對(duì)獨(dú)立性。

段頁(yè)式

對(duì)程序段分成固定長(zhǎng)度得頁(yè),頁(yè)作為主存和輔存之間交換得信息單位。但共享和保護(hù)按段進(jìn)行。

使用段表和頁(yè)表來登記段和頁(yè)得調(diào)入情況。

優(yōu)點(diǎn):管理方便,主存空間浪費(fèi)少,保持原程序自身得相對(duì)獨(dú)立性。1052、頁(yè)式虛擬存儲(chǔ)器(1)基本概念頁(yè)表記錄虛擬空間和物理空間的映射關(guān)系106(2)頁(yè)式虛擬存儲(chǔ)邏輯地址劃分虛擬頁(yè)號(hào)頁(yè)偏移量虛擬地址與物理頁(yè)大小相關(guān)與頁(yè)表項(xiàng)數(shù)相關(guān)

若主存頁(yè)大小為4K,虛存大小為4GB,則:頁(yè)內(nèi)偏移量為:12位虛擬頁(yè)號(hào)為:32-12=20位,對(duì)應(yīng)得頁(yè)表有1024*1024項(xiàng)頁(yè)表得位置:主存內(nèi)頁(yè)表就是頁(yè)表項(xiàng)PTE(PageTableEntry)得集合

107(3)頁(yè)表得結(jié)構(gòu)及虛擬存儲(chǔ)器訪問流程01頁(yè)表寄存器虛擬頁(yè)號(hào)頁(yè)偏移量物理頁(yè)號(hào)頁(yè)偏移量訪問主存典型頁(yè)表中有裝入位、修改)位、替換控制位、訪問權(quán)限位、禁止緩存位、實(shí)頁(yè)號(hào)、108

應(yīng)用舉例在下圖所示得虛擬頁(yè)式存儲(chǔ)頁(yè)表中,假定頁(yè)面大小為1024B,求對(duì)應(yīng)于虛擬地址2050和3080得主存地址。(最大物理空間為64KB)10000101000110100011100001000123頁(yè)表(2050)10=2048+2=(100000000010)2虛頁(yè)號(hào)為2,查頁(yè)表可得到物理頁(yè)號(hào)為000111,則對(duì)應(yīng)得物理地址為:0001110000000010虛存3080號(hào)單元對(duì)應(yīng)得物理地址為:0001000000001000

1091:處理器生成一個(gè)虛擬地址,并把她傳送給MMU(存儲(chǔ)管理單元);2:MMU生成頁(yè)表項(xiàng)地址PTEA,查找頁(yè)表(存在于高速緩存/主存中),以獲得頁(yè)表項(xiàng)PTE;3:向MMU返回PTE;4:MMU利用返回PTE中得PPN(物理頁(yè)號(hào))構(gòu)造物理地址,并利用該物理地址訪問高速緩存/主存;5:CPU從高速緩存/主存讀取所請(qǐng)求得數(shù)據(jù)。(4)頁(yè)面命中和缺頁(yè)得操作流程

1101:處理器生成一個(gè)虛擬地址,并把她傳送給MMU;2:MMU生成頁(yè)表項(xiàng)地址PTEA,查找頁(yè)表,獲得頁(yè)表項(xiàng)PTE;3:向MMU返回PTE;4:PTE中有效位為零(無(wú)效),MMU觸發(fā)缺頁(yè)異常,CPU調(diào)用缺頁(yè)異常處理程序;5:如果

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論