




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1第三章第三章 多層次的存儲(chǔ)器多層次的存儲(chǔ)器3.1存儲(chǔ)器概述3.2SRAM存儲(chǔ)器3.3DRAM存儲(chǔ)器3.4只讀存儲(chǔ)器和閃速存儲(chǔ)器3.5并行存儲(chǔ)器3.6Cache存儲(chǔ)器 3.7虛擬存儲(chǔ)器3.8奔騰系列機(jī)的虛存組織返回23.1 存儲(chǔ)器概述存儲(chǔ)器概述3.1.1 存儲(chǔ)器的分類3.1.2 存儲(chǔ)器的分級(jí)3.1.3 主存儲(chǔ)器的技術(shù)指標(biāo)返回33.1.1 存儲(chǔ)器的分類存儲(chǔ)器的分類l按存儲(chǔ)介質(zhì)分類:磁表面/半導(dǎo)體存儲(chǔ)器l按存取方式分類:隨機(jī)/順序存取(磁帶)l按讀寫功能分類:ROM,RAMlRAM:雙極型/MOSlROM:MROM/PROM/EPROM/EEPROMl按信息的可保存性分類:永久性和非永久性的l按存
2、儲(chǔ)器系統(tǒng)中的作用分類:主/輔/緩/控43.1.2 存儲(chǔ)器的分級(jí)存儲(chǔ)器的分級(jí)目前存儲(chǔ)器的特點(diǎn)是:速度快的存儲(chǔ)器價(jià)格貴,容量??;價(jià)格低的存儲(chǔ)器速度慢,容量大。 在計(jì)算機(jī)存儲(chǔ)器體系結(jié)構(gòu)設(shè)計(jì)時(shí),我們希望存儲(chǔ)器系統(tǒng)的性能高、價(jià)格低,那么在存儲(chǔ)器系統(tǒng)設(shè)計(jì)時(shí),應(yīng)當(dāng)在存儲(chǔ)器容量,速度和價(jià)格方面的因素作折中考慮,建立了分層次的存儲(chǔ)器體系結(jié)構(gòu)如下圖所示。53.1.2 存儲(chǔ)器的分級(jí)存儲(chǔ)器的分級(jí)l高速緩沖存儲(chǔ)器簡(jiǎn)稱cache,它是計(jì)算機(jī)系統(tǒng)中的一個(gè)高速小容量半導(dǎo)體存儲(chǔ)器。l主存儲(chǔ)器簡(jiǎn)稱主存,是計(jì)算機(jī)系統(tǒng)的主要存儲(chǔ)器,用來存放計(jì)算機(jī)運(yùn)行期間的大量程序和數(shù)據(jù)。l外存儲(chǔ)器簡(jiǎn)稱外存,它是大容量輔助存儲(chǔ)器。CAI63.1.3主
3、存儲(chǔ)器的技術(shù)指標(biāo)主存儲(chǔ)器的技術(shù)指標(biāo)l字存儲(chǔ)單元:存放一個(gè)機(jī)器字的存儲(chǔ)單元,相應(yīng)的單元地址叫字地址。l字節(jié)存儲(chǔ)單元:存放一個(gè)字節(jié)的單元,相應(yīng)的地址稱為字節(jié)地址。l存儲(chǔ)容量:指一個(gè)存儲(chǔ)器中可以容納的存儲(chǔ)單元總數(shù)。存儲(chǔ)容量越大,能存儲(chǔ)的信息就越多。l存取時(shí)間又稱存儲(chǔ)器訪問時(shí)間:指一次讀操作命令發(fā)出到該操作完成,將數(shù)據(jù)讀出到數(shù)據(jù)總線上所經(jīng)歷的時(shí)間。通常取寫操作時(shí)間等于讀操作時(shí)間,故稱為存儲(chǔ)器存取時(shí)間。l存儲(chǔ)周期:指連續(xù)啟動(dòng)兩次讀操作所需間隔的最小時(shí)間。通常,存儲(chǔ)周期略大于存取時(shí)間,其時(shí)間單位為ns。l存儲(chǔ)器帶寬:?jiǎn)挝粫r(shí)間里存儲(chǔ)器所存取的信息量,通常以位/秒或字節(jié)/秒做度量單位。73.2 SRAM存儲(chǔ)器
4、存儲(chǔ)器3.2.1 基本的靜態(tài)存儲(chǔ)元陣列3.2.2 基本的SRAM邏輯結(jié)構(gòu)3.2.3 讀/寫周期波形圖 83.2 SRAM存儲(chǔ)器存儲(chǔ)器l主存(內(nèi)部存儲(chǔ)器)是半導(dǎo)體存儲(chǔ)器。根據(jù)信息存儲(chǔ)的機(jī)理不同可以分為兩類:l靜態(tài)讀寫存儲(chǔ)器(SRAM):存取速度快l動(dòng)態(tài)讀寫存儲(chǔ)器(DRAM):存儲(chǔ)容量不如SRAM大。93.2.1 基本的靜態(tài)存儲(chǔ)元陣列基本的靜態(tài)存儲(chǔ)元陣列1、存儲(chǔ)位元2、三組信號(hào)線l地址線l數(shù)據(jù)線l行線l列線l控制線CAI103.2.2 基本的基本的SRAM邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)lSRAM芯大多采用雙譯碼方式,以便組織更大的存儲(chǔ)容量。采用了二級(jí)譯碼:將地址分成x向、y向兩部分如圖所示。CAI113.2.2
5、 基本的基本的SRAM邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)l存儲(chǔ)體(2561288)l通常把各個(gè)字的同一個(gè)字的同一位集成在一個(gè)芯片(32K1)中,32K位排成256128的矩陣。8個(gè)片子就可以構(gòu)成32KB。l地址譯碼器l采用雙譯碼的方式(減少選擇線的數(shù)目)。lA0A7為行地址譯碼線lA8A14為列地址譯碼線123.2.2 基本的基本的SRAM邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)l讀與寫的互鎖邏輯控制信號(hào)中CS是片選信號(hào),CS有效時(shí)(低電平),門G1、G2均被打開。OE為讀出使能信號(hào),OE有效時(shí)(低電平),門G2開啟,當(dāng)寫命令WE=1時(shí)(高電平),門G1關(guān)閉,存儲(chǔ)器進(jìn)行讀操作。寫操作時(shí),WE=0,門G1開啟,門G2關(guān)閉。注意,門G1和
6、G2是互鎖的,一個(gè)開啟時(shí)另一個(gè)必定關(guān)閉,這樣保證了讀時(shí)不寫,寫時(shí)不讀。133.2.3 讀讀/寫周期波形圖寫周期波形圖l讀周期l讀出時(shí)間Taql讀周期時(shí)間Trcl寫周期l寫周期時(shí)間Twcl寫時(shí)間twdl存取周期l讀周期時(shí)間Trc=寫時(shí)間twdCAI14例例1:圖:圖3.5(a)是是SRA的寫入時(shí)序圖。其中的寫入時(shí)序圖。其中R/W是讀是讀/寫命令控制線,當(dāng)寫命令控制線,當(dāng)R/W線為低電平時(shí),存儲(chǔ)器按給定線為低電平時(shí),存儲(chǔ)器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲(chǔ)器。請(qǐng)指出圖地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲(chǔ)器。請(qǐng)指出圖3.5(a)寫入時(shí)序中的錯(cuò)誤,并畫出正確的寫入時(shí)序圖。寫入時(shí)序中的錯(cuò)誤,并畫出正確的寫入時(shí)序
7、圖。CAI153.3 DRAM存儲(chǔ)器存儲(chǔ)器3.3.1 DRAM存儲(chǔ)位元的記憶原理3.3.2 DRAM芯片的邏輯結(jié)構(gòu)3.3.3 讀/寫周期、刷新周期3.3.4 存儲(chǔ)器容量的擴(kuò)充3.3.5 高級(jí)的DRAM結(jié)構(gòu)3.3.6 DRAM主存讀/寫的正確性校驗(yàn)163.3.1 DRAM存儲(chǔ)位元的記憶原理存儲(chǔ)位元的記憶原理SRAM存儲(chǔ)器的存儲(chǔ)位元是一個(gè)觸發(fā)器,它具有兩個(gè)穩(wěn)定的狀態(tài)。而DRAM存儲(chǔ)器的存儲(chǔ)位元是由一個(gè)MOS晶體管和電容器組成的記憶電路,如圖3.6所示。 173.3.1 DRAM存儲(chǔ)位元的記憶原理存儲(chǔ)位元的記憶原理CAI183.3.2 DRAM芯片的邏輯結(jié)構(gòu)芯片的邏輯結(jié)構(gòu)下面我們通過一個(gè)例子來看一下
8、動(dòng)態(tài)存儲(chǔ)器的邏輯結(jié)構(gòu)如圖。l圖3.7(a)示出1M4位DRAM芯片的管腳圖,其中有兩個(gè)電源腳、兩個(gè)地線腳,為了對(duì)稱,還有一個(gè)空腳(NC)。l圖3.7(b)是該芯片的邏輯結(jié)構(gòu)圖。與SRAM不同的是:(1)增加了行地址鎖存器和列地址鎖存器。由于DRAM存儲(chǔ)器容量很大,地址線寬度相應(yīng)要增加,這勢(shì)必增加芯片地址線的管腳數(shù)目。為避免這種情況,采取的辦法是分時(shí)傳送地址碼。若地址總線寬度為10位,先傳送地址碼A0A9,由行選通信號(hào)RAS打入到行地址鎖存器;然后傳送地址碼A10A19,由列選通信號(hào)CRS打入到列地址鎖存器。芯片內(nèi)部?jī)刹糠趾掀饋?,地址線寬度達(dá)20位,存儲(chǔ)容量為1M4位。(2)增加了刷新計(jì)數(shù)器和相
9、應(yīng)的控制電路。DRAM讀出后必須刷新,而未讀寫的存儲(chǔ)元也要定期刷新,而且要按行刷新,所以刷新計(jì)數(shù)器的長(zhǎng)度等于行地址鎖存器。刷新操作與讀/寫操作是交替進(jìn)行的,所以通過2選1多路開關(guān)來提供刷新行地址或正常讀/寫的行地址。193.3.2 DRAM芯片的邏輯結(jié)構(gòu)芯片的邏輯結(jié)構(gòu)CAI203.3.3 讀讀/寫周期、刷新周期寫周期、刷新周期1、讀/寫周期l讀周期、寫周期的定義是從行選通信號(hào)RAS下降沿開始,到下一個(gè)RAS信號(hào)的下降沿為止的時(shí)間,也就是連續(xù)兩個(gè)讀周期的時(shí)間間隔。通常為控制方便,讀周期和寫周期時(shí)間相等。CAI213.3.3 讀讀/寫周期、刷新周期寫周期、刷新周期2、 刷新周期 l刷新周期:DRA
10、M存儲(chǔ)位元是基于電容器上的電荷量存儲(chǔ),這個(gè)電荷量隨著時(shí)間和溫度而減少,因此必須定期地刷新,以保持它們?cè)瓉碛洃浀恼_信息。l刷新操作有兩種刷新方式:l集中式刷新:DRAM的所有行在每一個(gè)刷新周期中都被刷新。l例如刷新周期為8ms的內(nèi)存來說,所有行的集中式刷新必須每隔8ms進(jìn)行一次。為此將8ms時(shí)間分為兩部分:前一段時(shí)間進(jìn)行正常的讀/寫操作,后一段時(shí)間(8ms至正常讀/寫周期時(shí)間)做為集中刷新操作時(shí)間。l分散式刷新:每一行的刷新插入到正常的讀/寫周期之中。l例如p72圖3.7所示的DRAM有1024行,如果刷新周期為8ms,則每一行必須每隔8ms1024=7.8us進(jìn)行一次。223.3.4 存儲(chǔ)器
11、容量的擴(kuò)充存儲(chǔ)器容量的擴(kuò)充1、字長(zhǎng)位數(shù)擴(kuò)展給定的芯片字長(zhǎng)位數(shù)較短,不滿足設(shè)計(jì)要求的存儲(chǔ)器字長(zhǎng),此時(shí)需要用多片給定芯片擴(kuò)展字長(zhǎng)位數(shù)。三組信號(hào)線中,地址線和控制線公用而數(shù)據(jù)線單獨(dú)分開連接。 d=設(shè)計(jì)要求的存儲(chǔ)器容量/選擇芯片存儲(chǔ)器容量 例例2 2 利用利用1M1M4 4位的位的SRAMSRAM芯片,設(shè)計(jì)一個(gè)存儲(chǔ)容量芯片,設(shè)計(jì)一個(gè)存儲(chǔ)容量為為1M1M8 8位的位的SRAMSRAM存儲(chǔ)器。存儲(chǔ)器。 解:所需芯片數(shù)量=(1M8)/(1M4)=2片設(shè)計(jì)的存儲(chǔ)器字長(zhǎng)為8位,存儲(chǔ)器容量不變。連接的三組信號(hào)線與例相似,即地址線、控制線公用,數(shù)據(jù)線分高4位、低4位,但數(shù)據(jù)線是雙向的,與SRAM芯片的I/O端相連接
12、。見書上圖3.9所示。l存儲(chǔ)器芯片的容量是有限的存儲(chǔ)器芯片的容量是有限的,為了滿足實(shí)際存儲(chǔ)為了滿足實(shí)際存儲(chǔ)器的容量要求,需要對(duì)存儲(chǔ)器進(jìn)行擴(kuò)展。主要方器的容量要求,需要對(duì)存儲(chǔ)器進(jìn)行擴(kuò)展。主要方法有:法有: l位擴(kuò)展法:只加大字長(zhǎng),而存儲(chǔ)器的字?jǐn)?shù)與存位擴(kuò)展法:只加大字長(zhǎng),而存儲(chǔ)器的字?jǐn)?shù)與存儲(chǔ)器芯片字?jǐn)?shù)一致儲(chǔ)器芯片字?jǐn)?shù)一致,對(duì)片子沒有選片要求對(duì)片子沒有選片要求l使用使用8K1的的RAM存儲(chǔ)器芯片存儲(chǔ)器芯片,組成組成8K8位位的存儲(chǔ)器的的存儲(chǔ)器的CAI演示演示l字?jǐn)U展法字?jǐn)U展法:僅在字向擴(kuò)充,而位數(shù)不變僅在字向擴(kuò)充,而位數(shù)不變.需由需由片選信號(hào)來區(qū)分各片地址。片選信號(hào)來區(qū)分各片地址。l用用16K8位的
13、芯片采用字?jǐn)U展法組成位的芯片采用字?jǐn)U展法組成64K8位的存儲(chǔ)器連接圖演示位的存儲(chǔ)器連接圖演示 l字位同時(shí)擴(kuò)展法字位同時(shí)擴(kuò)展法:一個(gè)存儲(chǔ)器的容量假定為一個(gè)存儲(chǔ)器的容量假定為MN位,若使用位,若使用Lk 位的芯片位的芯片(LM,kN),需要在字向和位向同時(shí)進(jìn)行擴(kuò)展。此時(shí)共需,需要在字向和位向同時(shí)進(jìn)行擴(kuò)展。此時(shí)共需要要(M/L(N/k)個(gè)存儲(chǔ)器芯片。個(gè)存儲(chǔ)器芯片。373.3.4 存儲(chǔ)器容量的擴(kuò)充存儲(chǔ)器容量的擴(kuò)充2、字存儲(chǔ)容量擴(kuò)展 l給定的芯片存儲(chǔ)容量較?。ㄗ?jǐn)?shù)少),不滿足設(shè)計(jì)要求的總存儲(chǔ)容量,此時(shí)需要用多片給定芯片來擴(kuò)展字?jǐn)?shù)。三組信號(hào)組中給定芯片的地址總線和數(shù)據(jù)總線公用,控制總線中R/W公用,使能端
14、EN不能公用,它由地址總線的高位段譯碼來決定片選信號(hào)。所需芯片數(shù)仍由(d=設(shè)計(jì)要求的存儲(chǔ)器容量/選擇芯片存儲(chǔ)器容量)決定。 例例33利用利用1M1M8 8位的位的DRAMDRAM芯片設(shè)計(jì)芯片設(shè)計(jì)2M2M8 8位的位的DRAMDRAM存儲(chǔ)存儲(chǔ)器器解:所需芯片數(shù)d=(2M8)/(1M8)=2(片)設(shè)計(jì)的存儲(chǔ)器見書上圖3.10所示。字長(zhǎng)位數(shù)不變,地址總線A0A19同時(shí)連接到2片DRAM的地址輸入端,地址總線最高位有A20、A20,分別作為兩片DRAM的片選信號(hào),兩個(gè)芯片不會(huì)同時(shí)工作。383.3.4 存儲(chǔ)器容量的擴(kuò)充存儲(chǔ)器容量的擴(kuò)充3、存儲(chǔ)器模塊條 l存儲(chǔ)器通常以插槽用模塊條形式供應(yīng)市場(chǎng)。這種模塊條常
15、稱為內(nèi)存條,它們是在一個(gè)條狀形的小印制電路板上,用一定數(shù)量的存儲(chǔ)器芯片,組成一個(gè)存儲(chǔ)容量固定的存儲(chǔ)模塊。如圖所示。l內(nèi)存條有30腳、72腳、100腳、144腳、168腳等多種形式。l30腳內(nèi)存條設(shè)計(jì)成8位數(shù)據(jù)線,存儲(chǔ)容量從256KB32MB。l72腳內(nèi)存條設(shè)計(jì)成32位數(shù)據(jù)總線l100腳以上內(nèi)存條既用于32位數(shù)據(jù)總線又用于64位數(shù)據(jù)總線,存儲(chǔ)容量從4MB512MB。 393.3.5 高級(jí)的高級(jí)的DRAM結(jié)構(gòu)結(jié)構(gòu)1、FPM DRAM: 快速頁(yè)模式動(dòng)態(tài)存儲(chǔ)器,它是根據(jù)程序的局部性原理來實(shí)現(xiàn)的。讀周期和寫周期中,為了尋找一個(gè)確定的存儲(chǔ)單元地址,首先由低電平的行選通信號(hào)RAS確定行地址,然后由低電平的列
16、選信號(hào)CAS確定列地址。下一次尋找操作,也是由RAS選定行地址,CAS選定列地址,依此類推,如下圖所示。 CAI403.3.5 高級(jí)的高級(jí)的DRAM結(jié)構(gòu)結(jié)構(gòu)2、CDRAM CDRAM稱為帶高速緩沖存儲(chǔ)器(cache)的動(dòng)態(tài)存儲(chǔ)器,它是在通常的DRAM芯片內(nèi)又集成了一個(gè)小容量的SRAM,從而使DRAM芯片的性能得到顯著改進(jìn)。如圖所示出1M4位CDRAM芯片的結(jié)構(gòu)框圖,其中SRAM為5124位。 CAI413.3.5 高級(jí)的高級(jí)的DRAM結(jié)構(gòu)結(jié)構(gòu)3、SDRAM SDRAM稱為同步型動(dòng)態(tài)存儲(chǔ)器。計(jì)算機(jī)系統(tǒng)中的CPU使用的是系統(tǒng)時(shí)鐘,SDRAM的操作要求與系統(tǒng)時(shí)鐘相同步,在系統(tǒng)時(shí)鐘的控制下從CPU獲得
17、地址、數(shù)據(jù)和控制信息。換句話說,它與CPU的數(shù)據(jù)交換同步于外部的系統(tǒng)時(shí)鐘信號(hào),并且以CPU/存儲(chǔ)器總線的最高速度運(yùn)行,而不需要插入等待狀態(tài)。其原理和時(shí)序關(guān)系見下一頁(yè)圖和動(dòng)畫。42CAI433.3.5 高級(jí)的高級(jí)的DRAM結(jié)構(gòu)結(jié)構(gòu)例4 CDRAM內(nèi)存條組成實(shí)例。一片CDRAM的容量為1M4位,8片這樣的芯片可組成1M32位4MB的存儲(chǔ)模塊,其組成如下圖所示。CAI443.3.6 DRAM主存讀主存讀/寫的正確性校驗(yàn)寫的正確性校驗(yàn) DRAM通常用做主存儲(chǔ)器,其讀寫操作的正確性與可靠性至關(guān)重要。為此除了正常的數(shù)據(jù)位寬度,還增加了附加位,用于讀/寫操作正確性校驗(yàn)。增加的附加位也要同數(shù)據(jù)位一起寫入DRA
18、M中保存。其原理如圖所示。CAI453.4 只讀存儲(chǔ)器和閃速存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器3.4.1 只讀存儲(chǔ)器ROM3.4.2 FLASH存儲(chǔ)器463.4.1 只讀存儲(chǔ)器只讀存儲(chǔ)器ROM ROM叫做只讀存儲(chǔ)器。顧名思義,只讀的意思是在它工作時(shí)只能讀出,不能寫入。然而其中存儲(chǔ)的原始數(shù)據(jù),必須在它工作以前寫入。只讀存儲(chǔ)器由于工作可靠,保密性強(qiáng),在計(jì)算機(jī)系統(tǒng)中得到廣泛的應(yīng)用。主要有兩類:l掩模ROM:掩模ROM實(shí)際上是一個(gè)存儲(chǔ)內(nèi)容固定的ROM,由生產(chǎn)廠家提供產(chǎn)品。 l可編程ROM:用戶后寫入內(nèi)容,有些可以多次寫入。l一次性編程的PROMl多次編程的EPROM和E2PROM。473.4.1 只讀存儲(chǔ)器
19、只讀存儲(chǔ)器ROM1、掩模ROM (1)掩模ROM的陣列結(jié)構(gòu)和存儲(chǔ)元 CAI483.4.1 只讀存儲(chǔ)器只讀存儲(chǔ)器ROM1、掩模ROM (2)掩模ROM的邏輯符號(hào)和內(nèi)部邏輯框圖 CAI493.4.1 只讀存儲(chǔ)器只讀存儲(chǔ)器ROM2、可編程ROM lEPROM叫做光擦除可編程可讀存儲(chǔ)器。它的存儲(chǔ)內(nèi)容可以根據(jù)需要寫入,當(dāng)需要更新時(shí)將原存儲(chǔ)內(nèi)容抹去,再寫入新的內(nèi)容。l現(xiàn)以浮柵雪崩注入型MOS管為存儲(chǔ)元的EPROM為例進(jìn)行說明,結(jié)構(gòu)如右圖所示。 503.4.1 只讀存儲(chǔ)器只讀存儲(chǔ)器ROMl2、可編程、可編程ROME2PROM存儲(chǔ)元 EEPROM,叫做電擦除可編程只讀存儲(chǔ)器。其存儲(chǔ)元是一個(gè)具有兩個(gè)柵極的NMO
20、S管,如圖(a)和(b)所示,G1是控制柵,它是一個(gè)浮柵,無引出線;G2是抹去柵,它有引出線。在G1柵和漏極D之間有一小面積的氧化層,其厚度極薄,可產(chǎn)生隧道效應(yīng)。如圖(c)所示,當(dāng)G2柵加20V正脈沖P1時(shí),通過隧道效應(yīng),電子由襯底注入到G1浮柵,相當(dāng)于存儲(chǔ)了“1”。利用此方法可將存儲(chǔ)器抹成全“1”狀態(tài)。513.4.2 FLASH存儲(chǔ)器存儲(chǔ)器FLASH存儲(chǔ)器也翻譯成閃速存儲(chǔ)器,它是高密度非失易失性的讀/寫存儲(chǔ)器。高密度意味著它具有巨大比特?cái)?shù)目的存儲(chǔ)容量。非易失性意味著存放的數(shù)據(jù)在沒有電源的情況下可以長(zhǎng)期保存。總之,它既有RAM的優(yōu)點(diǎn),又有ROM的優(yōu)點(diǎn),稱得上是存儲(chǔ)技術(shù)劃時(shí)代的進(jìn)展。 523.4
21、.2 FLASH存儲(chǔ)器存儲(chǔ)器l1、FLASH存儲(chǔ)元 在EPROM存儲(chǔ)元基礎(chǔ)上發(fā)展起來的,由此可以看出創(chuàng)新與繼承的關(guān)系。l如右圖所示為閃速存儲(chǔ)器中的存儲(chǔ)元,由單個(gè)MOS晶體管組成,除漏極D和源極S外,還有一個(gè)控制柵和浮空柵。CAI533.4.2 FLASH存儲(chǔ)器存儲(chǔ)器2、FLASH存儲(chǔ)器的基本操作存儲(chǔ)器的基本操作 編程操作、讀取操作、擦除操作l如圖(a)表示編程操作時(shí)存儲(chǔ)元寫0、寫1的情況。實(shí)際上編程時(shí)只寫0,不寫1,因?yàn)榇鎯?chǔ)元擦除后原始狀態(tài)全為1。要寫0,就是要在控制柵C上加正電壓。一旦存儲(chǔ)元被編程,存儲(chǔ)的數(shù)據(jù)可保持100年之久而無需外電源。CAI543.4.2 FLASH存儲(chǔ)器存儲(chǔ)器3、FL
22、ASH存儲(chǔ)器的陣列結(jié)構(gòu)lFLASH存儲(chǔ)器的簡(jiǎn)化陣列結(jié)構(gòu)如右圖所示。在某一時(shí)間只有一條行選擇線被激活。讀操作時(shí),假定某個(gè)存儲(chǔ)元原存1,那么晶體管導(dǎo)通,與它所在位線接通,有電流通過位線,所經(jīng)過的負(fù)載上產(chǎn)生一個(gè)電壓降。這個(gè)電壓降送到比較器的一個(gè)輸入端,與另一端輸入的參照電壓做比較,比較器輸出一個(gè)標(biāo)志為邏輯1的電平。如果某個(gè)存儲(chǔ)元原先存0,那么晶體管不導(dǎo)通,位線上沒有電流,比較器輸出端則產(chǎn)生一個(gè)標(biāo)志為邏輯0的電平。 CAI553.5 并行存儲(chǔ)器并行存儲(chǔ)器3.5.1 雙端口存儲(chǔ)器雙端口存儲(chǔ)器3.5.2多模塊交叉存儲(chǔ)器多模塊交叉存儲(chǔ)器563.5 并行存儲(chǔ)器并行存儲(chǔ)器由于CPU和主存儲(chǔ)器之間在速度上是不匹配
23、的,這種情況便成為限制高速計(jì)算機(jī)設(shè)計(jì)的主要問題。為了提高CPU和主存之間的數(shù)據(jù)傳輸率,除了主存采用更高速的技術(shù)來縮短讀出時(shí)間外,還可以采用并行技術(shù)的存儲(chǔ)器。 573.5.1 雙端口存儲(chǔ)器雙端口存儲(chǔ)器1、雙端口存儲(chǔ)器的邏輯結(jié)構(gòu) 雙端口存儲(chǔ)器由于同一個(gè)存儲(chǔ)器具有兩組相互獨(dú)立的讀寫控制電路而得名。由于進(jìn)行并行的獨(dú)立操作,因而是一種高速工作的存儲(chǔ)器,在科研和工程中非常有用。 舉例說明,雙端口存儲(chǔ)器IDT7133的邏輯框圖 。如下頁(yè)圖。583.5.1 雙端口存儲(chǔ)器雙端口存儲(chǔ)器CAI593.5.1 雙端口存儲(chǔ)器雙端口存儲(chǔ)器2、無沖突讀寫控制 當(dāng)兩個(gè)端口的地址不相同時(shí),在兩個(gè)端口上進(jìn)行讀寫操作,一定不會(huì)發(fā)生
24、沖突。當(dāng)任一端口被選中驅(qū)動(dòng)時(shí),就可對(duì)整個(gè)存儲(chǔ)器進(jìn)行存取,每一個(gè)端口都有自己的片選控制(CE)和輸出驅(qū)動(dòng)控制(OE)。讀操作時(shí),端口的OE(低電平有效)打開輸出驅(qū)動(dòng)器,由存儲(chǔ)矩陣讀出的數(shù)據(jù)就出現(xiàn)在I/O線上。3、有沖突讀寫控制 當(dāng)兩個(gè)端口同時(shí)存取存儲(chǔ)器同一存儲(chǔ)單元時(shí),便發(fā)生讀寫沖突。為解決此問題,特設(shè)置了BUSY標(biāo)志。在這種情況下,片上的判斷邏輯可以決定對(duì)哪個(gè)端口優(yōu)先進(jìn)行讀寫操作,而對(duì)另一個(gè)被延遲的端口置BUSY標(biāo)志(BUSY變?yōu)榈碗娖?,即暫時(shí)關(guān)閉此端口。 603.5.1 雙端口存儲(chǔ)器雙端口存儲(chǔ)器有沖突讀寫控制判斷方法(1)如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進(jìn)行判
25、斷來選擇端口(CE判斷)。(2)如果CE在地址匹配之前變低,片上的控制邏輯在左、右地址間進(jìn)行判斷來選擇端口(地址有效判斷)。 無論采用哪種判斷方式,延遲端口的BUSY標(biāo)志都將置位而關(guān)閉此端口,而當(dāng)允許存取的端口完成操作時(shí),延遲端口BUSY標(biāo)志才進(jìn)行復(fù)位而打開此端口。613.5.1雙端口存儲(chǔ)器雙端口存儲(chǔ)器CAI623.5 并行存儲(chǔ)器并行存儲(chǔ)器1、存儲(chǔ)器的模塊化組織一個(gè)由若干個(gè)模塊組成的主存儲(chǔ)器是線性編址的。這些地址在各模塊中如何安排,有兩種方式:一種是順序方式,一種是交叉方式 CAI633.5.2 多模塊交叉存儲(chǔ)器多模塊交叉存儲(chǔ)器1、順序方式例M0M3共四個(gè)模塊,則每個(gè)模塊8個(gè)字順序方式: M0
26、:07 M1:815 M2:1623 M3:2431l5位地址組織如下: X X X X Xl高位選模塊,低位選塊內(nèi)地址l特點(diǎn):某個(gè)模塊進(jìn)行存取時(shí),其他模塊不工作,優(yōu)點(diǎn)是某一模塊出現(xiàn)故障時(shí),其他模塊可以照常工作,通過增添模塊來擴(kuò)充存儲(chǔ)器容量比較方便。缺點(diǎn)是各模塊串行工作,存儲(chǔ)器的帶寬受到了限制。643.5.2 多模塊交叉存儲(chǔ)器多模塊交叉存儲(chǔ)器例M0M3共四個(gè)模塊,則每個(gè)模塊8個(gè)字l交叉方式:l M0:0,4,.除以4余數(shù)為0l M1:1,5,.除以4余數(shù)為1l M2:2,6,.除以4余數(shù)為2l M3:3,7,.除以4余數(shù)為3l5位地址組織如下: X X X X Xl高位選塊內(nèi)地址,低位選模塊l
27、特點(diǎn):連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個(gè)模塊內(nèi)的地址都是不連續(xù)的。優(yōu)點(diǎn)是對(duì)連續(xù)字的成塊傳送可實(shí)現(xiàn)多模塊流水式并行存取,大大提高存儲(chǔ)器的帶寬。使用場(chǎng)合為成批數(shù)據(jù)讀取。653.5.2 多模塊交叉存儲(chǔ)器多模塊交叉存儲(chǔ)器2、多模塊交叉存儲(chǔ)器的基本結(jié)構(gòu) 右圖為四模塊交叉存儲(chǔ)器結(jié)構(gòu)框圖。主存被分成4個(gè)相互獨(dú)立、容量相同的模塊M0,M1,M2,M3,每個(gè)模塊都有自己的讀寫控制電路、地址寄存器和數(shù)據(jù)寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數(shù)據(jù)塊都是連續(xù)地在主存中存取,那么將大大提高主存的訪問速度。 CAI663.5.2 多模塊交叉存儲(chǔ)器多模塊交叉存儲(chǔ)器l通常在一個(gè)存儲(chǔ)器周期內(nèi),
28、n個(gè)存儲(chǔ)體必須分時(shí)啟動(dòng),則各個(gè)存儲(chǔ)體的啟動(dòng)間隔為 (n為交叉存取度)l整個(gè)存儲(chǔ)器的存取速度有望提高n倍nTt/)1()1(nnxTtxTtxTt交叉順序CAI67例例5 設(shè)存儲(chǔ)器容量為設(shè)存儲(chǔ)器容量為32字,字長(zhǎng)字,字長(zhǎng)64位,模塊數(shù)位,模塊數(shù)m=4,分別用順序方式,分別用順序方式和交叉方式進(jìn)行組織。存儲(chǔ)周期和交叉方式進(jìn)行組織。存儲(chǔ)周期T=200ns,數(shù)據(jù)總線寬度為,數(shù)據(jù)總線寬度為64位,總位,總線傳送周期線傳送周期=50ns。若連續(xù)讀出。若連續(xù)讀出4個(gè)字,問順序存儲(chǔ)器和交叉存儲(chǔ)器個(gè)字,問順序存儲(chǔ)器和交叉存儲(chǔ)器的帶寬各是多少的帶寬各是多少?解:順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出m=4個(gè)字的信息總量都
29、是:q=64b4=256b順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出4個(gè)字所需的時(shí)間分別是:t2=mT=4200ns=800ns=810-7st1=T+(m-1)=200ns+350ns=350ns=3510-7s順序存儲(chǔ)器和交叉存儲(chǔ)器的帶寬分別是:W2=q/t2=256b(810-7)s=320Mb/sW1=q/t1=256b(3510-7)s=730Mb/s68 3、二模塊交叉存儲(chǔ)器舉例、二模塊交叉存儲(chǔ)器舉例3.5.2 多模塊交叉存儲(chǔ)器多模塊交叉存儲(chǔ)器CAI69 3、二模塊交叉存儲(chǔ)器舉例、二模塊交叉存儲(chǔ)器舉例3.5.2 多模塊交叉存儲(chǔ)器多模塊交叉存儲(chǔ)器CAI703.6 cache存儲(chǔ)器存儲(chǔ)器3.6.1
30、 cache基本原理基本原理3.6.2 主存與主存與cache的地址映射的地址映射3.6.3替換策略替換策略3.6.4 cache的寫操作策略的寫操作策略3.6.5Pentium4的的cache組織組織3.6.6使用多級(jí)使用多級(jí)cache減少缺失損失減少缺失損失713.6.1 cache基本原理基本原理1、cache的功能解決CPU和主存之間的速度不匹配問題l一般采用高速的SRAM構(gòu)成。lCPU和主存之間的速度差別很大采用兩級(jí)或多級(jí)Cache系統(tǒng)l早期的一級(jí)Cache在CPU內(nèi),二級(jí)在主板上l現(xiàn)在的CPU內(nèi)帶L1 Cache和L2 Cachel全由硬件調(diào)度,對(duì)用戶透明723.6.1 cache
31、基本原理基本原理CPU與存儲(chǔ)器系統(tǒng)的關(guān)系733.6.1 cache基本原理基本原理2、cache基本原理l地址映射;l替換策略;l寫一致性;l性能評(píng)價(jià)。CAI743.6.1 cache基本原理基本原理3、 Cache的命中率 從CPU來看,增加一個(gè)cache的目的,就是在性能上使主存的平均讀出時(shí)間盡可能接近c(diǎn)ache的讀出時(shí)間。為了達(dá)到這個(gè)目的,在所有的存儲(chǔ)器訪問中由cache滿足CPU需要的部分應(yīng)占很高的比例,即cache的命中率應(yīng)接近于1。由于程序訪問的局部性,實(shí)現(xiàn)這個(gè)目標(biāo)是可能的。 753.6.1 cache基本原理基本原理3、cache命中率公式cmcamcameettrhrrttet
32、hhttNNNh/)1 (1)1 (命中率命中率 Cache/主存系統(tǒng)的主存系統(tǒng)的平均訪問時(shí)間平均訪問時(shí)間訪問效率訪問效率Cache與內(nèi)存的速與內(nèi)存的速度比度比76例例6 CPU執(zhí)行一段程序時(shí),執(zhí)行一段程序時(shí),cache完成存取的次數(shù)完成存取的次數(shù)為為1900次,主存完成存取的次數(shù)為次,主存完成存取的次數(shù)為100次,已知次,已知cache存取周期為存取周期為50ns,主存存取周期為,主存存取周期為250ns,求求cache/主存系統(tǒng)的效率和平均訪問時(shí)間。主存系統(tǒng)的效率和平均訪問時(shí)間。 解:lh=Nc/(Nc+Nm)=1900/(1900+100)=0.95lr=tm/tc=250ns/50ns
33、=5le=1/(r+(1-r)h)=1/(5+(1-5)0.95=83.3%lta=tc/e=50ns/0.833=60ns 773.6.2主存與主存與Cache的地址映射的地址映射l無論選擇那種映射方式,都要把主存和cache劃分為同樣大小的“塊”。l選擇哪種映射方式,要考慮:l硬件是否容易實(shí)現(xiàn)l地址變換的速度是否快l主存空間的利用率是否高l主存裝入一塊時(shí),發(fā)生沖突的概率l以下我們介紹三種映射方法781、全相聯(lián)的映射方式(1)將地址分為兩部分(塊號(hào)和字),在內(nèi)存塊寫入Cache時(shí),同時(shí)寫入塊號(hào)標(biāo)記;(2)CPU給出訪問地址后,也將地址分為兩部分(塊號(hào)和字),比較電路塊號(hào)與Cache 表中的標(biāo)
34、記進(jìn)行比較,相同表示命中,訪問相應(yīng)單元;如果沒有命中訪問內(nèi)存,CPU 直接訪問內(nèi)存,并將被訪問內(nèi)存的相對(duì)應(yīng)塊寫入Cache。3.6.2 主存與主存與cache的地址映射的地址映射791、全相全相聯(lián)的聯(lián)的映射映射方式方式CAI803.6.2 主存與主存與cache的地址映射的地址映射1、全相聯(lián)的映射方式 轉(zhuǎn)換公式 主存地址長(zhǎng)度主存地址長(zhǎng)度(s+w)位位尋址單元數(shù)尋址單元數(shù)2w個(gè)字或字節(jié)個(gè)字或字節(jié)塊大小塊大小行大小行大小2w個(gè)字或字節(jié)個(gè)字或字節(jié)主存的塊數(shù)主存的塊數(shù)2s標(biāo)記大小標(biāo)記大小s位位cache的行數(shù)的行數(shù)不由地址格式確定不由地址格式確定813.6.2 主存與主存與cache的地址映射的地址映
35、射1、全相聯(lián)的映射方式特點(diǎn):l優(yōu)點(diǎn):沖突概率小,Cache的利用高。l缺點(diǎn):比較器難實(shí)現(xiàn),需要一個(gè)訪問速度很快代價(jià)高的相聯(lián)存儲(chǔ)器應(yīng)用場(chǎng)合:l適用于小容量的Cache823.6.2 主存與主存與cache的地址映射的地址映射2、直接映射方式映射方法(一對(duì)多)如:li= j mod ml主存第j塊內(nèi)容拷貝到Cache的i行l(wèi)一般I和m都是2N級(jí) 例cache容量16字,主存容量256字,則地址2,18,34.242等都存放在cache的地址2內(nèi),如果第一次2在cache中,下次訪問34內(nèi)容,則不管cache其他位置的內(nèi)容訪問情況,都會(huì)引起2塊內(nèi)容的替換832、直接映直接映射射方式方式2、基本原理l
36、利用行號(hào)選擇相應(yīng)行;l把行標(biāo)記與CPU訪問地址進(jìn)行比較,相同表示命中,訪問Cache;l如果沒有命中,訪問內(nèi) 存,并將相應(yīng)塊寫入CacheCAI843.6.2 主存與主存與cache的地址映射的地址映射2、直接映射方式 轉(zhuǎn)換公式 主存地址長(zhǎng)度主存地址長(zhǎng)度(s+w)位位尋址單元數(shù)尋址單元數(shù)2s+w個(gè)字或字節(jié)個(gè)字或字節(jié)塊大小塊大小行大小行大小2w個(gè)字或字節(jié)個(gè)字或字節(jié)主存的塊數(shù)主存的塊數(shù)2scache的行數(shù)的行數(shù)m2r標(biāo)記大小標(biāo)記大小(s-r)位位853.6.2 主存與主存與cache的地址映射的地址映射2、直接映射方式特點(diǎn)l優(yōu)點(diǎn):比較電路少m倍線路,所以硬件實(shí)現(xiàn)簡(jiǎn)單,Cache地址為主存地址的低幾
37、位,不需變換。l缺點(diǎn):沖突概率高(抖動(dòng))應(yīng)用場(chǎng)合l適合大容量Cache863.6.2 主存與主存與cache的地址映射的地址映射3、組相聯(lián)映射方式l前兩者的組合lCache分組,組間采用直接映射方式,組內(nèi)采用全相聯(lián)的映射方式lCache分組U,組內(nèi)容量Vl映射方法(一對(duì)多)lq= j mod ul主存第j塊內(nèi)容拷貝到Cache的q組中的某行l(wèi)地址變換l設(shè)主存地址x,看是不是在cache中,先y= x mod u,則在y組中一次查找873.6.2 主存與主存與cache的地址映射的地址映射3、組相聯(lián)映射方式l分析:比全相聯(lián)容易實(shí)現(xiàn),沖突低lv=1,則為直接相聯(lián)映射方式lu=1,則為全相聯(lián)映射方式
38、lv的取值一般比較小, 一般是2的冪,稱之為v路組相聯(lián)cache.88CAI893.6.2 主存與主存與cache的地址映射的地址映射3、組相聯(lián)映射方式轉(zhuǎn)換公式 主存地址長(zhǎng)度主存地址長(zhǎng)度(s+w)位位尋址單元數(shù)尋址單元數(shù)2s+w個(gè)字或字節(jié)個(gè)字或字節(jié)塊大小塊大小行大小行大小2w個(gè)字或字節(jié)個(gè)字或字節(jié)主存的塊數(shù)主存的塊數(shù)2s每組的行數(shù)每組的行數(shù)k每組的每組的v2dcache的行數(shù)的行數(shù)kv標(biāo)記大小標(biāo)記大小(s-d)位位903.6.2 主存與主存與cache的地址映射的地址映射913.6.2 主存與主存與cache的地址映射的地址映射例8:一個(gè)組相聯(lián)cache由64個(gè)行組成,每組4行。主存包含4K個(gè)塊
39、,每塊128字。請(qǐng)表示內(nèi)存地址的格式。解:塊大小行大小2w個(gè)字12827 w7每組的行數(shù)k4cache的行數(shù)kvK2d42d64 d4組數(shù)v2d2416主存的塊數(shù)2s4K2221022 s12標(biāo)記大小(s-d)位12-48位主存地址長(zhǎng)度(s+w)位12+719位主存尋址單元數(shù)2s+w219故 k4各組相聯(lián)的內(nèi)存地址格式如下所示: 8位位 4位位 7位位 標(biāo)記標(biāo)記s-d組號(hào)組號(hào)d字號(hào)字號(hào)w923.6.3 替換策略替換策略lLFU(最不經(jīng)常使用 ):被訪問的行計(jì)數(shù)器增加1,換值小的行,不能反映近期cache的訪問情況,lLRU(近期最少使用) :被訪問的行計(jì)數(shù)器置0,其他的計(jì)數(shù)器增加1,換值大的行
40、,符合cache的工作原理l隨機(jī)替換:隨機(jī)替換策略實(shí)際上是不要什么算法,從特定的行位置中隨機(jī)地選取一行換出即可。這種策略在硬件上容易實(shí)現(xiàn),且速度也比前兩種策略快。缺點(diǎn)是隨意換出的數(shù)據(jù)很可能馬上又要使用,從而降低命中率和cache工作效率。但這個(gè)不足隨著cache容量增大而減小。隨機(jī)替換策略的功效只是稍遜于前兩種策略。933.6.4 寫操作策略寫操作策略l由于cache的內(nèi)容只是主存部分內(nèi)容的拷貝,它應(yīng)當(dāng)與主存內(nèi)容保持一致。而CPU對(duì)cache的寫入更改了cache的內(nèi)容。如何與主存內(nèi)容保持一致,可選用如下三種寫操作策略。 寫回法:換出時(shí),對(duì)行的修改位進(jìn)行判斷,決定是寫回還是舍掉。 全寫法:寫命
41、中時(shí),Cache與內(nèi)存一起寫 寫一次法:與寫回法一致,但是第一次Cache命中時(shí)采用全寫法。943.6.5 Pentium 4的的Cache組織組織主要包括四個(gè)部分:l取指/譯碼單元:順序從L2cache中取程序指令,將它們譯成一系列的微指令,并存入L1指令cache中。l亂序執(zhí)行邏輯:依據(jù)數(shù)據(jù)相關(guān)性和資源可用性,調(diào)度微指令的執(zhí)行,因而微指令可按不同于所取機(jī)器指令流的順序被調(diào)度執(zhí)行。l執(zhí)行單元:它執(zhí)行微指令,從L1數(shù)據(jù)cache中取所需數(shù)據(jù),并在寄存器組中暫存運(yùn)算結(jié)果。l存儲(chǔ)器子系統(tǒng):這部分包括L2cache、L3cache和系統(tǒng)總線。當(dāng)L1、L2cache未命中時(shí),使用系統(tǒng)總線訪問主存。系統(tǒng)
42、總線還用于訪問I/O資源。不同于所有先前Pentium模式和大多數(shù)處理器所采用的結(jié)構(gòu),Pentium 4的指令cache位于指令譯碼邏輯和執(zhí)行部件之間。其設(shè)計(jì)理念是:Pentium 4將機(jī)器指令譯成由微指令組成的簡(jiǎn)單RISC類指令,而使用簡(jiǎn)單定長(zhǎng)的微指令可允許采用超標(biāo)量流水線和調(diào)度技術(shù),從而增強(qiáng)機(jī)器的性能。953.6.5 Pentium 的的Cache組織組織l基本原理見下圖CAI963.6.6 使用多級(jí)使用多級(jí)cache減少缺失損失減少缺失損失 為進(jìn)一步縮小現(xiàn)代CPU和DRAM訪問速度的差距,CPU支持附加一級(jí)的cache。二級(jí)cache在訪問主cache缺失時(shí)被訪問,各級(jí)cache都不包含
43、所訪問數(shù)據(jù)時(shí),需要訪問主存儲(chǔ)器。例10 現(xiàn)有一處理器,基本CPI為1.0,所有訪問在第一級(jí)cache中命中,時(shí)鐘頻率5GHz。假定訪問一次主存儲(chǔ)器的時(shí)間為100ns,其中包括所有缺失處理。設(shè)平均每條指令在第一級(jí)cache中產(chǎn)生的缺失率為2%。若增加一個(gè)二級(jí)cache,命中或缺失的訪問時(shí)間都為5ns,且容量大到可使必須訪問主存的缺失率降為0.5%,問處理器速度提高多少。解得只有一級(jí)cache的CPU:總的CPI11.0有二級(jí)cache的CPU:總的CPI4.0后者是前者CPU性能的:11.04.02.8倍973.7 虛擬存儲(chǔ)器虛擬存儲(chǔ)器3.7.1 虛擬存儲(chǔ)器的基本概念虛擬存儲(chǔ)器的基本概念3.7.
44、2 頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器3.7.3段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器3.7.4 虛存的替換算法虛存的替換算法返回983.7.1 虛擬存儲(chǔ)器的基本概念虛擬存儲(chǔ)器的基本概念1、實(shí)地址與虛地址:用戶編制程序時(shí)使用的地址稱為虛地址或邏輯地址,其對(duì)應(yīng)的存儲(chǔ)空間稱為虛存空間或邏輯地址空間;而計(jì)算機(jī)物理內(nèi)存的訪問地址則稱為實(shí)地地或物理地址,其對(duì)應(yīng)的存儲(chǔ)空間稱為物理存儲(chǔ)空間或主存空間。程序進(jìn)行虛地址到實(shí)地址轉(zhuǎn)換的過程稱為程序的再定位。993.7.1 虛擬存儲(chǔ)器的基本概念虛擬存儲(chǔ)器的基本概念2、虛存的訪問過程 虛存空間的用戶程序按照虛地址編程并存放在輔存中。程序運(yùn)行時(shí),由地
45、址變換機(jī)構(gòu)依據(jù)當(dāng)時(shí)分配給該程序的實(shí)地址空間把程序的一部分調(diào)入實(shí)存。每次訪存時(shí),首先判斷該虛地址所對(duì)應(yīng)的部分是否在實(shí)存中:如果是,則進(jìn)行地址轉(zhuǎn)換并用實(shí)地址訪問主存;否則,按照某種算法將輔存中的部分程序調(diào)度進(jìn)內(nèi)存,再按同樣的方法訪問主存。由此可見,每個(gè)程序的虛地址空間可以遠(yuǎn)大于實(shí)地址空間,也可以遠(yuǎn)小于實(shí)地址空間。前一種情況以提高存儲(chǔ)容量為目的,后一種情況則以地址變換為目的。后者通常出現(xiàn)在多用戶或多任務(wù)系統(tǒng)中:實(shí)存空間較大,而單個(gè)任務(wù)并不需要很大的地址空間,較小的虛存空間則可以縮短指令中地址字段的長(zhǎng)度。1003.7.1 虛擬存儲(chǔ)器的基本概念虛擬存儲(chǔ)器的基本概念3、cache與虛存的異同l從虛存的概念
46、可以看出,主存輔存的訪問機(jī)制與cache主存的訪問機(jī)制是類似的。這是由cache存儲(chǔ)器、主存和輔存構(gòu)成的三級(jí)存儲(chǔ)體系中的兩個(gè)層次。 lcache和主存之間以及主存和輔存之間分別有輔助硬件和輔助軟硬件負(fù)責(zé)地址變換與管理,以便各級(jí)存儲(chǔ)器能夠組成有機(jī)的三級(jí)存儲(chǔ)體系。cache和主存構(gòu)成了系統(tǒng)的內(nèi)存,而主存和輔存依靠輔助軟硬件的支持構(gòu)成了虛擬存儲(chǔ)器。1013.7.1 虛擬存儲(chǔ)器的基本概念虛擬存儲(chǔ)器的基本概念 在三級(jí)存儲(chǔ)體系中,cache主存和主存輔存這兩個(gè)存儲(chǔ)層次有許多相同點(diǎn);(1)出發(fā)點(diǎn)相同出發(fā)點(diǎn)相同 二者都是為了提高存儲(chǔ)系統(tǒng)的性能價(jià)格比而構(gòu)造的分層存儲(chǔ)體系,都力圖使存儲(chǔ)系統(tǒng)的性能接近高速存儲(chǔ)器,而
47、價(jià)格和容量接近低速存儲(chǔ)器。(2)原理相同原理相同 都是利用了程序運(yùn)行時(shí)的局部性原理把最近常用的信息塊從相對(duì)慢速而大容量的存儲(chǔ)器調(diào)入相對(duì)高速而小容量的存儲(chǔ)器。但cache主存和主存輔存這兩個(gè)存儲(chǔ)層次也有許多不同之處: (3)側(cè)重點(diǎn)不同側(cè)重點(diǎn)不同 cache主要解決主存與CPU的速度差異問題;而就性能價(jià)格比的提高而言,虛存主要是解決存儲(chǔ)容量問題,另外還包括存儲(chǔ)管理、主存分配和存儲(chǔ)保護(hù)等方面。(4)數(shù)據(jù)通路不同數(shù)據(jù)通路不同 CPU與cache和主存之間均有直接訪問通路,cache不命中時(shí)可直接訪問主存;而虛存所依賴的輔存與CPU之間不存在直接的數(shù)據(jù)通路,當(dāng)主存不命中時(shí)只能通過調(diào)頁(yè)解決,CPU最終還是
48、要訪問主存。(5)透明性不同透明性不同 cache的管理完全由硬件完成,對(duì)系統(tǒng)程序員和應(yīng)用程序員均透明;而虛存管理由軟件(操作系統(tǒng))和硬件共同完成,由于軟件的介入,虛存對(duì)實(shí)現(xiàn)存儲(chǔ)管理的系統(tǒng)程序員不透明,而只對(duì)應(yīng)用程序員透明(段式和段頁(yè)式管理對(duì)應(yīng)用程序員“半透明”)。(6)未命中時(shí)的損失不同未命中時(shí)的損失不同 由于主存的存取時(shí)間是cache的存取時(shí)間的510倍,而主存的存取速度通常比輔存的存取速度快上千倍,故主存未命中時(shí)系統(tǒng)的性能損失要遠(yuǎn)大于cache未命中時(shí)的損失。1023.7.1 虛擬存儲(chǔ)器的基本概念虛擬存儲(chǔ)器的基本概念4、虛存機(jī)制要解決的關(guān)鍵問題(1)調(diào)度問題決定哪些程序和數(shù)據(jù)應(yīng)被調(diào)入主存
49、。 (2)地址映射問題在訪問主存時(shí)把虛地址變?yōu)橹鞔嫖锢淼刂罚ㄟ@一過程稱為內(nèi)地址變換);在訪問輔存時(shí)把虛地址變成輔存的物理地址(這一過程稱為外地址變換),以便換頁(yè)。此外還要解決主存分配、存儲(chǔ)保護(hù)與程序再定位等問題。(3)替換問題決定哪些程序和數(shù)據(jù)應(yīng)被調(diào)出主存。 (4)更新問題確保主存與輔存的一致性。 l在操作系統(tǒng)的控制下,硬件和系統(tǒng)軟件為用戶解決了上述問題,從而使應(yīng)用程序的編程大大簡(jiǎn)化。1033.7.2 頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器1、頁(yè)式虛存地址映射 頁(yè)式虛擬存儲(chǔ)系統(tǒng)中,虛地址空間被分成等長(zhǎng)大小的頁(yè),稱為邏輯頁(yè);主存空間也被分成同樣大小的頁(yè),稱為物理頁(yè)。相應(yīng)地,虛地址分為兩個(gè)字段:高字段為邏輯
50、頁(yè)號(hào),低字段為頁(yè)內(nèi)地址(偏移量);實(shí)存地址也分兩個(gè)字段:高字段為物理頁(yè)號(hào),低字段為頁(yè)內(nèi)地址。通過頁(yè)表可以把虛地址(邏輯地址)轉(zhuǎn)換成物理地址。 頁(yè)式虛擬存儲(chǔ)器的地址映射過程見下圖。1043.7.2 頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器1、頁(yè)式虛存地址映射 CAI1053.7.2 頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器1、頁(yè)式虛存地址映射 l在大多數(shù)系統(tǒng)中,每個(gè)進(jìn)程對(duì)應(yīng)一個(gè)頁(yè)表。頁(yè)表中對(duì)應(yīng)每一個(gè)虛存頁(yè)面有一個(gè)表項(xiàng),表項(xiàng)的內(nèi)容包含該虛存頁(yè)面所在的主存頁(yè)面的地址(物理頁(yè)號(hào)),以及指示該邏輯頁(yè)是否已調(diào)入主存的有效位。地址變換時(shí),用邏輯頁(yè)號(hào)作為頁(yè)表內(nèi)的偏移地址索引頁(yè)表(將虛頁(yè)號(hào)看作頁(yè)表數(shù)組下標(biāo))并找到相應(yīng)物理頁(yè)號(hào),用物理頁(yè)
51、號(hào)作為實(shí)存地址的高字段,再與虛地址的頁(yè)內(nèi)偏移量拼接,就構(gòu)成完整的物理地址?,F(xiàn)代的中央處理機(jī)通常有專門的硬件支持地址變換。 l每個(gè)進(jìn)程所需的頁(yè)數(shù)并不固定,所以頁(yè)表的長(zhǎng)度是可變的,因此通常的實(shí)現(xiàn)方法是把頁(yè)表的基地址保存在寄存器中,而頁(yè)表本身則放在主存中。由于虛存地址空間可以很大,因而每個(gè)進(jìn)程的頁(yè)表有可能非常長(zhǎng)。例如,如果一個(gè)進(jìn)程的虛地址空間為2G字節(jié),每頁(yè)的大小為512字節(jié),則總的虛頁(yè)數(shù)為231/29=222。1063.7.2 頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器l為了節(jié)省頁(yè)表本身占用的主存空間,一些系統(tǒng)把頁(yè)表存儲(chǔ)在虛存中,因而頁(yè)表本身也要進(jìn)行分頁(yè)。當(dāng)一個(gè)進(jìn)程運(yùn)行時(shí),其頁(yè)表中一部分在主存中,另一部分則在輔
52、存中保存。l另一些系統(tǒng)采用二級(jí)頁(yè)表結(jié)構(gòu)。每個(gè)進(jìn)程有一個(gè)頁(yè)目錄表,其中的每個(gè)表項(xiàng)指向一個(gè)頁(yè)表。因此,若頁(yè)目錄表的長(zhǎng)度(表項(xiàng)數(shù))是m,每個(gè)頁(yè)表的最大長(zhǎng)度(表項(xiàng)數(shù))為n,則一個(gè)進(jìn)程最多可以有mn個(gè)頁(yè)。l在頁(yè)表長(zhǎng)度較大的系統(tǒng)中,還可以采用反向頁(yè)表實(shí)現(xiàn)物理頁(yè)號(hào)到邏輯頁(yè)號(hào)的反向映射。頁(yè)表中對(duì)應(yīng)每一個(gè)物理頁(yè)號(hào)有一個(gè)表項(xiàng),表項(xiàng)的內(nèi)容包含該物理頁(yè)所對(duì)應(yīng)的邏輯頁(yè)號(hào)。訪存時(shí),通過邏輯頁(yè)號(hào)在反向頁(yè)表中逐一查找。如果找到匹配的頁(yè),則用表項(xiàng)中的物理頁(yè)號(hào)取代邏輯頁(yè)號(hào);如果沒有匹配表項(xiàng),則說明該頁(yè)不在主存中。這種方式的優(yōu)點(diǎn)是頁(yè)表所占空間大大縮小,但代價(jià)是需要對(duì)反向頁(yè)表進(jìn)行檢索,查表的時(shí)間很長(zhǎng)。有些系統(tǒng)通過散列(哈希)表加以改
53、進(jìn)。1073.7.2 頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器2、轉(zhuǎn)換后援緩沖器 l由于頁(yè)表通常在主存中,因而即使邏輯頁(yè)已經(jīng)在主存中,也至少要訪問兩次物理存儲(chǔ)器才能實(shí)現(xiàn)一次訪存,這將使虛擬存儲(chǔ)器的存取時(shí)間加倍。為了避免對(duì)主存訪問次數(shù)的增多,可以對(duì)頁(yè)表本身實(shí)行二級(jí)緩存,把頁(yè)表中的最活躍的部分存放在高速存儲(chǔ)器中,組成快表。這個(gè)專用于頁(yè)表緩存的高速存儲(chǔ)部件通常稱為轉(zhuǎn)換后援緩沖器(TLB)。保存在主存中的完整頁(yè)表則稱為慢表。1083.7.2 頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器 TLB的地址映射過程見圖CAI1093.7.2 頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器l內(nèi)頁(yè)表和外頁(yè)表 頁(yè)表是虛地址到主存物理地址的變換表,通常稱為內(nèi)頁(yè)表
54、。與內(nèi)頁(yè)表對(duì)應(yīng)的還有外頁(yè)表,用于虛地址與輔存地址之間的變換。當(dāng)主存缺頁(yè)時(shí),調(diào)頁(yè)操作首先要定位輔存,而外頁(yè)表的結(jié)構(gòu)與輔存的尋址機(jī)制密切相關(guān)。例如對(duì)磁盤而言,輔存地址包括磁盤機(jī)號(hào)、磁頭號(hào)、磁道號(hào)和扇區(qū)號(hào)等。1103.7.3 段式虛擬存儲(chǔ)器和段頁(yè)式虛段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器擬存儲(chǔ)器1、段式虛擬存儲(chǔ)器:段是按照程序的自然分界劃分的長(zhǎng)度可以動(dòng)態(tài)改變的區(qū)域。通常,程序員把子程序、操作數(shù)和常數(shù)等不同類型的數(shù)據(jù)劃分到不同的段中,并且每個(gè)程序可以有多個(gè)相同類型的段。在段式虛擬存儲(chǔ)系統(tǒng)中,虛地址由段號(hào)和段內(nèi)地址(偏移量)組成。虛地址到實(shí)主存地址的變換通過段表實(shí)現(xiàn)。每個(gè)程序設(shè)置一個(gè)段表,段表的每一個(gè)表項(xiàng)對(duì)應(yīng)
55、一個(gè)段。每個(gè)表項(xiàng)至少包含下面三個(gè)字段: (1)有效位:指明該段是否已經(jīng)調(diào)入實(shí)存。 (2)段起址:指明在該段已經(jīng)調(diào)入實(shí)存的情況下,該段在實(shí)存中的首地址。 (3)段長(zhǎng):記錄該段的實(shí)際長(zhǎng)度。設(shè)置段長(zhǎng)字段的目的是為了保證訪問某段的地址空間時(shí),段內(nèi)地址不會(huì)超出該段長(zhǎng)度導(dǎo)致地址越界而破壞其他段。 段表本身也是一個(gè)段,可以存在輔存中,但一般是駐留在主存中。1113.7.3 段式虛擬存儲(chǔ)器和段頁(yè)式虛段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器擬存儲(chǔ)器段式虛地址向?qū)嵈娴刂返淖儞Q過程CAI1123.7.3 段式虛擬存儲(chǔ)器和段頁(yè)式虛段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器擬存儲(chǔ)器段式虛擬存儲(chǔ)器的特點(diǎn) l段式虛擬存儲(chǔ)器有許多優(yōu)點(diǎn):段的邏
56、輯獨(dú)立性使其易于編譯、管理、修改和保護(hù),也便于多道程序共享。段長(zhǎng)可以根據(jù)需要?jiǎng)討B(tài)改變,允許自由調(diào)度,以便有效利用主存空間。l段式虛擬存儲(chǔ)器也有一些缺點(diǎn):因?yàn)槎蔚拈L(zhǎng)度不固定,主存空間分配比較麻煩。容易在段間留下許多外碎片,造成存儲(chǔ)空間利用率降低。由于段長(zhǎng)不一定是2的整數(shù)次冪,因而不能簡(jiǎn)單地像分頁(yè)方式那樣用虛地址和實(shí)地址的最低若干二進(jìn)制位作為段內(nèi)偏移量,并與段號(hào)進(jìn)行直接拼接,必須用加法操作通過段起址與段內(nèi)偏移量的求和運(yùn)算求得物理地址。因此,段式存儲(chǔ)管理比頁(yè)式存儲(chǔ)管理方式需要更多的硬件支持。1133.7.3 段式虛擬存儲(chǔ)器和段頁(yè)式虛段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器擬存儲(chǔ)器2、段頁(yè)式虛擬存儲(chǔ)器 l段頁(yè)
57、式虛擬存儲(chǔ)器是段式虛擬存儲(chǔ)器和頁(yè)式虛擬存儲(chǔ)器的結(jié)合。l實(shí)存被等分成頁(yè)。每個(gè)程序則先按邏輯結(jié)構(gòu)分段,每段再按照實(shí)存的頁(yè)大小分頁(yè),程序按頁(yè)進(jìn)行調(diào)入和調(diào)出操作,但可按段進(jìn)行編程、保護(hù)和共享。1143.7.3 段式虛擬存儲(chǔ)器和段頁(yè)式虛段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器擬存儲(chǔ)器例1 假設(shè)有三道程序,基號(hào)用A、B和C表示,其基址寄存器的內(nèi)容分別為SA、SB和SC。程序A由4個(gè)段構(gòu)成,程序C由3個(gè)段構(gòu)成。段頁(yè)式虛擬存儲(chǔ)系統(tǒng)的邏輯地址到物理地址的變換過程如圖所示。在主存中,每道程序都有一張段表,A程序有4段,C程序有3段,每段應(yīng)有一張頁(yè)表,段表的每行就表示相應(yīng)頁(yè)表的起始位置,而頁(yè)表內(nèi)的每行即為相應(yīng)的物理頁(yè)號(hào)。請(qǐng)
58、說明虛實(shí)地址變換過程。1153.7.3 段式虛擬存儲(chǔ)器和段頁(yè)式虛段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器擬存儲(chǔ)器CAI1163.7.3 段式虛擬存儲(chǔ)器和段頁(yè)式虛段式虛擬存儲(chǔ)器和段頁(yè)式虛擬存儲(chǔ)器擬存儲(chǔ)器例1 解:地址變換過程如下: (1)由存儲(chǔ)管理部件根據(jù)基號(hào)C找到段表基址寄存器表第c個(gè) 表項(xiàng),獲得程序C的段表基址SC。再根據(jù)段號(hào)S(=1)找到 程序C段表的第S個(gè)表項(xiàng),得到段S的頁(yè)表起始地址b。 (2)根據(jù)段內(nèi)邏輯頁(yè)號(hào)P(=2)檢索頁(yè)表,得到物理頁(yè)號(hào)(圖中 為10)。 (3)物理頁(yè)號(hào)與頁(yè)內(nèi)地址偏移量拼接即得物理地址。 假如計(jì)算機(jī)系統(tǒng)中只有一個(gè)基址寄存器,則基號(hào)可不要。 多道程序切換時(shí),由操作系統(tǒng)修改基址
59、寄存器內(nèi)容。 實(shí)際上,上述每個(gè)段表和頁(yè)表的表項(xiàng)中都應(yīng)設(shè)置一個(gè)有 效位。只有在有效位為1時(shí)才按照上述流程操作,否則需中斷 當(dāng)前操作先進(jìn)行建表或調(diào)頁(yè)。 可以看出,段頁(yè)式虛擬存儲(chǔ)器的缺點(diǎn)是在由虛地址向主存地 址的映射過程中需要多次查表,因而實(shí)現(xiàn)復(fù)雜度較高1173.7.4 虛存的替換算法虛存的替換算法當(dāng)從輔存調(diào)頁(yè)至主存而主存已滿時(shí),也需要進(jìn)行主存頁(yè)面的替換。虛擬存儲(chǔ)器的替換算法與cache的替換算法類似,有FIFO算法、LRU算法、LFU算法等。1183.7.4 虛存的替換算法虛存的替換算法虛擬存儲(chǔ)器的替換算法與cache的替換算法不同的是: (1)cache的替換全部靠硬件實(shí)現(xiàn),而虛擬存儲(chǔ) 器的替換
60、有操作系統(tǒng)的支持。 (2)虛存缺頁(yè)對(duì)系統(tǒng)性能的影響比cache未命中 要大得多,因?yàn)檎{(diào)頁(yè)需要訪問輔存,并且要進(jìn) 行任務(wù)切換。(3)虛存頁(yè)面替換的選擇余地很大,屬于一個(gè)進(jìn) 程的頁(yè)面都可替換。1193.7.4 虛存的替換算法虛存的替換算法例2 假設(shè)主存只允許存放a、b、c三個(gè)頁(yè)面,邏輯上構(gòu)成a進(jìn)c出的FIFO隊(duì)列。某次操作中進(jìn)程訪存的序列是0,1,2,4,2,3,0,2,1,3,2(虛頁(yè)號(hào))。若分別采用FIFO算法、FIFO+LRU算法,請(qǐng)用列表法分別求兩種替換策略情況下主存的命中率。解:求得FIFO算法命中率:2/11=18.2%FIFO+LRU算法命中率:3/11=27.3%(見書上289頁(yè)表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 婚后寫婚前協(xié)議書
- 廣告店合伙協(xié)議書
- 村采購(gòu)服裝協(xié)議書
- 育肥牛收購(gòu)協(xié)議書
- 購(gòu)車款贈(zèng)予協(xié)議書
- 和公司免責(zé)協(xié)議書
- 婚姻復(fù)合后協(xié)議書
- 解困房定金協(xié)議書
- 思源班就讀協(xié)議書
- 高空作業(yè)檢修機(jī)器人行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 2024年新疆維吾爾自治區(qū)中考英語(yǔ)真題含解析
- 電氣接地培訓(xùn)課件
- 《甲狀腺髓樣癌》課件
- 文書模板-《因病申請(qǐng)低保申請(qǐng)書》
- 2024網(wǎng)絡(luò)安全技術(shù)技能人才職業(yè)能力圖譜
- 新:惡性腫瘤免疫治療技術(shù)應(yīng)用指南
- 《焊接機(jī)器人》課件
- DB52T 1211-2017 電站汽輪機(jī)數(shù)字電液控制系統(tǒng)并網(wǎng)試驗(yàn)及檢測(cè)指標(biāo)
- 醫(yī)療行業(yè)招標(biāo)代理服務(wù)方案
- 2024年賓館衛(wèi)生管理制度(四篇)
- 【核心素養(yǎng)目標(biāo)】數(shù)學(xué)人教版八年級(jí)上冊(cè)11.3.1 多邊形 教案
評(píng)論
0/150
提交評(píng)論