存儲系統(tǒng)結(jié)構(gòu)_第1頁
存儲系統(tǒng)結(jié)構(gòu)_第2頁
存儲系統(tǒng)結(jié)構(gòu)_第3頁
存儲系統(tǒng)結(jié)構(gòu)_第4頁
存儲系統(tǒng)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩131頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

存儲系統(tǒng)結(jié)構(gòu)第1頁,共136頁,2023年,2月20日,星期一3.1存儲器概述

3.1.1存儲器分類

存儲器是計算機(jī)系統(tǒng)中的記憶設(shè)備,用來存放程序和數(shù)據(jù)。構(gòu)成存儲器的存儲介質(zhì),目前主要采用半導(dǎo)體器件和磁性材料。存儲器中最小的存儲單位就是一個雙穩(wěn)態(tài)半導(dǎo)體電路或一個CMOS晶體管或磁性材料的存儲元,它可存儲一個二進(jìn)制代碼。由若干個存儲元組成一個存儲單元,然后再由許多存儲單元組成一個存儲器。根據(jù)存儲材料的性能及使用方法不同,存儲器有各種不同的分類方法:第2頁,共136頁,2023年,2月20日,星期一★按存儲介質(zhì)分

半導(dǎo)體存儲器:用半導(dǎo)體器件組成的存儲器。磁表面存儲器:用磁性材料做成的存儲器?!锇创鎯Ψ绞椒?/p>

隨機(jī)存儲器:任何存儲單元的內(nèi)容都能被隨機(jī)存取,且存取時間和存儲單元的物理位置無關(guān)。

順序存儲器:只能按某種順序來存取,存取時間和存儲單元的物理位置有關(guān)。第3頁,共136頁,2023年,2月20日,星期一★按存儲器的讀寫功能分

只讀存儲器(ROM):存儲的內(nèi)容是固定不變的,只能讀出而不能寫入的半導(dǎo)體存儲器。

隨機(jī)讀寫存儲器(RAM):既能讀出又能寫入的半導(dǎo)體存儲器?!锇葱畔⒌目杀4嫘苑?/p>

非永久記憶的存儲器:斷電后信息即消失的存儲器。永久記憶性存儲器:斷電后仍能保存信息的存儲器?!锇丛谟嬎銠C(jī)系統(tǒng)中的作用分

根據(jù)存儲器在計算機(jī)系統(tǒng)中所起的作用,可分為主存儲器、輔助存儲器、高速緩沖存儲器、控制存儲器等。第4頁,共136頁,2023年,2月20日,星期一3.1.2存儲器的分級結(jié)構(gòu)為了解決對存儲器要求容量大,速度快,成本低三者之間的矛盾,目前通常采用多級存儲器體系結(jié)構(gòu),即使用高速緩沖存儲器、主存儲器和外存儲器。名稱簡稱用途特點(diǎn)高速緩沖存儲器Cache高速存取指令和數(shù)據(jù)存取速度快,但存儲容量小主存儲器主存存放計算機(jī)運(yùn)行期間的大量程序和數(shù)據(jù)存取速度較快,存儲容量不大外存儲器外存存放系統(tǒng)程序和大型數(shù)據(jù)文件及數(shù)據(jù)庫存儲容量大,位成本低第5頁,共136頁,2023年,2月20日,星期一

cache主存磁盤cache磁盤磁帶光盤圖3.1存儲器系統(tǒng)的分級結(jié)構(gòu)CPU內(nèi)部寄存器外存儲器主存儲器高速緩沖存儲器第6頁,共136頁,2023年,2月20日,星期一3.1.3主存儲器的技術(shù)指標(biāo)主存儲器的性能指標(biāo)主要是:

?存儲容量

?存取時間

?存儲周期

?存儲器帶寬

字存儲單元即存放一個機(jī)器字的存儲單元,相應(yīng)的地址稱為字地址。一個機(jī)器字可以包含數(shù)個字節(jié),所以一個存儲單元也可包含數(shù)個能夠單獨(dú)編址的字節(jié)地址。下面列出主存儲器的主要幾項技術(shù)指標(biāo):第7頁,共136頁,2023年,2月20日,星期一指標(biāo)含義表現(xiàn)單位存儲容量在一個存儲器中可以容納的存儲單元總數(shù)存儲空間的大小字?jǐn)?shù),字節(jié)數(shù)存取時間啟動到完成一次存儲器操作所經(jīng)歷的時間主存的速度ns存儲周期連續(xù)啟動兩次操作所需間隔的最小時間主存的速度ns存儲器帶寬單位時間里存儲器所存取的信息量,數(shù)據(jù)傳輸速率技術(shù)指標(biāo)

位/秒,字節(jié)/秒表3.2主存儲器的主要幾項技術(shù)指標(biāo)第8頁,共136頁,2023年,2月20日,星期一3.2隨機(jī)讀寫存儲器

3.2.1SRAM存儲器

1.基本存儲元

基本存儲元是組成存儲器的基礎(chǔ)和核心,它用來存儲一位二進(jìn)制信息0或1。下圖一個是六管SRAM存儲元的電路結(jié)構(gòu)示意圖。它是由兩個CMOS反相器交叉耦合而成的觸發(fā)器,一個存儲元存儲一位二進(jìn)制代碼。這種電路有兩個穩(wěn)定的狀態(tài),并且A,B兩點(diǎn)的電位總是互為相反的,因此它能表示一位二進(jìn)制的1和0。下面我們來分析說明該存儲元的讀寫操作實現(xiàn)過程。第9頁,共136頁,2023年,2月20日,星期一第10頁,共136頁,2023年,2月20日,星期一2.SRAM存儲器的組成圖示3.3為SRAM存儲器的結(jié)構(gòu)框圖。

第11頁,共136頁,2023年,2月20日,星期一其內(nèi)部組成結(jié)構(gòu)是:

存儲體:存儲單元的集合,通常用X選擇線(行線)和Y選擇線(列線)的交叉來選擇所需要的單元。

地址譯碼器:將用二進(jìn)制代碼表示的地址轉(zhuǎn)換成輸出端的高電位,用來驅(qū)動相應(yīng)的讀寫電路,以便選擇所要訪問的存儲單元。地址譯碼有兩種方式。

單譯碼:適用于小容量存儲器,一個地址譯碼器雙譯碼:適用于大容量存儲器,X向和Y向兩個譯碼器。第12頁,共136頁,2023年,2月20日,星期一圖示說明了一個采用雙譯碼結(jié)構(gòu)的存儲單元矩陣的譯碼過程第13頁,共136頁,2023年,2月20日,星期一驅(qū)動器:雙譯碼結(jié)構(gòu)中,在譯碼器輸出后加驅(qū)動器,驅(qū)動掛在各條X方向選擇線上的所有存儲元電路。

I/O電路:處于數(shù)據(jù)總線和被選用的單元之間,控制被選中的單元讀出或?qū)懭?,放大信息?/p>

片選:在地址選擇時,首先要選片,只有當(dāng)片選信號有效時,此片所連的地址線才有效。

輸出驅(qū)動電路:為了擴(kuò)展存儲器的容量,常需要將幾個芯片的數(shù)據(jù)線并聯(lián)使用;另外存儲器的讀出數(shù)據(jù)或?qū)懭霐?shù)據(jù)都放在雙向的數(shù)據(jù)總線上。這就用到三態(tài)輸出緩沖器。第14頁,共136頁,2023年,2月20日,星期一3.SRAM存儲器芯片實例

在了解了SRAM的內(nèi)部組成結(jié)構(gòu)后,下面我們通過實際中的存儲器芯片來加以具體說明。下圖是2114存儲器芯片(1K×4)的邏輯結(jié)構(gòu)方框圖。

注意:由于讀操作與寫操作是分時進(jìn)行的,讀時不寫,寫時不讀,因此,輸入三態(tài)門與輸出三態(tài)門是互鎖的,數(shù)據(jù)總線上的信息不致于造成混亂。第15頁,共136頁,2023年,2月20日,星期一第16頁,共136頁,2023年,2月20日,星期一4.存儲器與CPU連接

CPU對存儲器進(jìn)行讀/寫操作,首先由地址總線給出地址信號,然后要發(fā)出讀操作或?qū)懖僮鞯目刂菩盘?,最后在?shù)據(jù)總線上進(jìn)行信息交流,要完成地址線的連接、數(shù)據(jù)線的連接和控制線的連接。存儲器芯片的容量是有限的,為了滿足實際存儲器的容量要求,需要對存儲器進(jìn)行擴(kuò)展。主要方法有:★位擴(kuò)展法★字?jǐn)U展法★字位同時擴(kuò)展法第17頁,共136頁,2023年,2月20日,星期一★位擴(kuò)展法:只加大字長,而存儲器的字?jǐn)?shù)與存儲器芯片字?jǐn)?shù)一致,對片子沒有選片要求使用。下圖為8K×1的RAM存儲器芯片,組成8K×8位的存儲器連接結(jié)構(gòu)圖。第18頁,共136頁,2023年,2月20日,星期一第19頁,共136頁,2023年,2月20日,星期一★字?jǐn)U展法:

僅在字向擴(kuò)充,而位數(shù)不變。需由片選信號來區(qū)分各片地址。下圖是用16K×8位的芯片采用字?jǐn)U展法組成64K×8位的存儲器存儲器連接結(jié)構(gòu)圖?!镒治煌瑫r擴(kuò)展法:一個存儲器的容量假定為M×N位,若使用L×k位的芯片(L<M,k<N),需要在字向和位向同時進(jìn)行擴(kuò)展。此時共需要(M/L×(N/k)個存儲器芯片。第20頁,共136頁,2023年,2月20日,星期一第21頁,共136頁,2023年,2月20日,星期一5.存儲器的讀、寫周期

在與CPU連接時,CPU的控制信號與存儲器的讀、寫周期之間的配合問題是非常重要的。

讀周期:讀周期與讀出時間是兩個不同的概念。讀出時間是從給出有效地址到外部數(shù)據(jù)總線上穩(wěn)定地出現(xiàn)所讀出的數(shù)據(jù)信息所經(jīng)歷的時間。讀周期時間則是存儲片進(jìn)行兩次連續(xù)讀操作時所必須間隔的時間,它總是大于或等于讀出時間。

寫周期:要實現(xiàn)寫操作,要求片選CS和寫命令WE信號都為低,并且CS信號與WE信號相“與”的寬度至少應(yīng)為tW。第22頁,共136頁,2023年,2月20日,星期一圖3.82114的讀寫周期時序圖

第23頁,共136頁,2023年,2月20日,星期一3.2.2DRAM存儲器

1.四管動態(tài)存儲元

四管的動態(tài)存儲電路是將六管靜態(tài)存儲元電路中的負(fù)載管T3,T4去掉而成的。它和六管靜態(tài)存儲元電路的區(qū)別:寫操作:寫數(shù)據(jù)靠T1,T2管柵極電容的存儲作用,在一定時間內(nèi)可保留所寫入的信息。

讀操作:先給出預(yù)充信號,使兩個預(yù)沖電容達(dá)到電源電壓。字選擇線使T5,T6管導(dǎo)通時,存儲的信息通過A,B端向位線輸出。

刷新操作:為防止存儲的信息電荷泄漏而丟失信息,由外界按一定規(guī)律不斷給柵極進(jìn)行充電,補(bǔ)足柵極的信息電荷。第24頁,共136頁,2023年,2月20日,星期一第25頁,共136頁,2023年,2月20日,星期一2.單管動態(tài)存儲元

單管動態(tài)存儲元電路由一個管子T1和一個電容C構(gòu)成。

寫入:字選擇線為“1”,T1管導(dǎo)通,寫入信息由位線(數(shù)據(jù)線)存入電容C中;

讀出:字選擇線為“1”,存儲在電容C上的電荷,通過T1輸出到數(shù)據(jù)線上,通過讀出放大器即可得到存儲信息。第26頁,共136頁,2023年,2月20日,星期一名稱優(yōu)點(diǎn)缺點(diǎn)四管存儲元電路外圍電路比較簡單,刷新時不需要另加外部邏輯管子多,占用的芯片面積大單管存儲元電路元件數(shù)量少,集成度高需要有高鑒別能力的讀出放大器配合工作,外圍電路比較復(fù)雜單管存儲元電路和四管存儲元電路對比第27頁,共136頁,2023年,2月20日,星期一3.DRAM存儲芯片實例DRAM存儲器芯片的結(jié)構(gòu)大體與SRAM存儲器芯片相似,由存儲體與外圍電路構(gòu)成。但它集成度要高,外圍電路更復(fù)雜。下圖是16K×1位的DRAM存儲器2116芯片的引腳圖和內(nèi)部邏輯結(jié)構(gòu)示意圖和其讀寫時序圖。第28頁,共136頁,2023年,2月20日,星期一第29頁,共136頁,2023年,2月20日,星期一圖3.1116K*1位DRAM芯片第30頁,共136頁,2023年,2月20日,星期一第31頁,共136頁,2023年,2月20日,星期一第32頁,共136頁,2023年,2月20日,星期一4.DRAM的刷新

動態(tài)MOS存儲器采用“讀出”方式進(jìn)行刷新。從上一次對整個存儲器刷新結(jié)束到下一次對整個存儲器全部刷新一遍為止,這一段時間間隔叫刷新周期。常用的刷新方式有三種:集中式分散式異步式

第33頁,共136頁,2023年,2月20日,星期一集中式刷新:在整個刷新間隔內(nèi),前一段時間重復(fù)進(jìn)行讀/寫周期或維持周期,等到需要進(jìn)行刷新操作時,便暫停讀/寫或維持周期,而逐行刷新整個存儲器,它適用于高速存儲器。下圖為刷新方式圖。

分散式刷新:把一個存儲系統(tǒng)周期tc分為兩半,周期前半段時間tm用來讀/寫操作或維持信息,周期后半段時間tr作為刷新操作時間。這樣,每經(jīng)過128個系統(tǒng)周期時間,整個存儲器便全部刷新一遍。異步式刷新:是前兩種方式的結(jié)合。即對每一行在2ms之內(nèi)相隔平均間隔刷新一次。第34頁,共136頁,2023年,2月20日,星期一圖3.14(a)集中刷新方式第35頁,共136頁,2023年,2月20日,星期一圖3.14(b)分散刷新方式第36頁,共136頁,2023年,2月20日,星期一5.DRAM存儲器控制電路

DRAM存儲器的刷新需要有硬件電路的支持,包括刷新計數(shù)器、刷新/訪存裁決、刷新控制邏輯等。這些控制線路形成DRAM控制器,它將CPU的信號變換成適合DRAM片子的信號。

(1)地址多路開關(guān):刷新時需要提供刷新地址,由多路開關(guān)進(jìn)行選擇。(2)刷新定時器:定時電路用來提供刷新請求。

(3)刷新地址計數(shù)器:只用RAS信號的刷新操作,需要提供刷新地址計數(shù)器。

(4)仲裁電路:對同時產(chǎn)生的來自CPU的訪問存儲器的請求和來自刷新定時器的刷新請求的優(yōu)先權(quán)進(jìn)行裁定。

(5)定時發(fā)生器:提供行地址選通信號RAS、列地址選通信號CAS和寫信號WE.第37頁,共136頁,2023年,2月20日,星期一第38頁,共136頁,2023年,2月20日,星期一3.2.3主存儲器組成實例本節(jié)以DRAM控制器W4006AF為例,說明80386中主存儲器的構(gòu)成方法。下面是采用W4006AF構(gòu)成的80386主存儲器簡圖,具體框圖參看教材:P87頁(1)W4006AF的外特性

可以控制兩個存儲體交叉訪問;

可以對256KB—16MB的DRAM片子進(jìn)行訪問;

最多可控制128個DRAM片子;

采用CAS在RAS之前的刷新方式。第39頁,共136頁,2023年,2月20日,星期一圖3.17采用W4006AF構(gòu)成的80386主存儲器第40頁,共136頁,2023年,2月20日,星期一(2)主存儲器組成

上圖右半部所示為80386主存儲器的基本構(gòu)成,有4個存儲模塊,每個模塊存儲容量為1M×32位。在用W4006AF控制器構(gòu)成存儲器時,幾乎不需要外加電路,直接把W4006AF同CPU和DRAM雙方進(jìn)行連接即可。

要對主存容量進(jìn)行擴(kuò)充,只需擴(kuò)充DRAM芯片數(shù)量或更換存儲容量更大的DRAM芯片即可。第41頁,共136頁,2023年,2月20日,星期一3.2.4高性能的主存儲器

1.EDRAM芯片

EDRAM芯片又稱增強(qiáng)型DRAM芯片,它是在DRAM芯片上集成了一個SRAM實現(xiàn)的小容量高速緩沖存儲器,從而使DRAM芯片的性能得到顯著改進(jìn)。以SRAM保存一行內(nèi)容的辦法,對成塊傳送非常有利。如果連續(xù)的地址高11位相同,意味著屬于同一行地址,那么連續(xù)變動的9位列地址就會使SRAM中相應(yīng)位組連續(xù)讀出,這稱為猝發(fā)式讀取。

EDRAM的這種結(jié)構(gòu)還帶來另外兩個優(yōu)點(diǎn):●在SRAM讀出期間可同時對DRAM陣列進(jìn)行刷新?!裥酒瑑?nèi)的數(shù)據(jù)輸出路徑與輸入路徑是分開的,允許在寫操作完成的同時來啟動同一行的讀操作。第42頁,共136頁,2023年,2月20日,星期一第43頁,共136頁,2023年,2月20日,星期一2.EDRAM內(nèi)存條一片EDRAM的容量為1M×4位,8片這樣的芯片可組成1M×32位的存儲模塊。8個芯片共用片選信號Sel、行選通信號RAS、刷新信號Ref和地址輸入信號A0—A10。當(dāng)某模塊被選中,此模塊的8個EDRAM芯片同時動作,8個4位數(shù)據(jù)端口D3~D0同時與32位數(shù)據(jù)總線交換數(shù)據(jù),完成一次32位字的存取。上述存儲模塊本身具有高速成塊存取能力,這種模塊內(nèi)存儲字完全順序排放,以猝發(fā)式存取來完成高速成塊存取的方式,在當(dāng)代微型機(jī)中獲得了廣泛應(yīng)用。第44頁,共136頁,2023年,2月20日,星期一第45頁,共136頁,2023年,2月20日,星期一3.主存物理地址的存儲空間分布下面以奔騰PC機(jī)主存為例,說明主存物理地址的存儲空間概念。奔騰PC機(jī)主存物理地址存儲空間分布情況如下圖。

最大可訪問主存空間為256MB,實際只安裝了16MB的DRAM。存儲空間分成基本內(nèi)存、保留內(nèi)存、擴(kuò)展內(nèi)存幾部分。第46頁,共136頁,2023年,2月20日,星期一第47頁,共136頁,2023年,2月20日,星期一3.3只讀存儲器和閃速存儲器

3.3.1只讀存儲器

(ROM)1.ROM的分類只讀存儲器簡稱ROM,它只能讀出,不能寫入。它的最大優(yōu)點(diǎn)是具有不易失性。根據(jù)編程方式不同,ROM通常分為三類:

掩模式ROM:又稱maskROM一次編程ROM:又稱PROM多次編程ROM:又稱EPROM,EEPROM第48頁,共136頁,2023年,2月20日,星期一掩模式ROM:數(shù)據(jù)在芯片制造過程中就已經(jīng)被確定。其特點(diǎn)是可靠性和集成度高,價格便宜,但不能重寫。一次編程ROM:用戶可自行改變產(chǎn)品中某些存儲元可以根據(jù)用戶需要編程只能一次性改寫。多次編程ROM:可以用紫外光照射或電擦除原來的數(shù)據(jù),然后再重新寫入新的數(shù)據(jù)可以多次改寫ROM中的內(nèi)容。第49頁,共136頁,2023年,2月20日,星期一2.光擦可編程只讀存儲器(EPROM)(1)基本存儲元電路P溝道EPROM的基本電路結(jié)構(gòu)示意圖如下。它與普通P溝道增強(qiáng)型MOS電路相似,在N型基片上生長了兩個高濃度的P型區(qū),通過歐姆接觸,分別引出源極(S)和漏極(D)。在S極和D極之間,有一個由多晶硅做的柵極,但它是浮空的,被絕緣物SiO2所包圍。當(dāng)管子制造好時,硅柵上沒有電荷,所以源極和漏極之間是不導(dǎo)電的。

第50頁,共136頁,2023年,2月20日,星期一當(dāng)把EPROM管子用于存儲矩陣時,一個基本存儲元電路如下圖所示,這種電路所組成的存儲矩陣輸出為“1”,當(dāng)寫入“0”時,在D和S極之間加上25V高壓,另外加上編程脈沖,所選中的單元在這個電壓作用下,D和S之間被瞬間擊穿,于是有電子通過絕緣層注入到硅柵。當(dāng)高壓去除后,因為硅柵被絕緣層包圍,故注入的電子無處泄露,硅柵變負(fù),于是就形成了導(dǎo)電溝道,從而使EPROM存儲元導(dǎo)通,輸出為“0”。由這種EPROM做成的片子封裝上方有一個石英玻璃窗口。當(dāng)用紫外線照射窗口時,所有電路中的浮空晶柵上的電荷會形成光電流泄漏走,使電路恢復(fù)道起始狀態(tài)。輸出變?yōu)椤?”。第51頁,共136頁,2023年,2月20日,星期一第52頁,共136頁,2023年,2月20日,星期一(2)EPROM實例(2716的內(nèi)部結(jié)構(gòu)圖)第53頁,共136頁,2023年,2月20日,星期一圖3.24主存儲器組成與CPU的連接邏輯圖第54頁,共136頁,2023年,2月20日,星期一3.3.2閃速存儲器

閃速存儲器是一種高密度、非易失性的讀/寫半導(dǎo)體存儲器,它突破了傳統(tǒng)的存儲器體系,改善了現(xiàn)有存儲器的特性。其特點(diǎn):固有的非遺失性廉價的高密度可直接執(zhí)行固態(tài)性能下圖是28F256A閃存芯片的邏輯方框圖。除了指令寄存器在內(nèi)的控制和定時邏輯,其余部分與一般半導(dǎo)體存儲器的結(jié)構(gòu)相似。其中VCC(+5V)是對器件供電,VPP(+12V)是擦除/編程供電的電源。第55頁,共136頁,2023年,2月20日,星期一第56頁,共136頁,2023年,2月20日,星期一1.閃速存儲器的工作原理閃速存儲器是在EPROM功能基礎(chǔ)上增加了電路的電擦除和重新編程能力。閃存28F256A引入一個指令寄存器來實現(xiàn)這種功能。其作用是:

(1)保證TTL電平的控制信號輸入;(2)在擦除和編程過程中穩(wěn)定供電;(3)最大限度的與EPROM兼容。當(dāng)VPP引腳不加高電壓時,它只是一個只讀存儲器;當(dāng)VPP引腳加高電壓時,則通過指令寄存器可以實現(xiàn)存儲器內(nèi)容的變更;當(dāng)VPP=VPPL時,指令寄存器的內(nèi)容為讀指令,使28F256A成為只讀存儲器,稱為寫保護(hù)。第57頁,共136頁,2023年,2月20日,星期一2.閃速存儲器的工作模式讀操作:片選信號CE是供電控制端,輸出允許信號OE用于控制數(shù)據(jù)從輸出引腳的輸出。只有這兩個信號同時有效時,才能實現(xiàn)數(shù)據(jù)輸出。

輸出禁止操作:當(dāng)輸出允許控制端OE處于高電平時,28F256A被禁止輸出,輸出引腳置于高阻狀態(tài)。

等待操作:當(dāng)片選信號CE處于邏輯高電平時,等待操作抑制了28F256A的大部分電路,減少器件功耗。

寫操作:當(dāng)VPP為高電壓時,通過指令寄存器實現(xiàn)器件的擦除和編程。當(dāng)CE=0且WE=0時,通過寫周期對指令寄存器進(jìn)行寫入。第58頁,共136頁,2023年,2月20日,星期一VPPA0A9CEOEWEDQ0~DQ7只讀讀輸出禁止等待VPPLVPPLVPPLA0××A9××00101×11×數(shù)據(jù)輸出三態(tài)輸出三態(tài)輸出讀寫

讀輸出禁止備用寫VPPHVPPHVPPHVPPHA0××A0A9××A9001001×111×0數(shù)據(jù)輸出三態(tài)輸出三態(tài)輸出數(shù)據(jù)輸入表3.428F256A工作模式第59頁,共136頁,2023年,2月20日,星期一3.閃速存儲器與CPU的連接

CPU與閃速存儲器進(jìn)行連接的邏輯框圖如下中間部分是接口電路。地址總線和控制總線由CPU發(fā)向存儲器和接口邏輯,數(shù)據(jù)總線為雙向總線。地址總線的寬度決定了存儲器的存儲容量,數(shù)據(jù)總線的寬度決定了存儲器的字長。第60頁,共136頁,2023年,2月20日,星期一第61頁,共136頁,2023年,2月20日,星期一第62頁,共136頁,2023年,2月20日,星期一3.4

高速存儲器由于CPU和主存儲器是用不同的材料制成的,因而它們在速度上是不匹配的,CPU運(yùn)算速度很高,存儲器的訪問速度比較低。為了提高CPU的工作效率,加速CPU與存儲器之間的數(shù)據(jù)傳輸,通常有以下幾種方式來實現(xiàn):1.采用更高速性能的存儲器,加長存儲器的字長。2.采用并行操作的雙端口存儲器。3.在CPU和主存之間使用高速緩沖存儲器cache。4.在每個存儲器周期中存取幾個字。第63頁,共136頁,2023年,2月20日,星期一3.4.1雙端口存儲器1.雙端口存儲器的邏輯結(jié)構(gòu)雙端口存儲器是指同一個存儲器具有兩組相互獨(dú)立的讀寫控制線路,是一種高速工作的存儲器。下圖是2K×16位雙端口存儲器IDT7133的邏輯功能方框圖。它提供了兩個相互獨(dú)立的端口,即左端口右端口。它們分別具有各自的地址線、數(shù)據(jù)線和控制線,可以對存儲器中任何位置上的數(shù)據(jù)進(jìn)行獨(dú)立的存取操作。第64頁,共136頁,2023年,2月20日,星期一第65頁,共136頁,2023年,2月20日,星期一2.無沖突讀寫控制當(dāng)兩個端口的地址不相同時,在兩個端口上進(jìn)行讀寫操作,一定不會發(fā)生沖突。當(dāng)任一端口被選中驅(qū)動時,就可對整個存儲器進(jìn)行存取,每一個端口都有自己的片選控制和輸出驅(qū)動控制。第66頁,共136頁,2023年,2月20日,星期一3.有沖突的讀寫控制當(dāng)兩個端口同時存取存儲器同一存儲單元時,便發(fā)生讀寫沖突。為解決此問題,特設(shè)置了BUSY標(biāo)志。由片上的判斷邏輯決定對哪個端口優(yōu)先進(jìn)行讀寫操作,而暫時關(guān)閉另一個被延遲的端口。

1.CE判斷:如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進(jìn)行判斷來選擇端口。

2.地址有效判斷:如果CE在地址匹配之前變低,片上的控制邏輯在左、右地址間進(jìn)行判斷來選擇端口。第67頁,共136頁,2023年,2月20日,星期一3.4.2多模塊交叉存儲器

1.存儲器的模塊化組織一個由若干個模塊組成的主存儲器是線性編址的。這些地址在各模塊有兩種安排方式:一種是順序方式,一種是交叉方式。

順序方式:某個模塊進(jìn)行存取時,其他模塊不工作,某一模塊出現(xiàn)故障時,其他模塊可以照常工作,通過增添模塊來擴(kuò)充存儲器容量比較方便。但各模塊串行工作,存儲器的帶寬受到了限制。第68頁,共136頁,2023年,2月20日,星期一第69頁,共136頁,2023年,2月20日,星期一

交叉方式:地址碼的低位字段經(jīng)過譯碼選擇不同的模塊,而高位字段指向相應(yīng)模塊內(nèi)的存儲字。連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個模塊內(nèi)的地址都是不連續(xù)的。對連續(xù)字的成塊傳送可實現(xiàn)多模塊流水式并行存取,大大提高存儲器的帶寬。第70頁,共136頁,2023年,2月20日,星期一第71頁,共136頁,2023年,2月20日,星期一2.多模塊交叉存儲器的基本結(jié)構(gòu)四模塊交叉存儲器結(jié)構(gòu)框圖如下圖:每個模塊各自以等同的方式與CPU傳送信息。CPU同時訪問四個模塊,由存儲器控制部件控制它們分時使用數(shù)據(jù)總線進(jìn)行信息傳遞。這是一種并行存儲器結(jié)構(gòu)。第72頁,共136頁,2023年,2月20日,星期一第73頁,共136頁,2023年,2月20日,星期一下面做定量分析:我們認(rèn)為模塊字長等于數(shù)據(jù)總線寬度,模塊存取一個字的存儲周期為T,總線傳送周期為τ,存儲器的交叉模塊數(shù)為m,為了實現(xiàn)流水線方式存取,應(yīng)當(dāng)滿足

T=mτ

(m=T/τ稱為交叉存取度)

交叉存儲器要求其模塊數(shù)必須大于或等于m,以保證啟動某模塊后經(jīng)mτ時間再次啟動該模塊時,它的上次存取操作已經(jīng)完成。這樣,連續(xù)讀取m個字所需的時間為t1=T+(m-1)τ

而順序方式存儲器連續(xù)讀取m個字所需時間為t2=mT。交叉存儲器的帶寬確實大大提高了。第74頁,共136頁,2023年,2月20日,星期一3.4.3相聯(lián)存儲器1.相聯(lián)存儲器的基本原理前面介紹的存儲器都是按地址訪問的存儲器,而相聯(lián)存儲器是按內(nèi)容訪問的存儲器。相聯(lián)存儲器是指其中任一存儲項內(nèi)容作為地址來存取的存儲器。選用來尋址存儲器的子段叫做關(guān)鍵字。存放在相聯(lián)存儲器中的項可以看成具有KEY,DATA這樣的格式。其中KEY是地址,DATA是被讀寫信息。相聯(lián)存儲器的基本原理是把存儲單元所存內(nèi)容的某一部分作為檢索項(即關(guān)鍵字項),去檢索該存儲器,并將存儲器中與該檢索項符合的存儲單元內(nèi)容進(jìn)行讀出或?qū)懭?。?5頁,共136頁,2023年,2月20日,星期一學(xué)號姓名出生年月成績011張明1980.1.180012周進(jìn)1981.2.281013王芳1982.3.382表3.7存放在存儲器中的一張表格物理地址nn+1n+2第76頁,共136頁,2023年,2月20日,星期一2.相聯(lián)存儲器的組成相聯(lián)存儲器由存儲體、檢索寄存器、屏蔽寄存器、符合寄存器、比較線路、代碼寄存器、控制線路等組成,結(jié)構(gòu)框圖如下圖。

檢索寄存器:用來存放檢索字,其位數(shù)和相聯(lián)存儲器的存儲單元位數(shù)相等。

屏蔽寄存器:用來存放屏蔽碼,其位數(shù)和檢索寄存位數(shù)相同。

符合寄存器:用來存放按檢索項內(nèi)容檢索存儲體中與之符合的單元地址,其位數(shù)等于相聯(lián)存儲器的存儲單元位數(shù),每一位對應(yīng)一個存儲單元,位的序數(shù)即為相聯(lián)存儲器的單元地址。第77頁,共136頁,2023年,2月20日,星期一比較線路:把檢索項和從存儲體中讀出的所有單元內(nèi)容的相應(yīng)位進(jìn)行比較,如果有某個存儲單元和檢索項符合,就把符合寄存器的相應(yīng)位置“1”,表示該字已被檢索。

代碼寄存器:用來存放存儲體中讀出的代碼,或者存放向存儲體中寫入的代碼。

存儲體:由高速半導(dǎo)體存儲器構(gòu)成,以求快速存取。在計算機(jī)系統(tǒng)中,相聯(lián)存儲器主要用于虛擬存儲器中存放分段表、頁表和快表;在高速緩沖存儲器中,相聯(lián)存儲器作為存放cache的行地址之用。這是因為,在這兩種應(yīng)用中,都需要快速查找。第78頁,共136頁,2023年,2月20日,星期一第79頁,共136頁,2023年,2月20日,星期一3.5cache存儲器

3.5.1cache基本原理

1.cache的功能

cache是介于CPU和主存之間的小容量存儲器,存取速度比主存快。它能高速地向CPU提供指令和數(shù)據(jù),加快程序的執(zhí)行速度。它是為了解決CPU和主存之間速度不匹配而采用的一項重要技術(shù)。第80頁,共136頁,2023年,2月20日,星期一2.cache的基本原理CPU與cache之間的數(shù)據(jù)交換是以字為單位,而cache與主存之間的數(shù)據(jù)交換是以塊為單位。一個塊由若干定長字組成的。當(dāng)CPU讀取主存中一個字時,便發(fā)出此字的內(nèi)存地址到cache和主存。此時cache控制邏輯依據(jù)地址判斷此字當(dāng)前是否在cache中:若是,此字立即傳送給CPU;若非,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的整個數(shù)據(jù)塊從主存讀出送到cache中。由始終管理著cache使用情況的硬件邏輯電路來實現(xiàn)LRU替換算法。第81頁,共136頁,2023年,2月20日,星期一第82頁,共136頁,2023年,2月20日,星期一3.cache的命中率增加cache的目的,就是在性能上使主存的平均讀出時間盡可能接近c(diǎn)ache的讀出時間。因此,cache的命中率應(yīng)接近于1。由于程序訪問的局部性,這是可能的。在一個程序執(zhí)行期間,設(shè)Nc表示cache完成存取的總次數(shù),Nm表示主存完成存取的總次數(shù),h定義為命中率,則有第83頁,共136頁,2023年,2月20日,星期一若tc表示命中時的cache訪問時間,tm表示未命中時的主存訪問時間,1-h表示未命中率,則cache/主存系統(tǒng)的平均訪問時間ta為:

ta=htc+(1-h)tm

(3.5)設(shè)r=tm/tc表示主存慢于cache的倍率,e表示訪問效率,則有:

為提高訪問效率,命中率h越接近1越好,r值以5~10為宜,不宜太大。命中率h與程序的行為、cache的容量、組織方式、塊的大小有關(guān)。第84頁,共136頁,2023年,2月20日,星期一3.5.2主存與cache的地址映射cache的容量很小,它保存的內(nèi)容只是主存內(nèi)容的一個子集,且cache與主存的數(shù)據(jù)交換是以塊為單位。

地址映射即是應(yīng)用某種方法把主存地址定位到cache中。址映射方式有三種:

全相聯(lián)映射方式

直接映射方式

組相聯(lián)映射方式

第85頁,共136頁,2023年,2月20日,星期一1.全相聯(lián)映射方式主存中一個塊的地址與塊的內(nèi)容一起存于cache的行中,其中塊地址存于cache行的標(biāo)記部分中。這種方法可使主存的一個塊直接拷貝到cache中的任意一行上,非常靈活。它的主要缺點(diǎn)是比較器電路難于設(shè)計和實現(xiàn),因此只適合于小容量cache采用。全相聯(lián)映射的示意圖如下圖:第86頁,共136頁,2023年,2月20日,星期一全相聯(lián)映射的cache組織第87頁,共136頁,2023年,2月20日,星期一第88頁,共136頁,2023年,2月20日,星期一2.直接相聯(lián)映射方式這也是一種多對一的映射關(guān)系,但一個主存塊只能拷貝到cache的一個特定行位置上去。cache的行號i和主存的塊號j有如下函數(shù)關(guān)系:

i=jmodm(m為cache中的總行數(shù))

直接映射方式的示意圖如下:直接相連映射方式的優(yōu)點(diǎn)是硬件簡單,成本低。缺點(diǎn)是每個主存塊只有一個固定的行位置可存放,容易產(chǎn)生沖突。因此適合大容量cache采用。第89頁,共136頁,2023年,2月20日,星期一直接相聯(lián)映射的cache組織第90頁,共136頁,2023年,2月20日,星期一第91頁,共136頁,2023年,2月20日,星期一3.組相聯(lián)映射方式

這種方式是前兩種方式的折衷方案。它將cache分成u組,每組v行,主存塊存放到哪個組是固定的,至于存到該組哪一行是靈活的,即有如下函數(shù)關(guān)系:

m=u×v組號q=j(luò)modu組相聯(lián)映射的示意圖如下:

組相聯(lián)映射方式中的每組行數(shù)v一般取值較小,這種規(guī)模的v路比較器容易設(shè)計和實現(xiàn)。而塊在組中的排放又有一定的靈活性,沖突減少。第92頁,共136頁,2023年,2月20日,星期一第93頁,共136頁,2023年,2月20日,星期一第94頁,共136頁,2023年,2月20日,星期一3.5.3替換策略

cache工作原理要求它盡量保存最新數(shù)據(jù),必然要產(chǎn)生替換。對直接映射的cache來說,只要把此特定位置上的原主存塊換出cache即可。對全相聯(lián)和組相聯(lián)cache來說,就要從允許存放新主存塊的若干特定行中選取一行換出。cache的三種常用替換算法:

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

★近期最少使用(LRU)算法

★隨機(jī)替換第95頁,共136頁,2023年,2月20日,星期一★最不經(jīng)常使用(LFU)算法

LFU算法將一段時間內(nèi)被訪問次數(shù)最少的那行數(shù)據(jù)換出。每行設(shè)置一個計數(shù)器。從0開始計數(shù),每訪問一次,被訪行的計數(shù)器增1。當(dāng)需要替換時,將計數(shù)值最小的行換出,同時將這些行的計數(shù)器都清零。這種算法將計數(shù)周期限定在對這些特定行兩次替換之間的間隔時間內(nèi),不能嚴(yán)格反映近期訪問情況。第96頁,共136頁,2023年,2月20日,星期一★近期最少使用(LRU)算法

LRU算法將近期內(nèi)長久未被訪問過的行換出。每行也設(shè)置一個計數(shù)器,cache每命中一次,命中行計數(shù)器清零,其它各行計數(shù)器增1。當(dāng)需要替換時,將計數(shù)值最大的行換出。這種算法保護(hù)了剛拷貝到cache中的新數(shù)據(jù)行,有較高的命中率?!镫S機(jī)替換隨機(jī)替換策略從特定的行位置中隨機(jī)地選取一行換出。在硬件上容易實現(xiàn),且速度也比前兩種策略快。缺點(diǎn)是降低了命中率和cache工作效率。第97頁,共136頁,2023年,2月20日,星期一3.5.4cache的寫操作策略cache的內(nèi)容只是主存部分內(nèi)容的拷貝,它應(yīng)當(dāng)與主存內(nèi)容保持一致。當(dāng)CPU對cache進(jìn)行寫操作時更改了cache的內(nèi)容,所以需要更改的數(shù)據(jù)回寫到相應(yīng)主存中。cache內(nèi)容的回寫方式可選用如下幾種寫操作策略:(1)寫回法:當(dāng)CPU寫cache命中時,只修改cache的內(nèi)容,而不立即寫入主存;只有當(dāng)此行被換出時才寫回主存。這種方法減少了訪問主存的次數(shù),但是存在不一致性的隱患。實現(xiàn)這種方法時,每個cache行必須配置一個修改位,以反映此行是否被CPU修改過。

第98頁,共136頁,2023年,2月20日,星期一(2)全寫法當(dāng)寫cache命中時,cache與主存同時發(fā)生寫修改,因而較好地維護(hù)了cache與主存的內(nèi)容的一致性。當(dāng)寫cache未命中時,直接向主存進(jìn)行寫入。cache中每行無需設(shè)置一個修改位以及相應(yīng)的判斷邏輯。缺點(diǎn)是降低了cache的功效。(3)寫一次法

基于寫回法并結(jié)合全寫法的寫策略,寫命中與寫未命中的處理方法與寫回法基本相同,只是第一次寫命中時要同時寫入主存。這樣使其它使用該塊數(shù)據(jù)的能即時進(jìn)行標(biāo)識或作廢處理,以便于維護(hù)系統(tǒng)全部cache的一致性。第99頁,共136頁,2023年,2月20日,星期一3.5.5奔騰PC機(jī)的cache

奔騰PC機(jī)采用兩級cache結(jié)構(gòu)。安裝在主板上的2級cache(L2)采用2路組相聯(lián)映射方式,集成在CPU內(nèi)的1級cache(L1)也采用2路組相聯(lián)映射方式,L1又是L2的子集,從而使L1未命中處理時間大大縮短。CPU中的L1分設(shè)成各8KB的指令cache和數(shù)據(jù)cache,有利于CPU高速執(zhí)行程序。數(shù)據(jù)cache采用2路組相聯(lián)結(jié)構(gòu),采用LRU替換算法,一組兩行共用一個LRU二進(jìn)制位。數(shù)據(jù)cache的工作方式受CPU控制寄存器CR0中CD和NW位組合狀態(tài)控制。第100頁,共136頁,2023年,2月20日,星期一

CPU與外部數(shù)據(jù)交換時,存儲器讀寫總線周期主要有兩類:

一類是256位猝發(fā)式傳送,用于L1的行填入和行寫出,一次完成整行的填入或?qū)懗?。另一類是不?jīng)L1的64位傳送,此時cache僅為高電平,稱為非超高速緩存式傳送。L2級cache采用的是寫回法,L1級數(shù)據(jù)cache采用的是寫一次法。為了維護(hù)cache的一致性,L1和L2均采用MESI協(xié)議,即要求每個cache行有兩個狀態(tài)位,用以描述該行當(dāng)前是處于修改態(tài)、專有態(tài)、共享態(tài)或者無效態(tài)中的哪種狀態(tài),從而決定對它的讀/寫操作行為??傊琇2級cache的內(nèi)容是主存的子集,而L1級cache又是L2級cache的子集。L2負(fù)責(zé)整個系統(tǒng)的cache/主存一致性,L1負(fù)責(zé)響應(yīng)L2,與L2一起維護(hù)L1/L2兩個cache的一致性,保證三級存儲系統(tǒng)的一致性。第101頁,共136頁,2023年,2月20日,星期一第102頁,共136頁,2023年,2月20日,星期一3.6虛擬存儲器

3.6.1虛擬存儲器的基本概念1.什么是虛擬存儲器虛擬存儲器只是一個容量非常大的存儲器的邏輯模型,不是任何實際的物理存儲器。它借助于磁盤等輔助存儲器來擴(kuò)大主存容量,使之為更大或更多的程序所使用。虛擬存儲器指的是主存~外存層次。它以透明的方式給用戶提供了一個比實際主存空間大得多的程序地址空間。此時程序的邏輯地址稱為虛擬地址(虛地址)。第103頁,共136頁,2023年,2月20日,星期一注意:

物理地址由CPU地址引腳送出,用于訪問主存的地址。

虛擬地址由編譯程序生成的,是程序的邏輯地址,其地址空間的大小受到輔助存儲器容量的限制。主存~外存層次所用的地址變換映射方法和替換策略與cache~主存層次所用的方法和策略是相同的,即都基于程序局部性原理。它們遵循的原則是:第104頁,共136頁,2023年,2月20日,星期一把程序中最近常用的部分駐留在高速的存儲器中。②一旦這部分變得不常用了,把它們送回到低速的存儲器中。這種換入換出是由硬件或操作系統(tǒng)完成的,對用戶是透明的。力圖使存儲系統(tǒng)的性能接近高速存儲器,價格接近低速存儲器。兩種存儲系統(tǒng)的主要區(qū)別在于:在虛擬存儲器中未命中的性能損失要遠(yuǎn)大于cache系統(tǒng)中未命中的損失。第105頁,共136頁,2023年,2月20日,星期一2.主存-外存層次的基本信息傳送單位主存-外存層次的基本信息傳送單位可采用幾種不同的方案:段、頁或段頁。★段是按照程序的邏輯結(jié)構(gòu)劃分成的多個相對獨(dú)立部分,作為獨(dú)立的邏輯單位。優(yōu)點(diǎn)是段的邏輯獨(dú)立性使它易于編譯、管理、修改和保護(hù),也便于多道程序共享;某些類型的段具有動態(tài)可變長度,允許自由調(diào)度以便有效利用主存空間。缺點(diǎn)是因為段的長度各不相同,起點(diǎn)和終點(diǎn)不定,給主存空間分配帶來麻煩,而且容易在段間留下許多空余的零碎存儲空間,造成浪費(fèi)。第106頁,共136頁,2023年,2月20日,星期一★頁是主存物理空間中劃分出來的等長的固定區(qū)域。優(yōu)點(diǎn)是頁面的起點(diǎn)和終點(diǎn)地址是固定的,方便造頁表,新頁調(diào)入主存也很容易掌握,比段式空間浪費(fèi)小。缺點(diǎn)是處理、保護(hù)和共享都不及段式來得方便?!锒雾撌焦芾聿捎梅侄魏头猪摻Y(jié)合的方法。程序按模塊分段,段內(nèi)再分頁,進(jìn)入主存以頁為基本信息傳送單位,用段表和頁表進(jìn)行兩級定位管理。第107頁,共136頁,2023年,2月20日,星期一3.6.2頁式虛擬存儲器頁式虛擬存儲系統(tǒng)中,虛擬空間分成頁,稱為邏輯頁;主存空間也分成同樣大小的頁,稱為物理頁。虛存地址分為兩個字段:高字段為邏輯頁號,低字段為頁內(nèi)行地址。實存地址也分兩個字段:高字段為物理頁號,低字段為頁內(nèi)行地址。頁表中每一個虛存邏輯頁號有一個表目,表目內(nèi)容包含該邏輯頁所在的主存頁面地址(物理頁號),用它作為實存地址的高字段,與虛存地址的頁內(nèi)行地址字段相拼接,產(chǎn)生完整的實主存地址,據(jù)此來訪問主存。頁式管理的地址變換如圖第108頁,共136頁,2023年,2月20日,星期一頁式虛擬存儲器結(jié)構(gòu)第109頁,共136頁,2023年,2月20日,星期一

為了避免頁表已保存或已調(diào)入主存儲器時對主存訪問次數(shù)的增多,把頁表的最活躍部分存放在高速存儲器中組成快表。快表與慢表實現(xiàn)內(nèi)部地址變換的方式如下圖。

快表由硬件組成,比頁表小得多,查表時,由邏輯頁號同時去查快表和慢表,當(dāng)在快表中有此邏輯頁號時,就能很快地找到對應(yīng)的物理頁號送入實主存地址寄存器,從而做到雖采用虛擬存儲器但訪主存速度幾乎沒有下降。第110頁,共136頁,2023年,2月20日,星期一第111頁,共136頁,2023年,2月20日,星期一3.6.3段式虛擬存儲器在段式虛擬存儲系統(tǒng)中,段是按照程序的邏輯結(jié)構(gòu)劃分的,各個段的長度因程序而異。虛擬地址由段號和段內(nèi)地址組成,為了把虛擬地址變換成實主存地址,需要一個段表。段表也是一個段,可以存在外存中,但一般是駐留在主存中虛存地址的段表形式以及虛存地址向?qū)嵈娴刂返淖儞Q過程如下圖所示。第112頁,共136頁,2023年,2月20日,星期一第113頁,共136頁,2023年,2月20日,星期一段式虛擬存儲器地址變換第114頁,共136頁,2023年,2月20日,星期一段頁式虛擬存儲器是段式虛擬存儲器和頁式虛擬存儲器的結(jié)合。它把程序按邏輯單位分段以后,再把每段分成固定大小的頁。程序?qū)χ鞔娴恼{(diào)入調(diào)出是按頁面進(jìn)行的,但它又可以按段實現(xiàn)共享和保護(hù),兼?zhèn)漤撌胶投问降膬?yōu)點(diǎn)。缺點(diǎn)是在映象過程中需要多次查表。3.6.4段頁式虛擬存儲器第115頁,共136頁,2023年,2月20日,星期一在段頁式虛擬存儲系統(tǒng)中,每道程序是通過一個段表和一組頁表來進(jìn)行定位的。段表中的每個表目對應(yīng)一個段,每個表目有一個指向該段的頁表起始地址及該段的控制保護(hù)信息。由頁表指明該段各頁在主存中的位置以及是否已裝入、已修改等狀態(tài)信息。如果有多個用戶在機(jī)器上運(yùn)行,多道程序的每一道需要一個基號,由它指明該道程序的段表起始地址。虛擬地址格式如下:基號段號頁號頁內(nèi)地址第116頁,共136頁,2023年,2月20日,星期一第117頁,共136頁,2023年,2月20日,星期一3.6.5替換算法虛擬存儲器中的頁面替換策略和cache中的行替換策略有很多相似之處,但有三點(diǎn)顯著不同:(1)缺頁至少要涉及一次磁盤存取,讀取所缺的頁,缺頁使系統(tǒng)蒙受的損失要比cache未命中大得多。(2)頁面替換是由操作系統(tǒng)軟件實現(xiàn)的。(3)頁面替換的選擇余地很大,屬于一個進(jìn)程的頁面都可替換。第118頁,共136頁,2023年,2月20日,星期一虛擬存儲器中的替換策略一般采用LRU算法、LFU算法、FIFO算法,或?qū)煞N算法結(jié)合起來使用。對于將被替換出去的頁面,假如該頁調(diào)入主存后沒有被修改,就不必進(jìn)行處理,否則就把該頁重新寫入外存,以保證外存中數(shù)據(jù)的正確性。為此,在頁表的每一行應(yīng)設(shè)置一修改位。第119頁,共136頁,2023年,2月20日,星期一3.6.6虛擬存儲器實例1.奔騰PC機(jī)的虛地址模式奔騰PC的存儲管理部件MMU包括分段部件SU和分頁部件PU兩部份,可允許SU,PU單獨(dú)工作或同時工作。

分段不分頁模式:虛擬地址由一個16位的段參照和一個32位的偏移組成。分段部件SU將二維的分段虛擬地址轉(zhuǎn)換成一維的32位線性地址。優(yōu)點(diǎn)是無需訪問頁目錄和頁表,地址轉(zhuǎn)換速度快。對段提供的一些保護(hù)定義可以一直貫通到段的單個字節(jié)級。第120頁,共136頁,2023年,2月20日,星期一

分段分頁模式:在分段基礎(chǔ)上增加分頁存儲管理的模式。即將SU部件轉(zhuǎn)換后的32位線性地址看成由頁目錄、頁表、頁內(nèi)偏移三個字段組成,再由PU部件完成兩級頁表的查找,將其轉(zhuǎn)換成32位物理地址。兼顧了分段和分頁兩種方式的優(yōu)點(diǎn)。

不分段分頁模式:這種模式下SU不工作,只是分頁部件PU工作。程序也不提供段參照,寄存器提供的32位地址被看成是由頁目錄、頁表、頁內(nèi)偏移三個字段組成。由PU完成虛擬地址到物理地址的轉(zhuǎn)換。這種模式減少了虛擬空間,但能提供保護(hù)機(jī)制,比分段模式具有更大的靈活性。第121頁,共136頁,2023年,2月20日,星期一2.保護(hù)模式的分頁地址轉(zhuǎn)換奔騰機(jī)4MB分頁方式地址轉(zhuǎn)換如下圖。頁面(頁框)大小為4MB的分頁方使用單級頁表,只進(jìn)行一次主存訪問,地址轉(zhuǎn)換過程加快了。在此方式下,32位線性地址分為高10位的頁面和低22位的頁內(nèi)偏移兩個字段。頁表項的I位指示頁面大小,P位為出現(xiàn)位,A位為訪問過位,D位為修改過位。RW位用于讀/寫控制,US位用于用戶/監(jiān)督控制,PCD位用于頁cache禁止的控制,PWT位用于頁全寫法的控制。第122頁,共136頁,2023年,2月20日,星期一奔騰4MB分頁方式地址變換第123頁,共136頁,2023年,2月20日,星期一3.7存儲保護(hù)

當(dāng)多個用戶共享主存時,就有多個用戶和系統(tǒng)軟件存于主存中,為使系統(tǒng)能正常工作,應(yīng)防止由于一個用戶程序出錯而破壞其他用戶的程序和系統(tǒng)軟件,還要防止一個用戶程序不合法地訪問不是分配給它的主存區(qū)域。為此,系統(tǒng)應(yīng)提供存儲保護(hù)。通常采用的方式是:1存儲區(qū)域保護(hù)2訪問方式保護(hù)第124頁,共136頁,2023年,2月20

溫馨提示

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

評論

0/150

提交評論