




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、計(jì)算機(jī)組成原理 武漢科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,第三章 內(nèi)部存儲(chǔ)器,本章內(nèi)容 3.1 存儲(chǔ)器概述 3.2 SRAM存儲(chǔ)器 3.3 DRAM存儲(chǔ)器 3.4 只讀存儲(chǔ)器和閃速存儲(chǔ)器 3.5 并行存儲(chǔ)器 3.6 Cache存儲(chǔ)器 9.4 虛擬存儲(chǔ)器,3.1 存儲(chǔ)器概述,3.1.1 存儲(chǔ)器的分類,半導(dǎo)體器件 磁性材料磁盤、磁帶 光材料光盤,雙極型 MOS型,1. 按存儲(chǔ)介質(zhì)分,2. 按存取方式分,隨機(jī)存儲(chǔ)器:如半導(dǎo)體存儲(chǔ)器,順序存儲(chǔ)器:如磁帶,半順序存儲(chǔ)器:如磁盤、光盤,存儲(chǔ)位元、存儲(chǔ)單元、存儲(chǔ)器,目錄,4. 按信息易失性分,3. 按存儲(chǔ)內(nèi)容的可變性分(半導(dǎo)體存儲(chǔ)器的分類),只讀存儲(chǔ)器(ROM),
2、隨機(jī)讀寫存儲(chǔ)器(RAM),易失性存儲(chǔ)器:斷電后信息消失(如RAM) 非易失性存儲(chǔ)器:斷電后仍能保存信息,5. 按在系統(tǒng)中的作用分,MROM PROM EPROM EEPROM,SRAM DRAM,控制存儲(chǔ)器 高速緩沖存儲(chǔ)器 主存儲(chǔ)器 輔助(外)存儲(chǔ)器,閃速存儲(chǔ)器(FLASH),NAND FLASH NOR FLASH,不可變或條件可變,條件可變,可變,內(nèi)存儲(chǔ)器 (CPU可直接訪問),半導(dǎo)體存儲(chǔ)器類型,3.1.2 存儲(chǔ)器的分級(jí),設(shè)計(jì)存儲(chǔ)器體系結(jié)構(gòu)時(shí)應(yīng)考慮容量、速度和成本,高速緩沖存儲(chǔ)器(cache)高速小容量半導(dǎo)體存儲(chǔ)器 主存儲(chǔ)器(主存)存放計(jì)算機(jī)運(yùn)行期間的大量程序和數(shù)據(jù);采用MOS半導(dǎo)體存儲(chǔ)器
3、構(gòu)成 外存儲(chǔ)器(外存)大容量輔助存儲(chǔ)器,各級(jí)存儲(chǔ)器之間的關(guān)系,3.1.2 存儲(chǔ)器分級(jí)結(jié)構(gòu),3.1.3 主存儲(chǔ)器的技術(shù)指標(biāo),字存儲(chǔ)單元、字地址;字節(jié)存儲(chǔ)單元、字節(jié)地址 按字尋址的計(jì)算機(jī)、按字節(jié)尋址的計(jì)算機(jī) 存儲(chǔ)容量存儲(chǔ)器中可以容納的存儲(chǔ)單元總數(shù),通常用字?jǐn)?shù)或字節(jié)數(shù)表示(單位:K、M、G、T) 存取時(shí)間(存儲(chǔ)器訪問時(shí)間)發(fā)出一次讀操作命令到該操作完成,將數(shù)據(jù)讀出到數(shù)據(jù)總線上所經(jīng)歷的時(shí)間;通常取寫操作時(shí)間等于讀操作時(shí)間 存儲(chǔ)周期連續(xù)啟動(dòng)兩次讀操作所需間隔的最小時(shí)間,略大于存取時(shí)間 存儲(chǔ)器帶寬:單位時(shí)間里存儲(chǔ)器所存取的信息量,3.2 SRAM存儲(chǔ)器,內(nèi)存采用半導(dǎo)體存儲(chǔ)器,按信息存儲(chǔ)的機(jī)理不同分類 靜態(tài)
4、隨機(jī)讀寫存儲(chǔ)器(SRAMStatic RAM) 動(dòng)態(tài)隨機(jī)讀寫存儲(chǔ)器(DRAMDynamic RAM),目錄,3.2.1 基本的靜態(tài)存儲(chǔ)元陣列,1、存儲(chǔ)位元是一個(gè)觸發(fā)器,具有兩個(gè)穩(wěn)定狀態(tài),644位,2、三組信號(hào)線 地址線 數(shù)據(jù)線 控制線,行線 列線,地址譯碼器 雙譯碼(二級(jí)譯碼) x向(A0A7 ) 、y向( A8A14 ),3.2.2 基本的SRAM邏輯結(jié)構(gòu),存儲(chǔ)體、地址譯碼器和讀寫控制邏輯,存儲(chǔ)體(32K2561288),讀寫控制邏輯(CS=0時(shí)) 讀操作OE=0,G2開啟, G1關(guān)閉 寫操作WE=0,G1開啟,G2關(guān)閉,3.2.3 讀/寫周期波形圖,讀周期 讀出時(shí)間tAQ 讀周期tRC 寫
5、周期 寫時(shí)間tWD 寫周期tWC 存取周期 取tRC= tWC,例1:SRAM的寫入時(shí)序如圖。其中R/W是讀/寫命令控制線,當(dāng)R/W線為低電平時(shí),存儲(chǔ)器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲(chǔ)器。請(qǐng)指出該寫入時(shí)序中的錯(cuò)誤,并畫出正確的寫入時(shí)序圖。,3.3 DRAM存儲(chǔ)器,3.3.1 DRAM存儲(chǔ)元的記憶原理 由一個(gè)MOS晶體管和電容器組成的記憶電路,目錄,3.3.1 DRAM存儲(chǔ)元的記憶原理,1、MOS管作為開關(guān)使用,信息由電容器上的電荷量體現(xiàn)電容器充滿電荷代表存儲(chǔ)了1;電容器放電沒有電荷代表存儲(chǔ)了0,3、寫0輸出緩沖器和刷新緩沖器關(guān)閉;輸入緩沖器打開,輸入數(shù)據(jù)DIN=0送到存儲(chǔ)元位線上;行選線為高
6、,打開MOS管,電容上的電荷通過MOS管和位線放電,5、讀出1后存儲(chǔ)位元重寫1 (1的讀出是破壞性的)輸入緩沖器關(guān)閉,刷新緩沖器和輸出緩沖器/讀放打開,DOUT=1經(jīng)刷新緩沖器送到位線上,再經(jīng)MOS管寫到電容上,與SRAM相比,增加的部件:,以1M4位的DRAM為例,3.3.2 DRAM芯片的邏輯結(jié)構(gòu),(1) 行、列地址鎖存器分時(shí)傳送,RAS/CAS (2) 刷新計(jì)數(shù)器及控制電路 按行刷新;刷新計(jì)數(shù)器的長度、刷新地址與讀/寫地址的切換,1. 讀周期、寫周期 從RAS下降沿開始,到下一個(gè)RAS的下降沿為止的時(shí)間(連續(xù)兩個(gè)讀周期的時(shí)間間隔),通常取讀周期=寫周期,3.3.3 讀/寫周期、刷新周期,
7、2. 刷新周期 刷新周期:典型值2ms、8ms16ms;某些器件可大于100ms 刷新操作以行為單位進(jìn)行 刷新方式 集中式刷新 分散式刷新 異步式刷新,3.3.3 讀/寫周期、刷新周期,例:設(shè)某個(gè)存儲(chǔ)器結(jié)構(gòu)為10241024的存儲(chǔ)矩陣 讀/寫周期為TC=0.5s,刷新周期為8ms,集中刷新方式,集中式刷新:將一個(gè)刷新周期分為兩部分前一段時(shí)間進(jìn)行正常讀/寫;后一段時(shí)間作為集中刷新時(shí)間,優(yōu)點(diǎn):對(duì)存儲(chǔ)器的平均讀/寫時(shí)間影響不大,適用于高速存儲(chǔ)器 缺點(diǎn):在集中刷新時(shí)間內(nèi)不能進(jìn)行存取訪問死時(shí)間,8ms分成16000個(gè)TC(=0.5s),只需1024個(gè)TC進(jìn)行刷新,分散刷新方式,分散式刷新:將一個(gè)存儲(chǔ)系統(tǒng)
8、周期tS分為兩半前半段用于讀/寫,后半段為刷新時(shí)間,優(yōu)點(diǎn):不存在死時(shí)間 缺點(diǎn):刷新過于頻繁,影響系統(tǒng)速度;如存儲(chǔ)器讀/寫周期為0.5s,則存儲(chǔ)系統(tǒng)的周期至少應(yīng)為1s整個(gè)系統(tǒng)速度降低,設(shè)TC=0.5s,系統(tǒng)周期TS=1s,則只需1024s即可刷新一遍,在8ms內(nèi)可進(jìn)行多次刷新,異步刷新方式,異步式刷新:前兩種方式結(jié)合,先用刷新的行數(shù)對(duì)刷新周期進(jìn)行分割,再將分割好的時(shí)間分為兩部分前段時(shí)間用于讀/寫,后一小段時(shí)間用于刷新,將8ms分割成1024個(gè)時(shí)間段,每段時(shí)間為8ms/1024=7.8125s(取7.8s),每隔7.8s刷新一行,8ms內(nèi)完成對(duì)所有1024行的一次刷新,3.3.4 存儲(chǔ)器容量的擴(kuò)充
9、,1、字長位數(shù)擴(kuò)展 地址線和控制線公用;數(shù)據(jù)線分開連接 所需芯片數(shù)d=設(shè)計(jì)要求的存儲(chǔ)器容量/選擇芯片存儲(chǔ)容量 2、字存儲(chǔ)容量擴(kuò)展 地址線和數(shù)據(jù)線公用,控制線中R/W公用,使能端EN不能公用,由地址總線的高位段譯碼決定片選信號(hào) 所需芯片數(shù)(d=設(shè)計(jì)要求的存儲(chǔ)器容量/選擇芯片存儲(chǔ)容量),主存與CPU的連接原理,用8K1的存儲(chǔ)器芯片組成8K8位(位擴(kuò)展),用16K8的存儲(chǔ)器芯片組成64K8位(字?jǐn)U展),用16K4的存儲(chǔ)器芯片組成64K8 (字位同時(shí)擴(kuò)展),3、存儲(chǔ)器模塊條(內(nèi)存條) 類型SD、DDR、DDR2、DDR3 封裝有30腳、72腳、100腳、144腳、168腳、184腳、240腳(DDR2
10、、DDR3) 30腳8位數(shù)據(jù)線,容量256KB32MB 72腳32位數(shù)據(jù)總線 100腳以上既用于32位又用于64位數(shù)據(jù)總線,容量4MB512MB DDR3單條容量可達(dá)32GB,3.3.4 存儲(chǔ)器容量的擴(kuò)充,轉(zhuǎn)3.3.6,1. FPM-DRAM(快速頁模式DRAM)程序的局部性原理 頁同一行地址的所有列地址單元集合 讀寫周期中,首先由RAS確定行地址,然后在同一頁中不再改變行地址(RAS保持有效),直接由CAS選定不同的列地址,3.3.5* 高級(jí)的DRAM結(jié)構(gòu),快速頁模式讀操作時(shí)序圖,2. CDRAM(帶高速緩沖存儲(chǔ)器cache的動(dòng)態(tài)存儲(chǔ)器) 在DRAM芯片內(nèi)集成一個(gè)小容量的SRAM,3.3.5
11、* 高級(jí)的DRAM結(jié)構(gòu),SRAM是DRAM某一行的副本,可完成猝發(fā)式讀取 讀出過程分析,1M4,其中SRAM 5124,3. SDRAM(同步型動(dòng)態(tài)存儲(chǔ)器) SDRAM的操作要求與系統(tǒng)時(shí)鐘同步,在系統(tǒng)時(shí)鐘的控制下從CPU獲得地址、數(shù)據(jù)和控制信息,即:它與CPU的數(shù)據(jù)交換同步于外部的系統(tǒng)時(shí)鐘信號(hào),并且以CPU/存儲(chǔ)器總線的最高速度運(yùn)行,不需要插入等待狀態(tài) SDRAM基于雙存儲(chǔ)體系(甚至是多體系)結(jié)構(gòu)內(nèi)含兩個(gè)交錯(cuò)的存儲(chǔ)陣列,允許兩個(gè)內(nèi)存頁面同時(shí)打開,3.3.5* 高級(jí)的DRAM結(jié)構(gòu),例 CDRAM內(nèi)存條組成實(shí)例 用8片1M4位的CDRAM構(gòu)成1M32位(4MB)的存儲(chǔ)模塊,8個(gè)芯片共用行選通、刷新
12、和行地址A0A10 猝發(fā)式存取過程,增加附加位(同數(shù)據(jù)位一起寫入DRAM中保存),3.3.6 DRAM主存讀/寫的正確性校驗(yàn),最簡單的校驗(yàn)奇偶校驗(yàn);最簡單的糾錯(cuò)碼漢明碼,3.4 只讀存儲(chǔ)器和閃速存儲(chǔ)器,3.4.1 只讀存儲(chǔ)器ROM 掩模ROM:存儲(chǔ)內(nèi)容固定的ROM,由生產(chǎn)廠家提供 可編程ROM:用戶寫入內(nèi)容,有的可多次寫入 一次性編程的PROM 多次編程的EPROM和E2PROM,目錄,1. 掩膜ROM,3.4.1 只讀存儲(chǔ)器ROM,存儲(chǔ)元構(gòu)成:二極管、雙極型晶體管、MOS管,工作原理: 若管子的基極與選擇線相連,該管導(dǎo)通,反向后輸出為“1”;若基極與選擇線不連通,則輸出為“0”,優(yōu)點(diǎn):可靠性
13、和集成度高,價(jià)格便宜 缺點(diǎn):不能重寫,168位ROM陣列結(jié)構(gòu)示意圖,行選線與柵極相連,行選線與柵極不相連,掩模ROM邏輯符號(hào)及內(nèi)部邏輯框圖,2. PROM(用戶可編程一次),熔斷絲結(jié)構(gòu)PROM 多發(fā)射極管 基極連選擇線,編程寫入時(shí)使某些熔斷絲燒斷,3.4.1 只讀存儲(chǔ)器ROM,讀出時(shí) 熔斷絲連通,輸出為“1” 熔斷絲燒斷為“0”,以浮柵雪崩注入型MOS管為存儲(chǔ)元的EPROM,3、光擦除可編程EPROM(Erasible Programmable ROM),3.4.1 只讀存儲(chǔ)器ROM,G1浮置柵,無引出線;G2控制柵,有引出線 若漏極D端加約幾十伏的脈沖電壓,則溝道中的電場足夠強(qiáng),會(huì)造成雪崩,
14、產(chǎn)生很多高能量電子;此時(shí),若G2柵上加正電壓,則溝道中的電子穿過氧化層注入到G1柵,使G1柵積累負(fù)電荷 G1柵周圍都是絕緣的二氧化硅層,泄漏電流極小,所以一旦電子注入到G1柵后,能長期保存,3. EPROM,3. EPROM,0和1的存儲(chǔ)當(dāng)G1柵有電子積累時(shí),MOS管的開啟電壓變得很高,即使G2柵為高電平,該管仍不能導(dǎo)通,相當(dāng)于存儲(chǔ)了“0”;當(dāng)G1柵沒有電子積累時(shí),MOS管的開啟電壓較低,當(dāng)G2柵為高電平時(shí),該管可以導(dǎo)通,相當(dāng)于存儲(chǔ)了“1” 出廠時(shí)信息為全“1”,擦除用光子能量較高的紫外光照射G1,使電子獲得足夠能量,穿過氧化層回到襯底中,即抹去了存儲(chǔ)的信息,又存了全“1” 用40W紫外燈,相
15、距2cm,照射幾分鐘即可,石英窗口,讀出讀出電路采用二維譯碼方式:x地址譯碼器的輸出xi與G2柵極相連,以決定T2管是否選中;y地址譯碼器的輸出yi與T1管柵極相連,控制數(shù)據(jù)是否讀出;當(dāng)片選信號(hào)CS為高電平時(shí),方能讀出數(shù)據(jù) 寫“0”xi和yi選擇線為高電位,P端加20多伏的正脈沖,脈沖寬度為0.11ms,3. EPROM,EPROM實(shí)例2716為例 容量:2K 8位,地址線11根:7條X譯碼、4條Y譯碼 數(shù)據(jù)線8根D7D0 ;帶輸出緩沖器,2716工 作 模 式,4. 電擦除可編程E2PROM(Electrical EPROM),E2PROM存儲(chǔ)元 具有兩個(gè)柵極;G1是浮柵,無引出線;G2是抹
16、去柵,有引出線 G1柵和漏極D間有一小面積、極薄的氧化層,可產(chǎn)生隧道效應(yīng) 存儲(chǔ)“1” G2柵加20V正脈沖P1,通過隧道效應(yīng),電子由襯底注入到G1,相當(dāng)于存儲(chǔ)了“1” 出廠時(shí),內(nèi)容為全“1”,4. EEPROM,寫“0” 漏極D加20V正脈沖P2,G2柵接地, G1上電子通過隧道返回襯底,相當(dāng)于寫“0” 讀出 G2柵加3V電壓,若G1柵有電子積累,T2不能導(dǎo)通,相當(dāng)于存“1”;若G1柵無電子積累,T2導(dǎo)通,相當(dāng)于存“0”,允許改寫上千次 改寫(先抹后寫)大約需20ms 數(shù)據(jù)可存儲(chǔ)20年以上,高密度非易失性的讀/寫存儲(chǔ)器 既有RAM的優(yōu)點(diǎn),又有ROM的優(yōu)點(diǎn),3.4.2 閃速存儲(chǔ)器(FLASH存儲(chǔ)
17、器),由單個(gè)MOS晶體管組成,漏極D、源極S、控制柵和浮空柵,“0” :當(dāng)控制柵加足夠的正電壓,浮空柵將儲(chǔ)存許多電子而帶負(fù)電定義為存儲(chǔ)元處于0狀態(tài) “1” :控制柵不加正電壓時(shí),浮空柵只有少許電子或不帶電荷定義為存儲(chǔ)元處于1狀態(tài),3.4.2 閃速存儲(chǔ)器,所有存儲(chǔ)元的原始狀態(tài)為“1” 編程(寫)操作:使某些存儲(chǔ)元改寫成“0”控制柵C上加正電壓;保持“1” 的存儲(chǔ)元,控制柵不加正電壓 一旦存儲(chǔ)元被編程,存儲(chǔ)的數(shù)據(jù)可保持100年之久,3.4.2 閃速存儲(chǔ)器,讀取操作:控制柵加正電壓,浮空柵上的負(fù)電荷量將決定MOS管是否導(dǎo)通;若存儲(chǔ)元原存1,晶體管導(dǎo)通,讀出電路檢測到有電流 ;若原存0,晶體管不導(dǎo)通,
18、無電流 擦除操作:源極S加上正電壓,吸收浮空柵中的電子,使所有存儲(chǔ)元中浮空柵上的負(fù)電荷全部洩放出去,3.4.2 閃速存儲(chǔ)器,FLASH存儲(chǔ)器的陣列結(jié)構(gòu) 讀操作若存儲(chǔ)元原存1,則晶體管導(dǎo)通,有電流經(jīng)負(fù)載產(chǎn)生一個(gè)電壓降,與參照電壓比較,輸出標(biāo)志為邏輯1的電平;若存儲(chǔ)元原存0,晶體管不導(dǎo)通,位線上沒有電流,比較器輸出端產(chǎn)生標(biāo)志為邏輯0的電平,3.4.2 閃速存儲(chǔ)器,Flash Memory AT29C040A,存儲(chǔ)結(jié)構(gòu):512K8 19個(gè)地址引腳A18A0 8個(gè)數(shù)據(jù)引腳I/O7I/O0 3個(gè)控制引腳 片選CS 輸出允許OE 寫允許WE 扇區(qū)(256字節(jié))擦寫,MROM,PROM,EPROM,EEPR
19、OM,F(xiàn)LASH ROM,線路最簡單,掩模工藝一次性制造,永久保存(除非壞掉),一般用于大批量生產(chǎn)中;成本低,但風(fēng)險(xiǎn)比較大,掩模ROMMask Read-Only Memory,PROMProgrammable Read-Only Memory,只允許寫一次,也稱為“一次可編程只讀存儲(chǔ)器” ,出廠時(shí)內(nèi)容全為1(有些出廠時(shí)全為0) ,用戶可將其中某些單元寫入0 典型產(chǎn)品是“雙極型熔絲結(jié)構(gòu)”,改寫時(shí)給某些單元通足夠大電流并維持一定時(shí)間,使熔絲熔斷,達(dá)到改寫某些位的效果 另一類經(jīng)典產(chǎn)品是“肖特基二極管結(jié)構(gòu)” ,出廠時(shí)二極管處于反向截止?fàn)顟B(tài),編程時(shí)用大電流將反相電壓加在“肖特基二極管”,使其永久性擊穿
20、,寫入專用編程器、編程電壓(VPP=1224V,與型號(hào)有關(guān)) 擦除紫外線照射一定時(shí)間,專用擦除器,EPROMErasable Programmable Read-Only Memory ,“可擦除可編程只讀存儲(chǔ)器”,EEPROMElectrically Erasable Programmable Read-Only Memory, “電可擦除可編程只讀存儲(chǔ)器”,擦除、寫入直接用電信號(hào)擦除,電信號(hào)寫入;不需要借助其它設(shè)備,以Byte為最小修改單位,不必先全部洗掉 缺點(diǎn)其工藝復(fù)雜, 耗費(fèi)門電路過多,重編程時(shí)間較長,有效重編程次數(shù)較低,也是非易失性內(nèi)存 FLASH ROM屬于真正的單電壓芯片,讀和寫
21、都是在單電壓下進(jìn)行,不需跳線,只利用專用程序即可方便修改 FLASH ROM的存儲(chǔ)容量普遍大于EEPROM,價(jià)格也比較合適,近年來已逐漸取代了EEPROM,Flash Memory“閃存”,3.5 并行存儲(chǔ)器,解決CPU和主存儲(chǔ)器間速度不匹配的問題 主存采用更高速技術(shù)縮短讀出時(shí)間 采用并行技術(shù)的存儲(chǔ)器 采用空間并行技術(shù)雙端口存儲(chǔ)器 采用時(shí)間并行技術(shù)多體交叉存儲(chǔ)器,目錄,3.5.1 雙端口存儲(chǔ)器 1、雙端口存儲(chǔ)器的邏輯結(jié)構(gòu) 同一個(gè)存儲(chǔ)器具有兩組相互獨(dú)立的讀寫控制電路,并行 如IDT71332K16的SRAM 2、無沖突(兩個(gè)端口的地址不同)讀寫控制 任一端口被選中驅(qū)動(dòng)即可對(duì)整個(gè)存儲(chǔ)器存取,每個(gè)端
22、口有自己的片選控制(CE)和輸出驅(qū)動(dòng)控制(OE) 3、有沖突(兩個(gè)端口同時(shí)存取同一存儲(chǔ)單元)讀寫控制 片上的判斷邏輯決定哪個(gè)端口優(yōu)先進(jìn)行讀寫,而對(duì)另一個(gè)被延遲的端口置BUSY標(biāo)志(變?yōu)榈碗娖?,暫時(shí)關(guān)閉,3.5 并行存儲(chǔ)器,雙端口存儲(chǔ)器IDT7133邏輯框圖,返回,無沖突讀寫控制,返回,3.5.1 雙端口存儲(chǔ)器,4、有沖突讀寫控制判斷方法 (1) 地址匹配且在CE前有效,控制邏輯在CEL和CER間進(jìn)行判斷來選擇端口(CE判斷) (2)CE在地址匹配前變低,控制邏輯在左、右地址間進(jìn)行判斷來選擇端口(地址有效判斷) 無論哪種方式,延遲端口的BUSY標(biāo)志都將置位而關(guān)閉此端口;當(dāng)允許存取的端口完成操作
23、時(shí),延遲端口BUSY標(biāo)志才進(jìn)行復(fù)位而打開此端口,左、右端口讀寫操作的功能判斷,雙端口存儲(chǔ)器讀寫時(shí)序,3.5.2 多模塊交叉存儲(chǔ)器,1.存儲(chǔ)器的模塊化組織 若干個(gè)模塊組成的主存儲(chǔ)器,地址在各模塊中的安排方式: 一種是順序方式,一種是交叉方式,(1) 順序方式 例M0M3共四個(gè)模塊,每個(gè)模塊8個(gè)字 M0:07 M1:815 M2:1623 M3:2431 5位地址的組織: X X X X X 高位選模塊,低位選塊內(nèi)地址 特點(diǎn):某個(gè)模塊存取時(shí),其他模塊不工作 優(yōu)點(diǎn):某一模塊出現(xiàn)故障時(shí),其他模塊可照常工作;通過增添模塊來擴(kuò)充存儲(chǔ)器容量比較方便 缺點(diǎn):各模塊串行工作,存儲(chǔ)器帶寬受限,3.5.2 多模塊交
24、叉存儲(chǔ)器,(2)交叉方式 例M0M3共四個(gè)模塊,則每個(gè)模塊8個(gè)字 M0:0,4.除以4余數(shù)為0 M1:1,5.除以4余數(shù)為1 M2:2,6.除以4余數(shù)為2 M3:3,7.除以4余數(shù)為3 5位地址的組織: X X X X X 高位選塊內(nèi)地址,低位選模塊 特點(diǎn):連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個(gè)模塊內(nèi)的地址不連續(xù) 優(yōu)點(diǎn):對(duì)連續(xù)字的成塊傳送可實(shí)現(xiàn)多模塊流水式并行存取,大大提高存儲(chǔ)器的帶寬,對(duì)成批數(shù)據(jù)讀寫有利 缺點(diǎn):某一模塊出現(xiàn)故障則整個(gè)存儲(chǔ)器不能正常工作,3.5.2 多模塊交叉存儲(chǔ)器,2、多模塊交叉存儲(chǔ)器的基本結(jié)構(gòu)(以4模塊為例),3.5.2 多模塊交叉存儲(chǔ)器,對(duì)每個(gè)存儲(chǔ)模塊:從CPU發(fā)出訪存命
25、令到讀出信息使用了一個(gè)存儲(chǔ)周期 對(duì)于CPU:在一個(gè)存儲(chǔ)周期內(nèi)連續(xù)訪問了4個(gè)模塊(分時(shí)使用數(shù)據(jù)總線),各模塊的讀寫過程重疊進(jìn)行 若連續(xù)在主存中存取程序段或數(shù)據(jù)塊訪問速度大大提高,主存被分成4個(gè)相互獨(dú)立、容量相同的模塊,每個(gè)模塊有自己的讀寫控制電路、地址寄存器和數(shù)據(jù)寄存器,各自以等同的方式與CPU傳送信息,定量分析: 設(shè)模塊字長等于數(shù)據(jù)總線寬度,模塊存取一個(gè)字的時(shí)間為T,由m個(gè)總線傳送周期()組成,即Tm ,并使用m個(gè)模塊交叉組織存儲(chǔ)器,則成塊傳送可按間隔流水方式進(jìn)行,交叉存取度m=T/ 模塊數(shù)必須大于等于m 連續(xù)讀取m個(gè)字所需的時(shí)間為t1T+(m-1) 順序方式存儲(chǔ)器連續(xù)讀取m個(gè)字所需時(shí)間t2=
26、mT,3.5.2 多模塊交叉存儲(chǔ)器,例5 設(shè)存儲(chǔ)器容量為32字,字長64位,模塊數(shù)m=4。存儲(chǔ)周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳送周期=50ns。若連續(xù)讀出4個(gè)字,分別求用順序方式和交叉方式組織的存儲(chǔ)器的帶寬,解:兩種方式連續(xù)讀出4個(gè)字的信息總量都是: q=64b4=256b 順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出4個(gè)字所需的時(shí)間分別是: 順序:t2=mT=4200ns=800ns=810-7s 交叉:t1=T+(m-1)=200ns+350ns=350ns=3.510-7s 順序存儲(chǔ)器和交叉存儲(chǔ)器的帶寬分別是: 順序: W2=q/t2=256b(810-7)s=320Mb/s 交叉:
27、W1=q/t1=256b(3.510-7)s=731Mb/s,3. 二模塊交叉存儲(chǔ)器舉例,二模塊(各1MB)交叉存儲(chǔ)器(DRAM構(gòu)成)方框圖,二模塊交叉存儲(chǔ)器無等待狀態(tài)成塊存取示意圖,3. 二模塊交叉存儲(chǔ)器舉例,補(bǔ)充:相聯(lián)存儲(chǔ)器CAM(Content Addressed Memory),相聯(lián)存儲(chǔ)器其中某一存儲(chǔ)項(xiàng)內(nèi)容作為地址來存取的存儲(chǔ)器,用來尋址存儲(chǔ)器的字段叫做關(guān)鍵字 相聯(lián)存儲(chǔ)器中的項(xiàng)可視為由KEY、DATA組成,其中KEY是地址,DATA是被讀寫信息 基本原理把存儲(chǔ)單元所存內(nèi)容的某一部分作為檢索項(xiàng)(關(guān)鍵字),去檢索該存儲(chǔ)器,并將與該檢索項(xiàng)符合的存儲(chǔ)單元內(nèi)容讀出或?qū)懭?主要用途虛擬存儲(chǔ)器中存放
28、分段表、頁表和快表;高速緩沖存儲(chǔ)器中,存放cache的行地址,檢索寄存器,屏蔽寄存器,比較線路,存儲(chǔ)器,譯 碼 選 擇 電 路,代碼寄存器,1 2 . . . m,符合寄存器,補(bǔ)充:相聯(lián)存儲(chǔ)器CAM(續(xù)),檢索寄存器 屏蔽寄存器 符合寄存器 比較線路 代碼寄存器 存儲(chǔ)體,檢索寄存器:存放檢索字,位數(shù)和CAM存儲(chǔ)單元位數(shù)相同 屏蔽寄存器:存放屏蔽碼,位數(shù)和檢索寄存器位數(shù)相同 符合寄存器:存放按檢索項(xiàng)內(nèi)容檢索存儲(chǔ)體中與之符合的單元地址,其位數(shù)等于相聯(lián)存儲(chǔ)器的存儲(chǔ)單元個(gè)數(shù),每一位對(duì)應(yīng)一個(gè)存儲(chǔ)單元,位的序數(shù)即為相聯(lián)存儲(chǔ)器的單元地址 比較線路:把檢索項(xiàng)和從存儲(chǔ)體中讀出的所有單元內(nèi)容的相應(yīng)位比較,如果某個(gè)
29、存儲(chǔ)單元和檢索項(xiàng)符合,就把符合寄存器的相應(yīng)位置“1”,表示該字已被檢索 代碼寄存器:存放從存儲(chǔ)體中讀出的代碼,或向存儲(chǔ)體中寫入的代碼 存儲(chǔ)體:由高速半導(dǎo)體存儲(chǔ)器構(gòu)成快速,CAM各組成部分的功能,返回,3.6 Cache存儲(chǔ)器,3.6.1 Cache基本原理 (1) 功能:解決CPU和主存間速度不匹配問題 采用高速SRAM構(gòu)成 速度差別很大時(shí)采用兩級(jí)或多級(jí)Cache系統(tǒng) 早期的一級(jí)Cache在CPU內(nèi),二級(jí)在主板上 現(xiàn)在的CPU內(nèi)帶L1 Cache和L2 Cache 全由硬件調(diào)度,對(duì)用戶透明,程序訪問的局部性原理 空間局部:緊鄰被訪問單元的地方也將被訪問 時(shí)間局部:剛被訪問的單元很快將再次被訪問
30、,目錄,3.6.1 Cache基本原理,(2) cache基本原理 地址映射 替換策略 寫一致性 性能評(píng)價(jià),基本原理小結(jié): 介于CPU和主存M2之間的小容量存儲(chǔ)器:從功能上看,是主存的緩沖存儲(chǔ)器,由高速的SRAM組成;為追求高速,包括管理在內(nèi)的全部功能由硬件實(shí)現(xiàn),故對(duì)程序員透明 Cache的設(shè)計(jì)依據(jù):程序訪問的局部性 CPU與Cache間的數(shù)據(jù)傳送是以字為單位 主存與Cache間的數(shù)據(jù)傳送是以塊為單位 CPU讀主存時(shí),把地址同時(shí)送給Cache和主存,Cache控制邏輯依據(jù)地址判斷此字是否在Cache中,若在立即傳送給CPU;否則,用主存讀周期把此字從主存讀出送到CPU,并把含有這個(gè)字的整個(gè)數(shù)據(jù)
31、塊從主存讀出送到cache中,3.6.1 Cache基本原理,(3) Cache的命中率,3.6.1 Cache基本原理,設(shè)Nc、Nm分別表示cache和主存完成存取的總次數(shù),命中率h的定義為:h=Nc/(Nc+Nm) 設(shè)tc 、tm分別表示命中和未命中時(shí)cache和主存的訪問時(shí)間,則cache/主存系統(tǒng)的平均訪問時(shí)間ta為:ta=h*tc+(1-h)tm 設(shè)r=tm/tc表示主存慢于cache的倍率,則訪問效率e 定義為: e=tc/ta=tc/h*tc+(1-h)*tm =1/h+(1-h)*r =1/r+(1-r)*h 增加cache的目的使ta盡可能接近tc;h越接近1越好;r值不宜太
32、大,以510為宜 命中率h與程序的行為、cache的容量、組織方式、塊大小有關(guān),例6 CPU執(zhí)行一段程序時(shí),cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時(shí)間,公式,命中率 Cache/主存系統(tǒng)平均訪問時(shí)間 訪問效率 Cache與內(nèi)存的速度比,h=Nc/(Nc+Nm)=1900/(1900+100)=0.95 r=tm/tc=250ns/50ns=5 e=1/(r+(1-r)h)=1/(5+(1-5)0.95)=83.3% ta=tc/e=50ns/0.833=60ns,命中
33、率 Cache/主存系統(tǒng)平均訪問時(shí)間 訪問效率 Cache與內(nèi)存的速度比,映射方法: 全相聯(lián)映射、直接映射、組相聯(lián)映射 影響映射方式選擇的因素: 硬件是否容易實(shí)現(xiàn) 地址變換的速度 Cache空間的利用率 主存裝入一塊時(shí)發(fā)生沖突的概率,3.6.2 主存與Cache的地址映射,cache的容量很小,保存的內(nèi)容只是主存內(nèi)容的一個(gè)子集,cache與主存的數(shù)據(jù)交換以塊為單位主存和cache都要?jiǎng)澐譃橥瑯哟笮〉膲K 地址映射把主存地址定位到cache中的方法,地址映射的相關(guān)基本概念,1) 行cache的數(shù)據(jù)塊大小 用Li表示,i=0,1,2,m-1,共有m=2r行 2) 塊主存的數(shù)據(jù)塊大小 用Bj表示,j=
34、 0,1,2,n-1,共有n=2s塊 3) 行、塊、字的關(guān)系: 1行1塊,由k=2w個(gè)連續(xù)的字組成 (字是CPU每次訪問存儲(chǔ)器時(shí)可存取的最小單位),映射方法(多對(duì)多) 主存內(nèi)容可以拷貝到cache的任意行中 主存中一個(gè)塊的地址(塊號(hào))與塊的內(nèi)容一起存于cache行中,其中塊地址存于cache行的標(biāo)記部分 地址變換 標(biāo)記構(gòu)成一個(gè)目錄表,設(shè)cache8行,主存256塊,每塊(行)有同樣多的字,則,1. 全相聯(lián)映射方式,全相聯(lián)映射方式示意圖,全相聯(lián)映射的Cache組織,訪問方法: CPU訪問一個(gè)指定的內(nèi)存地址(包括主存和cache),塊號(hào)與cache中所有行的標(biāo)記同時(shí)在比較器中比較,若命中按字地址從
35、cache中讀取一個(gè)字;若未命中按內(nèi)存地址從主存中讀取該字,并將該字所在的一個(gè)塊調(diào)入cache 實(shí)現(xiàn)方式: 全部標(biāo)記用一個(gè)CAM實(shí)現(xiàn);數(shù)據(jù)用RAM實(shí)現(xiàn) 優(yōu)點(diǎn):靈活,沖突概率小,Cache的利用率高 缺點(diǎn):比較器電路難于設(shè)計(jì)和實(shí)現(xiàn),需要一個(gè)訪問速度很快、代價(jià)高的相聯(lián)存儲(chǔ)器 應(yīng)用:適合于小容量cache,全相聯(lián)映射方式總結(jié),多對(duì)一的映射關(guān)系 一個(gè)主存塊只能拷貝到cache的一個(gè)特定行 cache的行號(hào)i和主存的塊號(hào)j的關(guān)系:i=j mod m m為cache的總行數(shù) 如m=8映射示意圖,2. 直接映射方式,同樣,設(shè)cache為8行,主存為256塊,每塊(行)有同樣多的字,則允許存于cache第,L
36、0 B0,B8,B16,B248 L1 B1,B9,B17,B249 L2 的主存塊號(hào)是 B2,B10,B18,B250 L7 B7,B15,B23,B255,cache的地址,主存的地址,行號(hào):r bit,本例為3,塊號(hào):s bit,本例為8 其中標(biāo)記s-r bit ,本例為5,塊地址 s bit,s位的塊地址分成兩部分r位的行號(hào)和s-r位標(biāo)記,每一個(gè)cache行只可映射主存中特定的32個(gè)塊,32個(gè)塊,直接映射的Cache組織,訪問方法:首先用r bit行號(hào)找到cache中的該行,再用地址中的s-r bit標(biāo)記與此行的標(biāo)記比較,若相符(命中),則用地址的最低w位(字地址)讀取該字;若不符(未
37、命中) ,由主存讀取該字,并將此字對(duì)應(yīng)的一個(gè)塊調(diào)入cache 優(yōu)點(diǎn):硬件簡單,成本低 缺點(diǎn):每個(gè)主存塊只有一個(gè)固定的行可存放,易產(chǎn)生沖突 沖突情況:塊號(hào)相距m整數(shù)倍的兩個(gè)塊,只能映射到cache的同一行,若新塊不在cache中而對(duì)應(yīng)行號(hào)又已占用,就發(fā)生了沖突,只能用新的塊替代原來占用cache此行中的塊,即使cache還有其它空行,也不可利用頻繁置換會(huì)降低cache的效率 應(yīng)用:適合大容量cache采用,因?yàn)樾袛?shù)多使沖突的機(jī)會(huì)減小,直接映射方式總結(jié),將cache分成u組,每組v行,主存塊存放到哪個(gè)組是固定的,但在該組哪一行是靈活的,即組間直接映射,組內(nèi)全相聯(lián)映射 muv 組號(hào):qj mod u
38、,B0,B4,B8,B252共64個(gè)塊映射到cache的s0組 B1,B5,B9,B253共64個(gè)塊映射到cache的s1組 B2,B6,B10,B254共64個(gè)塊映射到cache的s2組 B3,B7,B11,B255共64個(gè)塊映射到cache的s3組,主存的,3. 組相聯(lián)映射方式前兩種方式的折衷,例:cache共8行,分4組,每組2行,組號(hào)2bit,組內(nèi)行號(hào)1bit 主存256塊,主存的塊號(hào)j與cache的組號(hào)q的對(duì)應(yīng)關(guān)系是: q=j mod 4,即,s位塊號(hào)分成兩部分 低d位為組號(hào),高s-d位標(biāo)記,注:為了便于比較器實(shí)現(xiàn),組相聯(lián)映射中的每組行數(shù)v一般取值較小,典型值為2、4、8、16,組相
39、聯(lián)映射Cache示意圖,操作過程:首先將根據(jù)其標(biāo)記與所在組的每一個(gè)行比較,查找是否在cache中,若在,則命中,由低w位的塊內(nèi)地址直接訪問cache;若不在,則訪問主存,同時(shí)更新cache,組相聯(lián)映射的Cache組織,特點(diǎn):比全相聯(lián)容易實(shí)現(xiàn),比直接映射沖突低 v=1,則為直接映射方式 u=1,則為全相聯(lián)映射方式 v取值一般較小,且為2的冪,稱為v路組相聯(lián)cache,組相聯(lián)映射方式總結(jié),直接映射cache直接將特定位置上的原主存塊換出 全相聯(lián)和組相聯(lián)cache從允許存放新主存塊的若干特定行中選取一行換出,將一段時(shí)間內(nèi)被訪問次數(shù)最少的那行換出 實(shí)現(xiàn)方法:每行設(shè)置一個(gè)計(jì)數(shù)器,從0開始,每訪問一次,
40、被訪行的計(jì)數(shù)器增1,需要替換時(shí),將計(jì)數(shù)值最小的行換出,同時(shí)將這些行計(jì)數(shù)器清零,換出(替換、淘汰)某一行常用的算法,1、最不經(jīng)常使用(LFU)算法,問題:不能嚴(yán)格反映近期訪問情況,3.6.3 替換策略(替換算法硬件實(shí)現(xiàn)),2 近期最少使用(LRU)算法 將近期內(nèi)長久未被訪問過的行換出 實(shí)現(xiàn)方法:每行設(shè)置一個(gè)計(jì)數(shù)器,每次命中,命中行計(jì)數(shù)器清零,其它行計(jì)數(shù)器增1,需要替換時(shí),將計(jì)數(shù)值最大的行換出 優(yōu)點(diǎn):保護(hù)了剛拷貝到cache中的新數(shù)據(jù)行,命中率較高 2路組相聯(lián)方式的簡化LRU控制算法(Pentium的數(shù)據(jù)cache采用) 3 隨機(jī)替換 從特定的行位置中隨機(jī)選取一行換出 優(yōu)點(diǎn):硬件上易實(shí)現(xiàn),且速度也
41、比前兩種快 缺點(diǎn):但降低了命中率和cache工作效率,3.6.3 替換策略,寫操作策略使cache內(nèi)容和主存內(nèi)容保持一致,1 寫回法 CPU寫cache命中時(shí),只修改cache的內(nèi)容;寫cache未命中也不寫主存,拷入后只寫cache,只有當(dāng)此行被換出時(shí)才寫回主存 減少了訪問主存的次數(shù),但存在不一致性隱患 實(shí)現(xiàn)方法:每個(gè)cache行配置一個(gè)修改位,反映是否被修改過,3.6.4 Cache的寫操作策略,常用的寫操作策略,2 全寫法 寫cache命中時(shí),cache與主存同時(shí)修改;寫cache未命中則直接寫主存,修改主存后的處理方法WTWA、WTNWA 優(yōu)點(diǎn):較好地維護(hù)了cache與主存內(nèi)容的一致性
42、;cache中每行無需設(shè)置修改位及相應(yīng)的判斷邏輯 缺點(diǎn):降低了cache的功效 3 寫一次法 與寫回法的不同,僅在于第一次寫命中時(shí)要同時(shí)寫入主存 奔騰的片內(nèi)數(shù)據(jù)cache就是采用寫一次法,3.6.5 Pentium 4的Cache組織,Pentium 4的Cache布局圖,說明,主要組成部分: 取指/譯碼單元:順序從L2cache中取程序指令,譯成一系列微指令,并存入L1指令cache中 亂序執(zhí)行邏輯:依據(jù)數(shù)據(jù)相關(guān)性和資源可用性,調(diào)度微指令的執(zhí)行(可按不同于所取機(jī)器指令流的順序) 執(zhí)行單元:執(zhí)行微指令,從L1數(shù)據(jù)cache中取所需數(shù)據(jù),并在寄存器組中暫存運(yùn)算結(jié)果 存儲(chǔ)器子系統(tǒng):包括L2cach
43、e、L3cache和系統(tǒng)總線;當(dāng)cache未命中時(shí),使用系統(tǒng)總線訪問主存 Pentium 4的指令cache位于指令譯碼邏輯和執(zhí)行部件之間,Pentium 4的Cache組織,返回圖示,采用更高速的主存或加長存儲(chǔ)器字長 采用并行操作的雙端口存儲(chǔ)器 采用交叉存儲(chǔ)器 采用Cache,加速CPU與主存間有效傳輸?shù)拇胧?轉(zhuǎn)“虛擬存儲(chǔ)器”,9.3 存儲(chǔ)管理(課本的第9章第3節(jié)),主要解決的問題存儲(chǔ)器的分配與回收、地址變換、存儲(chǔ)器擴(kuò)充,存儲(chǔ)器共享與保護(hù)等,9.3.1 分區(qū)式存儲(chǔ)管理 單用戶、單任務(wù)的操作系統(tǒng)內(nèi)存空間分為系統(tǒng)區(qū)和用戶區(qū) 現(xiàn)代操作系統(tǒng)分區(qū)式存儲(chǔ)管理 分區(qū)式存儲(chǔ)管理機(jī)制分為固定分區(qū)和動(dòng)態(tài)分區(qū) 固
44、定式分區(qū)會(huì)出現(xiàn)內(nèi)碎片 動(dòng)態(tài)分區(qū)會(huì)出現(xiàn)外碎片,解決外碎片的方法(合并;內(nèi)存緊縮),目錄,9.3.2 交換技術(shù)和分頁技術(shù),利用程序的局部性原理實(shí)現(xiàn)多任務(wù)并發(fā)環(huán)境中的存儲(chǔ)管理,交換技術(shù):換入、換出;交換的過程;優(yōu)點(diǎn)、缺點(diǎn) 交換技術(shù)和早期采用的覆蓋技術(shù)一樣,是從邏輯上利用外存擴(kuò)大主存空間 分頁技術(shù):頁面(頁框)、頁 不存在外碎片,內(nèi)碎片僅存在于每個(gè)進(jìn)程的最后一個(gè)頁面 分頁技術(shù)引申出虛擬存儲(chǔ)器(虛存),在存儲(chǔ)管理部件(MMU)的支持下,虛擬存儲(chǔ)器技術(shù)可徹底解決存儲(chǔ)器的調(diào)度與管理問題,9.4 虛擬存儲(chǔ)器(課本的第9章第4節(jié)),9.4.1 虛擬存儲(chǔ)器的基本概念 虛擬存儲(chǔ)器建立在主存與輔存物理結(jié)構(gòu)基礎(chǔ)之上,由
45、附加硬件裝置及操作系統(tǒng)管理軟件組成的一種存儲(chǔ)體系;是個(gè)概念模型,不是實(shí)際的物理存儲(chǔ)器 具有輔存的容量和接近主存的訪問速度 1、實(shí)地址與虛地址 用戶編制程序時(shí)使用的地址稱為虛地址或邏輯地址,其對(duì)應(yīng)的存儲(chǔ)空間稱為虛存空間或邏輯地址空間 計(jì)算機(jī)物理內(nèi)存的訪問地址稱為實(shí)地址或物理地址,其對(duì)應(yīng)的存儲(chǔ)空間稱為物理存儲(chǔ)空間或主存空間 程序進(jìn)行虛地址到實(shí)地址轉(zhuǎn)換的過程稱為程序的再(重)定位,目錄,2、虛存的訪問過程 虛存空間的用戶程序按照虛地址編程并存放在輔存中 訪存的過程 結(jié)論每個(gè)程序的虛地址空間可以遠(yuǎn)大于實(shí)地址空間;也可以遠(yuǎn)小于實(shí)地址空間好處,3、cache與虛存的異同 主存-輔存的訪問機(jī)制與cache-
46、主存的訪問機(jī)制類似,是三級(jí)存儲(chǔ)體系中的兩個(gè)層次 cache和主存之間由輔助硬件負(fù)責(zé)地址變換與管理;主存和輔存之間由輔助軟、硬件負(fù)責(zé)地址變換與管理,構(gòu)成虛擬存儲(chǔ)器,Cache-主存、主存-輔存兩個(gè)存儲(chǔ)層次的比較,相同點(diǎn): (1)出發(fā)點(diǎn)相同:存儲(chǔ)系統(tǒng)的性價(jià)比;性能、價(jià)格和容量 (2)原理相同:程序運(yùn)行時(shí)的局部性原理 不同點(diǎn): (1)側(cè)重點(diǎn)不同:cache速度差異;虛存存儲(chǔ)容量、存儲(chǔ)管理、主存分配和存儲(chǔ)保護(hù)等 (2)數(shù)據(jù)通路不同:未命中時(shí)的訪問方法 (3)透明性不同:cache對(duì)系統(tǒng)程序員和應(yīng)用程序員均透明;而虛存對(duì)實(shí)現(xiàn)存儲(chǔ)管理的系統(tǒng)程序員不透明,只對(duì)應(yīng)用程序員透明(段式和段頁式管理對(duì)應(yīng)用程序員“半
47、透明”) (4)未命中時(shí)的損失不同:主存的存取時(shí)間是cache的510倍;主存的存取速度通常比輔存快上千倍,4、虛存機(jī)制要解決的關(guān)鍵問題,在操作系統(tǒng)的控制下,由硬件和系統(tǒng)軟件負(fù)責(zé)解決 (1)調(diào)度問題:決定哪些程序和數(shù)據(jù)應(yīng)被調(diào)入主存 (2)地址映射問題: 內(nèi)地址變換訪問主存時(shí)把虛地址變?yōu)橹鞔嫖锢淼刂?外地址變換訪問輔存時(shí)把虛地址變成輔存的物理地址 還要解決主存分配、存儲(chǔ)保護(hù)與程序再定位等問題 (3)替換問題:決定哪些程序和數(shù)據(jù)應(yīng)被調(diào)出主存 (4)更新問題:確保主存與輔存的一致性,1、頁式虛存地址映射 主存和虛擬地址空間都劃分成大小相等的頁(頁面大小為2的整數(shù)冪)物理頁、邏輯頁 虛地址高字段為邏輯
48、頁號(hào),低字段為頁內(nèi)地址(偏移量) 實(shí)存地址高字段為物理頁號(hào),低字段為頁內(nèi)地址 虛地址(邏輯地址)轉(zhuǎn)換成物理地址通過頁表完成,9.4.2 頁式虛擬存儲(chǔ)器,每個(gè)進(jìn)程對(duì)應(yīng)一個(gè)頁表;每個(gè)虛存頁面在頁表中有一個(gè)表項(xiàng),表項(xiàng)的內(nèi)容包含該虛存頁面所在主存頁面的地址(物理頁號(hào)),以及指示該邏輯頁是否已調(diào)入主存的有效位 頁表長度可變把頁表的基地址保存在寄存器中,頁表本身則放在主存中,頁式虛擬存儲(chǔ)器的地址映射過程,頁表很長時(shí)的處理方法,把頁表存儲(chǔ)在虛存中:頁表本身也要分頁,當(dāng)一個(gè)進(jìn)程運(yùn)行時(shí),其頁表中一部分在主存,另一部分則在輔存中 采用二級(jí)頁表結(jié)構(gòu):每個(gè)進(jìn)程有一個(gè)頁目錄表,其中的每個(gè)表項(xiàng)指向一個(gè)頁表,此時(shí),若頁目錄
49、表的長度是m,每個(gè)頁表的最大長度為n,則一個(gè)進(jìn)程最多可以有mn個(gè)頁 采用反向頁表:實(shí)現(xiàn)物理頁號(hào)到邏輯頁號(hào)的反向映射,頁表中對(duì)應(yīng)每一個(gè)物理頁號(hào)有一個(gè)表項(xiàng),表項(xiàng)的內(nèi)容包含該物理頁所對(duì)應(yīng)的邏輯頁號(hào)訪存過程,2、轉(zhuǎn)換后援緩沖器(TLBTranslation Lookaside Buffer),訪問虛存時(shí)存在的問題 減少對(duì)主存訪問次數(shù)的方法對(duì)頁表實(shí)行二級(jí)緩存 TLB用于頁表緩存的高速存儲(chǔ)部件 快表把頁表中最活躍的部分存在高速存儲(chǔ)器中構(gòu)成 慢表保存在主存中的完整頁表,TLB的作用與Cache的作用相似,通常由相聯(lián)存儲(chǔ)器實(shí)現(xiàn),是慢表中部分信息的副本 訪存過程 (1) 程序局部性原理使多數(shù)虛存訪問都將通過TL
50、B完成 (2) TLB匹配不成功時(shí)的處理,TLB的地址映射過程,內(nèi)頁表虛地址到主存物理地址的變換表 外頁表用于虛地址與輔存地址之間的變換 外頁表的結(jié)構(gòu)與輔存的尋址機(jī)制密切相關(guān) 當(dāng)主存缺頁時(shí),實(shí)施調(diào)頁操作需要定位輔存,3. 內(nèi)頁表和外頁表,分頁方式的優(yōu)點(diǎn):頁長固定,易于管理,不存在外碎片 缺點(diǎn):頁長與程序的邏輯大小無關(guān),不利于編程的獨(dú)立性(分頁對(duì)于程序員不可見),9.4.3段式虛擬存儲(chǔ)器和段頁式虛擬存儲(chǔ)器,1、段式虛擬存儲(chǔ)器 段按照程序的自然分界劃分、長度可動(dòng)態(tài)改變 通常,程序員把不同類型的數(shù)據(jù)劃分到不同的段中,并且每個(gè)程序可以有多個(gè)相同類型的段 虛地址構(gòu)成段號(hào)和段內(nèi)地址(偏移量) 段表虛地址到
51、實(shí)主存地址的變換(每個(gè)程序設(shè)置一個(gè)段表) 段表的結(jié)構(gòu):每個(gè)表項(xiàng)至少包含三個(gè)字段 (1)有效位:指明該段是否已調(diào)入實(shí)存 (2)段起址:已調(diào)入實(shí)存情況下,指明該段在實(shí)存中的首址 (3)段長:該段的實(shí)際長度,設(shè)置該字段的目的是為了防止地址越界而破壞其他段 段表本身也是一個(gè)段,可存于輔存,但一般駐留在主存,段式虛存的地址映射過程,地址變換過程及越界判斷,優(yōu)點(diǎn) 段的邏輯獨(dú)立性使其易于編譯、管理、修改和保護(hù),便于多道程序共享(分段對(duì)程序員是可見的) 段長可以根據(jù)需要?jiǎng)討B(tài)改變,允許自由調(diào)度,可有效利用主存空間 缺點(diǎn) 段長不固定使主存空間分配較麻煩 易在段間留下許多外碎片,使存儲(chǔ)空間利用率降低 地址轉(zhuǎn)換時(shí),必
52、須通過段起址與段內(nèi)偏移量的求和運(yùn)算才能求得物理地址,而不能像頁式那樣簡單拼接段式比頁式存儲(chǔ)管理方式需要更多的硬件支持,段式虛擬存儲(chǔ)器特點(diǎn),為什么頁式可以簡單拼接,而段式不行?,2、段頁式虛擬存儲(chǔ)器段式和頁式的結(jié)合,實(shí)存被等分成頁 每個(gè)程序先按邏輯結(jié)構(gòu)分段,每段再按照實(shí)存的頁大小分頁,程序按頁調(diào)入和調(diào)出,但可按段進(jìn)行編程、保護(hù)和共享 定位方式:每道程序通過一個(gè)段表和多個(gè)頁表進(jìn)行兩級(jí)再定位 段表:每個(gè)表項(xiàng)對(duì)應(yīng)一個(gè)段,有一個(gè)指針指向該段的頁表 頁表:該段各頁在主存的位置、是否已裝入、是否已修改等 虛地址構(gòu)成:基號(hào)、段號(hào)、段內(nèi)頁號(hào)、頁內(nèi)偏移量,若系統(tǒng)中只有一個(gè)基址寄存器,則不需基號(hào);多道程序切換時(shí),由
53、操作系統(tǒng)修改基址寄存器內(nèi)容,缺點(diǎn):地址映射需多次查表,實(shí)現(xiàn)復(fù)雜度較高速度較慢,基號(hào):用戶標(biāo)志號(hào),用于指明該道程序的段表起始地址,【例1】,假設(shè)有三道程序,基號(hào)A、B和C表示,其基址寄存器內(nèi)容分別為SA,SB,SC。在主存中,每道程序都有一張段表,程序A由4段構(gòu)成,程序C由3段構(gòu)成。每段有一張頁表,段表的每行就表示相應(yīng)頁表的起始位置,而頁表內(nèi)的每行即為相應(yīng)的物理頁號(hào)。 段頁式虛擬存儲(chǔ)系統(tǒng)的邏輯地址到物理地址的變換過程如圖 解:地址轉(zhuǎn)換過程如下: (1) 根據(jù)基號(hào)C,找到段表基址寄存器表第C個(gè)表項(xiàng),獲得C的段表基址SC ;再根據(jù)段號(hào)S(=1)找到程序C段表的第S個(gè)表項(xiàng),得到段S的頁表起始地址b (
54、2) 根據(jù)段內(nèi)邏輯頁號(hào)P(=2)檢索頁表,得到物理頁號(hào)(=10) (3) 物理頁號(hào)與頁內(nèi)地址拼接即得物理地址,每個(gè)段表和頁表的表項(xiàng)中都應(yīng)設(shè)置一個(gè)有效位,只有在有效位為1時(shí)才按照上述流程操作,否則需中斷當(dāng)前操作先進(jìn)行建表或調(diào)頁,段頁式虛存的地址變換過程,9.4.4 虛存的替換算法,從輔存調(diào)頁至主存而主存已滿時(shí),需要進(jìn)行主存頁面的替換 算法與cache的替換類似,有FIFO、LRU、LFU算法等 虛存中的頁面替換策略和cache中的行替換策略的顯著不同: (1) cache的替換全靠硬件實(shí)現(xiàn);虛存的替換有操作系統(tǒng)的支持 (2)虛存缺頁對(duì)系統(tǒng)性能的影響比cache未命中要大得多,因?yàn)檎{(diào)頁需要訪問輔存,并且要進(jìn)行任務(wù)切換 (3)虛存頁面替換選擇余地很大,屬于一個(gè)進(jìn)程的頁面都可替換,為支持虛存的替換,通常在頁表或段表的每個(gè)表項(xiàng)中設(shè)置一個(gè)修改位標(biāo)識(shí)對(duì)應(yīng)的頁或段空間被調(diào)入主存后是否被修改過,【例2】假設(shè)主存只有a,b,c三個(gè)頁面,組成a進(jìn)c出的FIFO
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工機(jī)械基礎(chǔ)HUAGONGJIXIEJICHU32課件
- 2025年中國汽車真皮門飾板行業(yè)市場發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 中國全裝修商品房行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略咨詢報(bào)告
- 2023-2029年中國操作系統(tǒng)軟件行業(yè)市場深度分析及投資策略咨詢報(bào)告
- 2025年中國互聯(lián)網(wǎng)+石化物流行業(yè)市場調(diào)查研究及投資前景預(yù)測報(bào)告
- 中國液晶體溫計(jì)行業(yè)市場發(fā)展監(jiān)測及投資前景展望報(bào)告
- 健康的播放課件撒法
- 營銷投放平臺(tái)搜索智能診斷升級(jí)介紹-愛采購加油推 營銷提效三步法
- 2024年收獲后處理機(jī)械項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 營銷部出差補(bǔ)貼管理辦法
- 2025年北京市中考數(shù)學(xué)試卷真題
- 擴(kuò)張型心肌病病例討論P(yáng)PT課件
- T∕CACM 1064-2018 針刀醫(yī)學(xué)臨床 通用要求
- 加油站加油機(jī)風(fēng)險(xiǎn)告知卡
- 空調(diào)設(shè)計(jì)通用氣象參數(shù)
- 麗聲北極星分級(jí)繪本第四級(jí)下The Camping Trip教學(xué)設(shè)計(jì)
- 概況第5講:工藝概述
- 直流屏使用說明書(四)
- 《基本農(nóng)田劃定技術(shù)規(guī)程》(TD-T1032-2011)
- 各活動(dòng)代金券模板(共1頁)
- 終止偵查決定書
評(píng)論
0/150
提交評(píng)論