版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章
存儲(chǔ)系統(tǒng)教學(xué)要求重點(diǎn)和難點(diǎn)存儲(chǔ)器的層次結(jié)構(gòu)半導(dǎo)體存儲(chǔ)器存儲(chǔ)器的擴(kuò)展高速緩沖存儲(chǔ)器虛擬存儲(chǔ)器技術(shù)實(shí)驗(yàn)存儲(chǔ)器擴(kuò)展實(shí)驗(yàn)主要內(nèi)容存儲(chǔ)器概述
SRAM存儲(chǔ)器DRAM存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器并行存儲(chǔ)器
cache存儲(chǔ)器虛擬存儲(chǔ)器存儲(chǔ)器概述存儲(chǔ)器的分類存儲(chǔ)器的分級(jí)結(jié)構(gòu)主存的技術(shù)指標(biāo)(2)按存取方式分類隨機(jī)存儲(chǔ)器順序存儲(chǔ)器半順序存儲(chǔ)器(1)按存儲(chǔ)介質(zhì)分類半導(dǎo)體存儲(chǔ)器磁表面存儲(chǔ)器光介質(zhì)存儲(chǔ)器雙極型半導(dǎo)體存儲(chǔ)器MOS型半導(dǎo)體存儲(chǔ)器存儲(chǔ)器的分類(4)按信息的易失性易失性存儲(chǔ)器非易失性存儲(chǔ)器(5)按在系統(tǒng)中的作用分類主存儲(chǔ)器輔助存儲(chǔ)器高速緩沖存儲(chǔ)器控制存儲(chǔ)器存儲(chǔ)器的分類(3)存儲(chǔ)內(nèi)容的可變性只讀存儲(chǔ)器(ROM)隨機(jī)讀寫(xiě)存儲(chǔ)器(RAM)二級(jí)存儲(chǔ)結(jié)構(gòu)主存輔存CPU寄存器存儲(chǔ)器的分級(jí)結(jié)構(gòu)Cache主
存CPU寄存器輔存三級(jí)存儲(chǔ)結(jié)構(gòu)存儲(chǔ)器的分級(jí)結(jié)構(gòu)四級(jí)存儲(chǔ)結(jié)構(gòu)CPU寄存器主
存輔存L2CacheL1Cache存儲(chǔ)器的分級(jí)結(jié)構(gòu)幾個(gè)概念存儲(chǔ)單元字地址、字節(jié)地址按字尋址、按字節(jié)尋址主要技術(shù)指標(biāo)存儲(chǔ)容量存取時(shí)間存儲(chǔ)周期存儲(chǔ)器帶寬主存儲(chǔ)器的技術(shù)指標(biāo)主要內(nèi)容存儲(chǔ)器概述
SRAM存儲(chǔ)器DRAM存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器并行存儲(chǔ)器
cache存儲(chǔ)器虛擬存儲(chǔ)器SRAM存儲(chǔ)器基本的靜態(tài)存儲(chǔ)元陣列基本的SRAM邏輯結(jié)構(gòu)讀/寫(xiě)周期波形存儲(chǔ)元是組成存儲(chǔ)器的基礎(chǔ)和核心,用來(lái)存儲(chǔ)一位二進(jìn)制信息0或1。基本的靜態(tài)存儲(chǔ)元陣列基本的靜態(tài)存儲(chǔ)元陣列存儲(chǔ)元信號(hào)線地址線數(shù)據(jù)線控制線行線基本的SRAM邏輯結(jié)構(gòu)存儲(chǔ)體地址譯碼單譯碼雙譯碼緩沖器輸入緩沖輸出緩沖讀寫(xiě)互鎖邏輯基本的SRAM邏輯結(jié)構(gòu)控制信號(hào)中CS是片選信號(hào),CS有效時(shí)(低電平),門(mén)G1、G2均被打開(kāi)。OE為讀出使能信號(hào),OE有效時(shí)(低電平),門(mén)G2開(kāi)啟,當(dāng)寫(xiě)命令WE=1時(shí)(高電平),門(mén)G1關(guān)閉,存儲(chǔ)器進(jìn)行讀操作。寫(xiě)操作時(shí),WE=0,門(mén)G1開(kāi)啟,門(mén)G2關(guān)閉。注意,門(mén)G1和G2是互鎖的,一個(gè)開(kāi)啟時(shí)另一個(gè)必定關(guān)閉,這樣保證了讀時(shí)不寫(xiě),寫(xiě)時(shí)不讀。讀寫(xiě)互鎖邏輯基本的SRAM邏輯結(jié)構(gòu)地址譯碼單譯碼雙譯碼1234096...
譯碼器A0
A1A2......A11Y0Y1Y2.....Y4095I/O控制電路單譯碼方式示意圖(4096×1位)雙譯碼方式示意圖(4096×1位)X0X1X2....X63...1,12,13,164,1
Y譯碼器
X譯碼器A0
A1A2A3A4A5...1,22,23,264,2...1,642,643,6464,64............Y0Y1Y63A6A7A8A9A10A11地址譯碼單譯碼雙譯碼讀寫(xiě)周期波形圖讀寫(xiě)周期波形圖讀寫(xiě)周期波形圖錯(cuò)誤時(shí)序正確時(shí)序主要內(nèi)容存儲(chǔ)器概述
SRAM存儲(chǔ)器DRAM存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器并行存儲(chǔ)器
cache存儲(chǔ)器虛擬存儲(chǔ)器DRAM存儲(chǔ)器
DRAM存儲(chǔ)元的記憶原理DRAM芯片的邏輯結(jié)構(gòu)讀/寫(xiě)周期、刷新周期存儲(chǔ)器容量的擴(kuò)展*高級(jí)的DRAM結(jié)構(gòu)*DRAM主存讀/寫(xiě)的正確性校驗(yàn)DRAM存儲(chǔ)元的記憶原理存儲(chǔ)元寫(xiě)操作寫(xiě)1到存儲(chǔ)元寫(xiě)0到存儲(chǔ)元存儲(chǔ)元讀操作讀1讀0存儲(chǔ)元刷新DRAM存儲(chǔ)元的典型操作示意圖DRAM芯片的邏輯結(jié)構(gòu)DRAM芯片實(shí)例1M*4位24腳4位雙向數(shù)據(jù)10位地址分時(shí)復(fù)用行地址鎖存列地址鎖存按行刷新D0-D3讀/寫(xiě)周期、刷新周期DRAM的讀周期波形讀/寫(xiě)周期、刷新周期DRAM的寫(xiě)周期波形讀/寫(xiě)周期、刷新周期DRAM的刷新刷新周期從上一次對(duì)整個(gè)存儲(chǔ)器刷新結(jié)束到下一次對(duì)整個(gè)存儲(chǔ)器全部刷新一遍的時(shí)間間隔就是“刷新周期”,一般為8ms到16ms。刷新方式集中式刷新:在整個(gè)刷新周期內(nèi)(如8ms),前一段時(shí)間重復(fù)進(jìn)行正常讀/寫(xiě)操作,后一段時(shí)間則進(jìn)行逐行刷新,這段時(shí)間不進(jìn)行讀/寫(xiě)操作,數(shù)據(jù)線輸出被封鎖。分散式刷新:將每一行的刷新插入到正常的讀/寫(xiě)周期之中分散進(jìn)行。例如刷新周期為8ms,DRAM有1024行,則每一行必須每隔8ms÷1024=7.8μs進(jìn)行一次。利用/CAS比/RAS信號(hào)提前動(dòng)作實(shí)現(xiàn)刷新操作集中式刷新:在整個(gè)刷新間隔內(nèi),前一段時(shí)間重復(fù)進(jìn)行讀/寫(xiě)周期或維持周期,等到需要進(jìn)行刷新操作時(shí),便暫停讀/寫(xiě)或維持周期,而逐行刷新整個(gè)存儲(chǔ)器,它適用于高速存儲(chǔ)器。分散式刷新:把一個(gè)存儲(chǔ)系統(tǒng)周期tc分為兩半,周期前半段時(shí)間tm用來(lái)讀/寫(xiě)操作或維持信息,周期后半段時(shí)間tr作為刷新操作時(shí)間。這樣,每經(jīng)過(guò)128個(gè)系統(tǒng)周期時(shí)間,整個(gè)存儲(chǔ)器便全部刷新一遍。存儲(chǔ)器與CPU的鏈接存儲(chǔ)容量的擴(kuò)展位擴(kuò)展芯片字長(zhǎng)較短,不滿足存儲(chǔ)器字長(zhǎng)要求字?jǐn)?shù)不變,位數(shù)擴(kuò)展字?jǐn)U展芯片存儲(chǔ)容量較小(字?jǐn)?shù)少),不滿足總?cè)萘恳笪粩?shù)不變,字?jǐn)?shù)擴(kuò)展字、位擴(kuò)展既有字?jǐn)?shù)的增加,也有位數(shù)的擴(kuò)展內(nèi)存條內(nèi)存條有30腳、72腳、100腳、144腳、168腳等多種形式存儲(chǔ)器與CPU的鏈接存儲(chǔ)器與CPU的連接地址線的連接CPU地址線的低位與芯片地址相連,高位用作芯片選擇數(shù)據(jù)線的連接線數(shù)相同時(shí)對(duì)應(yīng)連接,不相同時(shí)分組連接讀/寫(xiě)命令線的連接根據(jù)具體情況考慮讀信號(hào)線和寫(xiě)信號(hào)線的連接片選線的連接與CPU的訪存允許信號(hào)和地址有關(guān),通常需用一些邏輯電路產(chǎn)生合理選擇存儲(chǔ)芯片根據(jù)需要選擇RAM和ROM,數(shù)量上盡可能使連線簡(jiǎn)單方便存儲(chǔ)器與CPU的鏈接實(shí)例位擴(kuò)展:用8K×1位的SRAM芯片組成8K×8位的存儲(chǔ)器字?jǐn)U展:用16K×8位的SRAM芯片組成64K×8位的存儲(chǔ)器字、位擴(kuò)展:用16K×4位的SRAM芯片組成64K×8位的存儲(chǔ)器存儲(chǔ)器與CPU的鏈接用8K×1位的SRAM芯片組成8K×8位的存儲(chǔ)器存儲(chǔ)器與CPU的鏈接用16K×8位的SRAM芯片組成64K×8位的存儲(chǔ)器存儲(chǔ)器與CPU的鏈接用16K×4位的SRAM芯片組成64K×8位的存儲(chǔ)器
CPU
16K×4
16K×4
16K×4
16K×4
16K×4
16K×4
16K×4
16K×4譯碼器存儲(chǔ)器與CPU的鏈接
綜合例題設(shè)CPU有16根地址線、8根數(shù)據(jù)線,并用/MREQ作為訪存控制信號(hào)(低電平有效),用/WR作為讀寫(xiě)控制信號(hào)(高電平為讀,低電平為寫(xiě))?,F(xiàn)有下列存儲(chǔ)芯片:2K*8位RAM、4K*8位RAM、8K*8位RAM、4K*8位ROM、8K*8位ROM及74138譯碼器和各種門(mén)電路。畫(huà)出CPU與存儲(chǔ)器的連接圖,要求如下:主存地址空間分配:0~8191為系統(tǒng)程序區(qū);8192~32767為用戶程序區(qū);最后(最大地址)2K地址空間為系統(tǒng)程序工作區(qū);合理選用上述存儲(chǔ)芯片,說(shuō)明各選幾片;詳細(xì)畫(huà)出存儲(chǔ)芯片的片選邏輯圖。存儲(chǔ)器與CPU的鏈接
綜合例題第一步:根據(jù)題目的地址范圍畫(huà)出空間分布圖或?qū)懗龆M(jìn)制地址碼;第二步:根據(jù)地址范圍的容量以及該范圍在計(jì)算機(jī)系統(tǒng)中的作用,選擇存儲(chǔ)芯片;依題意,可選1片8K*8位的ROM、3片8K*8位的RAM以及1片2K*8位的RAM。第三步:分配CPU的地址線;第四步:片選信號(hào)的形成。081918K(ROM)81923276724K(RAM)
30K(空)63487655352K(RAM)存儲(chǔ)器與CPU的鏈接高級(jí)的DRAM結(jié)構(gòu)帶高速緩沖存儲(chǔ)器的動(dòng)態(tài)存儲(chǔ)器(CDRAM)高級(jí)的DRAM結(jié)構(gòu)同步型動(dòng)態(tài)存儲(chǔ)器(SDRAM)主要內(nèi)容存儲(chǔ)器概述
SRAM存儲(chǔ)器DRAM存儲(chǔ)器
只讀存儲(chǔ)器和閃速存儲(chǔ)器并行存儲(chǔ)器
cache存儲(chǔ)器虛擬存儲(chǔ)器只讀存儲(chǔ)器ROM掩膜ROM可編程ROMFLASH存儲(chǔ)器FLASH存儲(chǔ)元基本操作陣列結(jié)構(gòu)只讀存儲(chǔ)器和閃速存儲(chǔ)器掩膜ROM的陣列結(jié)構(gòu)和存儲(chǔ)元掩膜ROM的邏輯符號(hào)和內(nèi)部邏輯框圖EPROM存儲(chǔ)元EPROM叫做光擦除可編程可讀存儲(chǔ)器。它的存儲(chǔ)內(nèi)容可以根據(jù)需要寫(xiě)入,當(dāng)需要更新時(shí)將原存儲(chǔ)內(nèi)容抹去,再寫(xiě)入新的內(nèi)容?,F(xiàn)以浮柵雪崩注入型MOS管為存儲(chǔ)元的EPROM為例進(jìn)行說(shuō)明,結(jié)構(gòu)如右圖所示。E2PROM存儲(chǔ)元電擦除可編程只讀存儲(chǔ)器。其存儲(chǔ)元是一個(gè)具有兩個(gè)柵極的NMOS管,如圖(a)和(b)所示,G1是控制柵,它是一個(gè)浮柵,無(wú)引出線;G2是抹去柵,它有引出線。在G1柵和漏極D之間有一小面積的氧化層,其厚度極薄,可產(chǎn)生隧道效應(yīng)。如圖(c)所示,當(dāng)G2柵加20V正脈沖P1時(shí),通過(guò)隧道效應(yīng),電子由襯底注入到G1浮柵,相當(dāng)于存儲(chǔ)了“1”。利用此方法可將存儲(chǔ)器抹成全“1”狀態(tài)。FLASH存儲(chǔ)元在EPROM存儲(chǔ)元基礎(chǔ)上發(fā)展起來(lái)的右圖為閃速存儲(chǔ)器中的存儲(chǔ)元,由單個(gè)MOS晶體管組成,除漏極D和源極S外,還有一個(gè)控制柵和浮空柵FLASH存儲(chǔ)器的基本操作編程操作寫(xiě)0操作為浮空柵補(bǔ)充電子在控制柵加正電壓FLASH存儲(chǔ)器的基本操作讀取操作控制柵加上正電壓擦出操作FLASH存儲(chǔ)器的陣列結(jié)構(gòu)某一時(shí)間只有一條行選擇線被激活讀操作時(shí),若某存儲(chǔ)元原存1,則晶體管導(dǎo)通,與它所在位線接通,有電流通過(guò)位線,所經(jīng)過(guò)的負(fù)載上產(chǎn)生一個(gè)電壓降。這個(gè)電壓降送到比較器的一個(gè)輸入端,與另一端輸入的參照電壓做比較,比較器輸出一個(gè)標(biāo)志為邏輯1的電平;若某存儲(chǔ)元原先存0,則晶體管不導(dǎo)通,位線上沒(méi)有電流,比較器輸出端則產(chǎn)生一個(gè)標(biāo)志為邏輯0的電平。主要內(nèi)容存儲(chǔ)器概述
SRAM存儲(chǔ)器DRAM存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器
并行存儲(chǔ)器
cache存儲(chǔ)器虛擬存儲(chǔ)器并行存儲(chǔ)器雙端口存儲(chǔ)器雙端口存儲(chǔ)器的邏輯結(jié)構(gòu)無(wú)沖突讀寫(xiě)控制有沖突讀寫(xiě)控制多模塊交叉存儲(chǔ)器存儲(chǔ)器的模塊化組織多模塊交叉存儲(chǔ)器的基本結(jié)構(gòu)二模塊交叉存儲(chǔ)器舉例雙端口存儲(chǔ)器的邏輯結(jié)構(gòu)雙端口存儲(chǔ)器IDT7133邏輯框圖雙端口存儲(chǔ)器的無(wú)沖突讀寫(xiě)控制當(dāng)兩個(gè)端口的地址不同時(shí),在兩個(gè)端口上進(jìn)行讀寫(xiě)操作,一定不會(huì)發(fā)生讀寫(xiě)沖突。任一端口被選中驅(qū)動(dòng)時(shí),就可對(duì)整個(gè)存儲(chǔ)器進(jìn)行存取,每一個(gè)端口都有自己的片選控制(/CE)和輸出驅(qū)動(dòng)控制(/OE)。讀操作時(shí),端口的/OE(低電平有效)打開(kāi)輸出驅(qū)動(dòng)器,由存儲(chǔ)矩陣讀出的數(shù)據(jù)就出現(xiàn)在I/O線上。無(wú)沖突讀寫(xiě)條件如P87表3.4所示。雙端口存儲(chǔ)器的有沖突讀寫(xiě)控制當(dāng)兩個(gè)端口同時(shí)存取存儲(chǔ)器的同一個(gè)存儲(chǔ)單元時(shí),就會(huì)發(fā)生讀寫(xiě)沖突。為了解決這個(gè)問(wèn)題,特在兩端口各設(shè)置了一個(gè)/BUSY標(biāo)志。芯片上的判斷邏輯會(huì)對(duì)被延遲訪問(wèn)的端口置BUSY標(biāo)志(使該信號(hào)為低電平),即暫時(shí)關(guān)閉該端口。這時(shí),讀寫(xiě)操作對(duì)BUSY標(biāo)志為低電平的端口不起作用。當(dāng)優(yōu)先訪問(wèn)端口完成讀寫(xiě)操作時(shí),即可開(kāi)放被延遲端口(BUSY標(biāo)志變?yōu)楦唠娖剑试S該端口訪問(wèn)存儲(chǔ)器。當(dāng)兩個(gè)端口的BUSY標(biāo)志均為高電平且存取地址相同時(shí),會(huì)發(fā)生讀寫(xiě)沖突。雙端口存儲(chǔ)器的有沖突讀寫(xiě)控制判斷邏輯可以使地址匹配或片使能匹配下降至5ns,并決定對(duì)哪個(gè)端口進(jìn)行存取。判斷方式有兩種:/CE判斷:地址匹配且在/CE之前有效,控制邏輯在/CEL和/CER之間進(jìn)行判斷來(lái)選擇優(yōu)先端口。時(shí)序波形圖如下;地址有效判斷:/CE在地址匹配之前變低(即有效),控制邏輯在左、右地址之間進(jìn)行判斷來(lái)選擇優(yōu)先端口。無(wú)論采用哪種判斷方式,延遲端口的/BUSY標(biāo)志都將置位而關(guān)閉此端口,而當(dāng)允許存取的端口完成操作時(shí),延遲端口/BUSY標(biāo)志才進(jìn)行復(fù)位而打開(kāi)此端口。見(jiàn)P88表3.5雙端口存儲(chǔ)器的讀寫(xiě)時(shí)序雙端口存儲(chǔ)器的讀寫(xiě)時(shí)序存儲(chǔ)器的模塊化組織由若干模塊組成的存儲(chǔ)器是線性編址的各模塊中字地址的組織方式有兩種順序方式交叉方式存儲(chǔ)器的模塊化組織順序方式常規(guī)主存設(shè)計(jì)中采用順序方式組織訪問(wèn)地址。以32字4模塊存儲(chǔ)器為例這種方式中,各模塊之間的地址是不連續(xù)的,所以模塊之間不能并行工作,使存儲(chǔ)器帶寬受到限制,但是這種方式對(duì)電路故障不敏感,而且添加模塊比較容易,存儲(chǔ)器容量的擴(kuò)展比較方便。M0M1M2M3081624191725210182631119274122028513212961422307152331主存地址塊地址塊內(nèi)字地址000110
11000~111M0000~111M1000~111M2000~111M3存儲(chǔ)器的模塊化組織交叉方式以32字4模塊存儲(chǔ)器為例連續(xù)地址分布在相鄰的不同模塊內(nèi),而同一模塊內(nèi)的地址都是不連續(xù)的。因此,從定性分析,對(duì)連續(xù)字的成塊傳送,可以實(shí)現(xiàn)各模塊流水式并行存取,從而大大提高了存儲(chǔ)器的帶寬。M0M1M2M3012345678910111213141516171819202122232425262728293031主存地址塊內(nèi)字地址塊地址000~111000~111000~111000~11100011011多模塊交叉存儲(chǔ)器的基本結(jié)構(gòu)右圖為四模塊交叉存儲(chǔ)器結(jié)構(gòu)框圖。主存被分成4個(gè)相互獨(dú)立、容量相同的模塊M0,M1,M2,M3,每個(gè)模塊都有自己的讀寫(xiě)控制電路、地址寄存器和數(shù)據(jù)寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數(shù)據(jù)塊都是連續(xù)地在主存中存取,那么將大大提高主存的訪問(wèn)速度。多模塊交叉存儲(chǔ)器的基本結(jié)構(gòu)CPU同時(shí)訪問(wèn)4個(gè)模塊,存儲(chǔ)控制部件控制它們分時(shí)使用數(shù)據(jù)總線進(jìn)行信息傳遞對(duì)于一個(gè)存儲(chǔ)模塊來(lái)說(shuō),從CPU給出訪存命令到讀出信息仍然使用了一個(gè)存儲(chǔ)周期時(shí)間,而對(duì)CPU來(lái)說(shuō),它在一個(gè)存取周期內(nèi)連續(xù)訪問(wèn)了4各模塊,各模塊的讀寫(xiě)過(guò)程重疊進(jìn)行多模塊交叉存儲(chǔ)器是一種并行存儲(chǔ)器結(jié)構(gòu)多模塊交叉存儲(chǔ)器的基本結(jié)構(gòu)定量分析模塊字長(zhǎng)等于數(shù)據(jù)總線寬度,存儲(chǔ)周期為T(mén),總線傳送周期為τ,存儲(chǔ)器的交叉模塊數(shù)為m,為了實(shí)現(xiàn)流水線方式存取,應(yīng)當(dāng)滿足
T=mτTt啟動(dòng)M0結(jié)束M3再啟動(dòng)M0M0M3M2M1M0流水線方式存取示意圖成組傳送可按τ間隔流水方式進(jìn)行,即每經(jīng)τ時(shí)間延遲后啟動(dòng)下一個(gè)模塊m=T/τ是交叉存取度,交叉存儲(chǔ)器要求其模塊數(shù)必須大于或等于m連續(xù)讀出m個(gè)字所需時(shí)間為
t1=T+(m-1)τ順序方式存儲(chǔ)器連續(xù)讀取m個(gè)字所需時(shí)間為
t2=mT【例題】設(shè)存儲(chǔ)器容量為32字,字長(zhǎng)為64位,模塊數(shù)為4,分別用順序方式和交叉方式進(jìn)行組織。存儲(chǔ)周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳送周期τ=50ns。若連續(xù)讀出4個(gè)字,問(wèn)順序存儲(chǔ)器和交叉存儲(chǔ)器的帶寬各是多少?解:(1)計(jì)算順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出4個(gè)字的信息總量;
q=字長(zhǎng)*字?jǐn)?shù)(2)計(jì)算順序存儲(chǔ)器和交叉存儲(chǔ)器連續(xù)讀出4個(gè)字所需的時(shí)間;
t2=mT
t1=T+(m-1)τ(3)計(jì)算順序存儲(chǔ)器和交叉存儲(chǔ)器的帶寬;
W2=q/t2W1=q/t1多模塊交叉存儲(chǔ)器的基本結(jié)構(gòu)主要內(nèi)容存儲(chǔ)器概述
SRAM存儲(chǔ)器DRAM存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器并行存儲(chǔ)器
cache存儲(chǔ)器虛擬存儲(chǔ)器cache的基本原理主存與cache的地址映射替換策略cache的寫(xiě)操作策略奔騰PC機(jī)的cachecache存儲(chǔ)器Cache的功能解決CPU和主存之間的速度不匹配問(wèn)題一般采用高速的SRAM構(gòu)成CPU和主存之間的速度差別很大,采用兩級(jí)或多級(jí)Cache系統(tǒng)早期的一級(jí)Cache在CPU內(nèi),二級(jí)在主板上現(xiàn)在的CPU內(nèi)帶L1Cahe和L2Cahe全由硬件調(diào)度,對(duì)用戶透明cache的基本原理Cache的功能cache的基本原理CPU寄存器主
存輔存L2CacheL1CacheCache的基本原理數(shù)據(jù)傳送大小CPU與cache以字為單位Cache與主存以塊為單位一塊等于多個(gè)字地址傳送Cache命中情況Cache不命中情況替換算法cache的基本原理Cache的命中率若用Nc表示CPU訪問(wèn)cache成功的次數(shù),用Nm表示訪問(wèn)主存的次數(shù),則命中率為:若用tc表示cache命中時(shí)的訪問(wèn)時(shí)間,tm表示cache未命中時(shí)的主存訪問(wèn)時(shí)間,1-h表示未命中率,則cache/主存系統(tǒng)的平均訪問(wèn)時(shí)間ta為:如果用r=tm/tc表示主存慢于cache的倍率,e表示訪問(wèn)效率,則有:cache的基本原理先計(jì)算平均訪問(wèn)時(shí)間,再計(jì)算效率?!纠}】CPU執(zhí)行一段程序時(shí),cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問(wèn)時(shí)間。CPU訪問(wèn)cache/主存時(shí),通過(guò)地址總線傳送的是主存地址,由于cache的容量很小,它的內(nèi)容只是主存內(nèi)容的一個(gè)子集,為了能從cache中取得所需信息,必須將主存地址變換為cache地址,這種將主存地址定位到cache中的方法稱為地址映射。即確定位置的對(duì)應(yīng)關(guān)系,并用硬件實(shí)現(xiàn)。無(wú)論選擇那種映射方式,都要把主存劃分為“塊”,將cache劃分為“行”,并且“塊”和“行”具有同樣大小。選擇哪種映射方式,要考慮:硬件是否容易實(shí)現(xiàn)地址變換的速度是否快主存空間的利用率是否高主存裝入一塊時(shí),發(fā)生沖突的概率三種映射方法主存與cache的地址映射cache中采用的地址映射方式主要有全相聯(lián)映射方式、直接映射方式和組相聯(lián)映射方式這三種。下面用例子具體說(shuō)明。假設(shè)主存64字,cache16字,每塊/行均為4個(gè)字,則主存共有16塊,cache共有4行,主存地址6位,cache地址4位,其中低2位均為塊內(nèi)字地址。主存地址格式:主存
Cache地址格式:cache
主存塊號(hào)塊內(nèi)字地址Cache行號(hào)塊內(nèi)字地址01230123456789101112131415主存與cache的地址映射
全相聯(lián)映射方式這種映射可以將主存中一個(gè)塊拷貝到cache的任意一個(gè)行中,同時(shí)將塊號(hào)作為標(biāo)記存于cache的CAM;將地址分為兩部分(塊號(hào)和字),在內(nèi)存塊寫(xiě)入Cache時(shí),同時(shí)寫(xiě)入塊號(hào)標(biāo)記;CPU給出訪問(wèn)地址后,也將地址分為兩部分(塊號(hào)和字地址),比較電路將塊號(hào)與CAM表中的標(biāo)記進(jìn)行比較,相同表示命中,訪問(wèn)相應(yīng)單元;如果沒(méi)有命中,則繼續(xù)訪問(wèn)內(nèi)存,CPU直接訪問(wèn)內(nèi)存,并將被訪問(wèn)內(nèi)存的相對(duì)應(yīng)塊寫(xiě)入Cache,并修改CAM;這種方式比較靈活,但是比較電路難于設(shè)計(jì)和實(shí)現(xiàn),只適合于小容量cache。主存與cache的地址映射100011110010010101000100CAM命中未命中111001001111111011011100101110101001100001110110010101000011001000010000塊內(nèi)字地址主存塊號(hào)
比較器
全相聯(lián)映射方式示意圖
直接映射方式這種方式要求主存的塊j與cache的行i之間滿足如下函數(shù)關(guān)系:i=jmodm(m為cache的行數(shù))主存塊只能拷貝到cache的一個(gè)特定行中,地址映射的靈活性較差,但標(biāo)記位數(shù)減少,比較器位數(shù)減少,硬件簡(jiǎn)單,適用于大容量cache映射時(shí),將主存按cache的行大小分塊,用主存地址的中間字段(塊號(hào))找到cache中對(duì)應(yīng)的行,然后用主存地址的高位字段與cache行的標(biāo)記進(jìn)行比較。此時(shí),主存地址格式為:主存與cache的地址映射標(biāo)記塊號(hào)塊內(nèi)字地址標(biāo)記塊號(hào)塊內(nèi)字地址1011011010010100CAM命中未命中比較器主存111001001111111011011100101110101001100001110110010101000011001000010000cache直接映射方式示意圖
組相聯(lián)映射方式由于前兩種映射方式的優(yōu)缺點(diǎn)正好相反,所以在組相聯(lián)映射方式中,采用折中方案,兼顧二者的優(yōu)點(diǎn),盡量避免二者的缺點(diǎn),被普遍采用。這種方式將cache分組,由主存塊j與cache的組q映射,滿足關(guān)系:q=jmodu(其中u為cache組數(shù))映射時(shí),首先用主存地址中塊號(hào)的低位字段(cache組號(hào))尋找cache的對(duì)應(yīng)組,然后用高位字段與對(duì)應(yīng)組中各塊的標(biāo)記同時(shí)進(jìn)行比較。地址格式為:主存與cache的地址映射標(biāo)記組號(hào)塊內(nèi)字地址主存1111111011011100101110101001100001110110010101000011001000010000101010cache標(biāo)記組號(hào)塊內(nèi)字地址命中未命中11001011000100CAM比較器組相聯(lián)映射方式示意圖當(dāng)一個(gè)新的主存塊需要拷貝到cache,而允許存放該塊的位置又不空時(shí),就需要進(jìn)行替換。替換問(wèn)題與cache的組織方式緊密相關(guān),不同映射方式下,替換問(wèn)題解決的效果有很大差異,這涉及到替換策略(或算法)的選取。硬件實(shí)現(xiàn)的常用算法主要有以下三種:最不經(jīng)常使用(LFU)算法每行設(shè)置一個(gè)計(jì)數(shù)器,新行建立后從0開(kāi)始計(jì)數(shù),每訪問(wèn)一次,被訪問(wèn)行計(jì)數(shù)器增1,當(dāng)需要替換時(shí),比較各行的計(jì)數(shù)值,將計(jì)數(shù)值最小的行換出,同時(shí)將換出行的計(jì)數(shù)器清0。近期最少使用(LRU)算法每行設(shè)置一個(gè)計(jì)數(shù)器,每命中一次,命中行的計(jì)數(shù)器清0,其它各行的計(jì)數(shù)器增1,當(dāng)需要替換時(shí),比較各行的計(jì)數(shù)值,將計(jì)數(shù)值最大的行換出。對(duì)于2路組相聯(lián)映射的cache來(lái)說(shuō),LRU算法的硬件實(shí)現(xiàn)可以進(jìn)一步簡(jiǎn)化,使替換更加簡(jiǎn)捷。奔騰CPU內(nèi)的數(shù)據(jù)cache就是采用這種算法。隨機(jī)替換當(dāng)需要替換時(shí),從特定行位置中隨機(jī)地選取一行換出即可。該算法在硬件上容易實(shí)現(xiàn),且速度較快,但是隨機(jī)性太大,從而降低了命中率和cache的工作效率。替換策略(1)寫(xiě)回法當(dāng)CPU寫(xiě)cache命中時(shí),只修改cache的內(nèi)容,而不立即寫(xiě)入主存,只有當(dāng)該行被換出時(shí),才寫(xiě)回主存。因此,每行需設(shè)置一個(gè)修改位。這種方法可以減少訪問(wèn)主存的次數(shù),但存在數(shù)據(jù)不一致的隱患。(2)全寫(xiě)法當(dāng)寫(xiě)cache命中時(shí),cache與主存同時(shí)發(fā)生寫(xiě)修改,較好地維護(hù)了數(shù)據(jù)的一致性;當(dāng)cache未命中時(shí),只是向主存進(jìn)行寫(xiě)入,并可根據(jù)需要選擇是否將主存塊調(diào)入cache。這種方法無(wú)需設(shè)置修改位及相應(yīng)的判斷邏輯,但cache對(duì)CPU向主存的寫(xiě)操作無(wú)高速緩沖功能,降低了cache的功效。(3)寫(xiě)一次法這是基于寫(xiě)回法并結(jié)合全寫(xiě)法的寫(xiě)策略。除第一次寫(xiě)命中時(shí)要同時(shí)寫(xiě)入主存外,其它的處理方法與寫(xiě)回法相同。這種方法在奔騰CPU內(nèi)部的數(shù)據(jù)cache中得到了應(yīng)用。Cache的寫(xiě)操作策略主要內(nèi)容存儲(chǔ)器概述
SRAM存儲(chǔ)器DRAM存儲(chǔ)器只讀存儲(chǔ)器和閃速存儲(chǔ)器并行存儲(chǔ)器
cache存儲(chǔ)器
虛擬存儲(chǔ)器虛擬存儲(chǔ)器的基本概念頁(yè)式虛擬存儲(chǔ)器段式虛擬存儲(chǔ)器段頁(yè)式虛擬存儲(chǔ)器替換算法虛擬存儲(chǔ)器實(shí)例(略)虛擬存儲(chǔ)器什么是虛擬存儲(chǔ)器實(shí)地址和虛地址虛擬存儲(chǔ)器的訪問(wèn)過(guò)程Cache與虛擬存儲(chǔ)器的比較虛存機(jī)制要解決的關(guān)鍵問(wèn)題
虛擬存儲(chǔ)器的基本概念什么是虛擬存儲(chǔ)器虛擬存儲(chǔ)器是一個(gè)容量非常大的存儲(chǔ)器的邏輯模型,而不是任何實(shí)際的物理存儲(chǔ)器,它借助磁盤(pán)等外存來(lái)擴(kuò)大主存的容量,使之為更大或更多的程序所使用。虛擬存儲(chǔ)器不僅是解決存儲(chǔ)容量和存取速度矛盾的一種方法,而且也是管理存儲(chǔ)設(shè)備的有效方法。虛擬存儲(chǔ)器的基本概念實(shí)地址和虛地址虛擬存儲(chǔ)器指的是“主存—輔存”層次,它以透明的方式給用戶提供了一個(gè)比實(shí)際主存空間大得多的程序地址空間,這個(gè)地址空間通常被稱為虛擬地址空間,而程序的地址稱為虛擬地址(虛地址)。設(shè)虛地址為n位,則虛擬地址空間為2n。虛地址由編譯程序生成,CPU訪問(wèn)存儲(chǔ)器時(shí),必須將虛地址轉(zhuǎn)換成實(shí)際的主存地址(即物理地址或?qū)嵉刂罚?,這是由CPU通過(guò)地址總線送出,用于訪問(wèn)主存的地址,若地址總線為m位,則實(shí)地址空間為2m。用戶編制程序時(shí)使用的地址稱為虛地址或邏輯地址,其對(duì)應(yīng)的存儲(chǔ)空間稱為虛存空間或邏輯地址空間;而計(jì)算機(jī)物理內(nèi)存的訪問(wèn)地址則稱為實(shí)地址或物理地址,其對(duì)應(yīng)的存儲(chǔ)空間稱為物理存儲(chǔ)空間或主存空間。程序進(jìn)行虛地址到實(shí)地址轉(zhuǎn)換的過(guò)程稱為程序的再定位。
虛擬存儲(chǔ)器的基本概念虛擬存儲(chǔ)器的訪問(wèn)過(guò)程虛存空間的用戶程序按照虛地址編程并存放在輔存中。程序運(yùn)行時(shí),由地址變換機(jī)構(gòu)依據(jù)當(dāng)時(shí)分配給該程序的實(shí)地址空間把程序的一部分調(diào)入實(shí)存。每次訪存時(shí),首先判斷該虛地址所對(duì)應(yīng)的部分是否在實(shí)存中,如果是,則進(jìn)行地址轉(zhuǎn)換并用實(shí)地址訪問(wèn)主存;否則,按照某種算法將輔存中的部分程序調(diào)度進(jìn)內(nèi)存,再按同樣的方法訪問(wèn)主存。由此可見(jiàn),每個(gè)程序的虛地址空間可以遠(yuǎn)大于實(shí)地址空間,也可以遠(yuǎn)小于實(shí)地址空間。前一種情況以提高存儲(chǔ)容量為目的,后一種情況則以地址變換為目的。后者通常出現(xiàn)在多用戶或多任務(wù)系統(tǒng)中:實(shí)存空間較大,而單個(gè)任務(wù)并不需要很大的地址空間,較小的虛存空間則可以縮短指令中地址字段的長(zhǎng)度。虛擬存儲(chǔ)器的基本概念Cache與虛存的比較主存-輔存的訪問(wèn)機(jī)制與cache-主存的訪問(wèn)機(jī)制是類似的,是由cache存儲(chǔ)器、主存和輔存構(gòu)成的三級(jí)存儲(chǔ)體系中的兩個(gè)層次。cache和主存之間以及主存和輔存之間分別有輔助硬件和輔助軟硬件負(fù)責(zé)地址變換與管理,以便各級(jí)存儲(chǔ)器能夠組成有機(jī)的三級(jí)存儲(chǔ)體系。cache和主存構(gòu)成了系統(tǒng)的內(nèi)存,而主存和輔存依靠輔助軟硬件的支持構(gòu)成了虛擬存儲(chǔ)器。相同點(diǎn)出發(fā)點(diǎn)相同。二者都是為了提高存儲(chǔ)系統(tǒng)的性能價(jià)格比而構(gòu)造的分層存儲(chǔ)體系,都力圖使存儲(chǔ)系統(tǒng)的性能接近高速存儲(chǔ)器,而價(jià)格和容量接近低速存儲(chǔ)器。原理相同。都是利用了程序運(yùn)行時(shí)的局部性原理把最近常用的信息塊從相對(duì)慢速而大容量的存儲(chǔ)器調(diào)入相對(duì)高速而小容量的存儲(chǔ)器。虛擬存儲(chǔ)器的基本概念Cache與虛存的比較不同之處側(cè)重點(diǎn)不同。cache主要解決主存與CPU的速度差異問(wèn)題,虛存主要是解決存儲(chǔ)容量問(wèn)題,另外還包括存儲(chǔ)管理、主存分配和存儲(chǔ)保護(hù)等方面。數(shù)據(jù)通路不同。CPU與cache和主存之間均有直接訪問(wèn)通路,cache不命中時(shí)可直接訪問(wèn)主存;而虛存所依賴的輔存與CPU之間不存在直接的數(shù)據(jù)通路,當(dāng)主存不命中時(shí)只能通過(guò)調(diào)頁(yè)解決,CPU最終還是要訪問(wèn)主存。透明性不同。cache的管理完全由硬件完成,對(duì)系統(tǒng)程序員和應(yīng)用程序員均透明;而虛存管理由軟件(操作系統(tǒng))和硬件共同完成,由于軟件的介入,虛存對(duì)實(shí)現(xiàn)存儲(chǔ)管理的系統(tǒng)程序員不透明,而只對(duì)應(yīng)用程序員透明(段式和段頁(yè)式管理對(duì)應(yīng)用程序員“半透明”)。未命中時(shí)的損失不同。由于主存的存取時(shí)間是cache的存取時(shí)間的5~10倍,而主存的存取速度通常比輔存的存取速度快上千倍,故主存未命中時(shí)系統(tǒng)的性能損失要遠(yuǎn)大于cache未命中時(shí)的損失。虛擬存儲(chǔ)器的基本概念虛存機(jī)制解決的關(guān)鍵問(wèn)題調(diào)度問(wèn)題決定哪些程序和數(shù)據(jù)應(yīng)被調(diào)入主存。地址映射問(wèn)題在訪問(wèn)主存時(shí)把虛地址變?yōu)橹鞔嫖锢淼刂罚ㄟ@一過(guò)程稱為內(nèi)地址變換);在訪問(wèn)輔存時(shí)把虛地址變成輔存的物理地址(這一過(guò)程稱為外地址變換),以便換頁(yè)。此外還要解決主存分配、存儲(chǔ)保護(hù)與程序再定位等問(wèn)題。替換問(wèn)題決定哪些程序和數(shù)據(jù)應(yīng)被調(diào)出主存。更新問(wèn)題確保主存與輔存的一致性。在操作系統(tǒng)的控制下,硬件和系統(tǒng)軟件為用戶解決了上述問(wèn)題,從而使應(yīng)用程序的編程大大簡(jiǎn)化。虛擬存儲(chǔ)器的基本概念頁(yè)式虛擬存儲(chǔ)器的地址映射頁(yè)式虛擬存儲(chǔ)系統(tǒng)中,虛地址空間被分成等長(zhǎng)大小的頁(yè),稱為邏輯頁(yè);主存空間也被分成同樣大小的頁(yè),稱為物理頁(yè)。相應(yīng)地,虛地址分為兩個(gè)字段:高字段為邏輯頁(yè)號(hào),低字段為頁(yè)內(nèi)地址(偏移量);實(shí)存地址也分兩個(gè)字段:高字段為物理頁(yè)號(hào),低字段為頁(yè)內(nèi)地址。通過(guò)頁(yè)表可以把虛地址(邏輯地址)轉(zhuǎn)換成物理地址。頁(yè)式虛擬存儲(chǔ)器虛頁(yè)號(hào)頁(yè)內(nèi)字地址實(shí)頁(yè)號(hào)頁(yè)內(nèi)字地址虛地址實(shí)地址由于各頁(yè)面的大小相同,所以虛存和實(shí)存地址的低位字段(頁(yè)內(nèi)字地址)是相同的。虛頁(yè)號(hào)頁(yè)內(nèi)字地址實(shí)頁(yè)號(hào)頁(yè)內(nèi)字地址0實(shí)頁(yè)號(hào)裝入位1………iJ1………m-1頁(yè)表基址寄存器+頁(yè)式虛擬存儲(chǔ)器的地址映射頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器的地址映射在大多數(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è)號(hào)作為實(shí)存地址的高字段,再與虛地址的頁(yè)內(nèi)偏移量拼接,就構(gòu)成完整的物理地址。現(xiàn)代的中央處理機(jī)通常有專門(mén)的硬件支持地址變換。每個(gè)進(jìn)程所需的頁(yè)數(shù)并不固定,所以頁(yè)表的長(zhǎng)度是可變的,因此通常的實(shí)現(xiàn)方法是把頁(yè)表的基地址保存在寄存器中,而頁(yè)表本身則放在主存中。由于虛存地址空間可以很大,因而每個(gè)進(jìn)程的頁(yè)表有可能非常長(zhǎng)。例如,如果一個(gè)進(jìn)程的虛地址空間為2GB,每頁(yè)的大小為512B,則總的虛頁(yè)數(shù)為231/29=222。頁(yè)式虛擬存儲(chǔ)器頁(yè)式虛擬存儲(chǔ)器的地址映射為了節(jié)省頁(yè)表本身占用的主存空間,一些系統(tǒng)把頁(yè)表存儲(chǔ)在虛存中,因而頁(yè)表本身也要進(jìn)行分頁(yè)。當(dāng)一個(gè)進(jìn)程運(yùn)行時(shí),其頁(yè)表中一部分在主存中,另一部分則在輔存中保存。另一些系統(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)程最多可以有m×n個(gè)頁(yè)。在頁(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í),通過(guò)邏輯頁(yè)號(hào)在反向頁(yè)表中逐一查找。如果找到匹配的頁(yè),則用表項(xiàng)中的物理頁(yè)號(hào)取代邏輯頁(yè)號(hào);如果沒(méi)有匹配表項(xiàng),則說(shuō)明該頁(yè)不在主存中。這種方式的優(yōu)點(diǎn)是頁(yè)表所占空間大大縮小,但代價(jià)是需要對(duì)反向頁(yè)表進(jìn)行檢索,查表的時(shí)間很長(zhǎng)。頁(yè)式虛擬存儲(chǔ)器轉(zhuǎn)換后援緩沖器(TLB)由于頁(yè)表通常在主存中,因而即使邏輯頁(yè)已經(jīng)在主存中,也至少要訪問(wèn)兩次物理存儲(chǔ)器才能實(shí)現(xiàn)一次訪存,這將使虛擬存儲(chǔ)器的存取時(shí)間加倍。為了避免對(duì)主存訪問(wèn)次數(shù)的增多,可以對(duì)頁(yè)表本身實(shí)行二級(jí)緩存,把頁(yè)表中的最活躍的部分存放在高速存儲(chǔ)器中,組成快表。這個(gè)專用于頁(yè)表緩存的高速存儲(chǔ)部件通常稱為轉(zhuǎn)換后援緩沖器(TLB)。保存在主存中的完整頁(yè)表則稱為慢表。過(guò)程如下頁(yè)式虛擬存儲(chǔ)器虛頁(yè)號(hào)頁(yè)內(nèi)字地址實(shí)頁(yè)號(hào)頁(yè)內(nèi)字地址0實(shí)頁(yè)號(hào)裝入位1………iJ1………m-1虛頁(yè)號(hào)實(shí)頁(yè)號(hào)…………慢表(在主存中)快表(相聯(lián)存儲(chǔ)器)相聯(lián)比較(按內(nèi)容訪問(wèn))(按地址訪問(wèn))(在快表中查不到)TLB地址映射過(guò)程內(nèi)頁(yè)表和外頁(yè)表頁(yè)表是虛地址到主存物理地址的變換表,通常稱為內(nèi)頁(yè)表。與內(nèi)頁(yè)表對(duì)應(yīng)的還有外頁(yè)表,用于虛地址與輔存地址之間的變換。當(dāng)主存缺頁(yè)時(shí),調(diào)頁(yè)操作首先要定位輔存,而外頁(yè)表的結(jié)構(gòu)與輔存的尋址機(jī)制密切相關(guān)。例如對(duì)磁盤(pán)而言,輔存地址包括磁盤(pán)機(jī)號(hào)、磁頭號(hào)、磁道號(hào)和扇區(qū)號(hào)等。頁(yè)式虛擬存儲(chǔ)器段式虛擬存儲(chǔ)器段是按照程序的自然分界劃分的長(zhǎng)度可以動(dòng)態(tài)改變的區(qū)域。通常,程序員把子程序、操作數(shù)和常數(shù)等不同類型的數(shù)據(jù)劃分到不同的段中,并且每個(gè)程序可以有多個(gè)相同類型的段。在段式虛擬存儲(chǔ)系統(tǒng)中,虛地址由段號(hào)和段內(nèi)地址(偏移量)組成。虛地址到實(shí)主存地址的變換通過(guò)段表實(shí)現(xiàn)。每個(gè)程序設(shè)置一個(gè)段表,段表的每一個(gè)表項(xiàng)對(duì)應(yīng)一個(gè)段。每個(gè)表項(xiàng)至少包含下面三個(gè)字段:有效位:指明該段是否已經(jīng)調(diào)入實(shí)存段起址:指明在該段已經(jīng)調(diào)入實(shí)存的情況下,該段在實(shí)存中的首地址。段長(zhǎng):記錄該段的實(shí)際長(zhǎng)度。設(shè)置段長(zhǎng)字段的目的是為了保證訪問(wèn)某段的地址空間時(shí),段內(nèi)地址不會(huì)超出該段長(zhǎng)度導(dǎo)致地址越界而破壞其他段。段表本身也是一個(gè)段,可以存在輔存中,但一般是駐留在主存中。段式虛擬存儲(chǔ)器1K段02K段13K段21K段32K段4長(zhǎng)度程序分段空間(外存)段號(hào)段始地址裝入位段長(zhǎng)0100011K102612013K3919211K4202412K實(shí)主存地址地址段010002023段420244071未用段261209191段3919210215未用段式虛擬存儲(chǔ)器的段表形成段式虛擬存儲(chǔ)器段號(hào)段始地址裝入位段長(zhǎng)0100011K102612013K3919211K4202412K段表基址寄存器段號(hào)段內(nèi)字地址++主存地址段表(在主存中)段式虛擬存儲(chǔ)器的地址映射過(guò)程段式虛擬存儲(chǔ)器段式虛擬存儲(chǔ)器的特點(diǎn)段式虛擬存儲(chǔ)器有許多優(yōu)點(diǎn)段的邏輯獨(dú)立性使其易于編譯、管理、修改和保護(hù),也便于多道程序共享段長(zhǎng)可以根據(jù)需要?jiǎng)討B(tài)改變,允許自由調(diào)度以便有效利用主存空間段式虛擬存儲(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)行直接拼接,必須用加法操作通過(guò)段起址與段內(nèi)偏移量的求和運(yùn)算求得物理地址。因此,段式存儲(chǔ)管理比頁(yè)式存儲(chǔ)管理方式需要更多的硬件支持。段式虛擬存儲(chǔ)器段式虛擬存儲(chǔ)器和頁(yè)式虛擬存儲(chǔ)器的結(jié)合實(shí)存被等分成頁(yè)每個(gè)程序先按邏輯結(jié)構(gòu)分段,每段再按照實(shí)存的頁(yè)大小分頁(yè)程序按頁(yè)進(jìn)行調(diào)入和調(diào)出操作,但可按段進(jìn)行編程、保護(hù)和共享虛擬地址格式如下訪問(wèn)存儲(chǔ)器時(shí),須查兩級(jí)表,至少須查兩次表,當(dāng)頁(yè)表很大時(shí),往往需要構(gòu)成多級(jí)頁(yè)表層次,這樣,查表次數(shù)會(huì)更多。這是段頁(yè)式虛擬存儲(chǔ)器的主要缺點(diǎn)。段頁(yè)式虛擬存儲(chǔ)器基
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 壓強(qiáng)課程設(shè)計(jì)
- 企業(yè)人力資源的招聘策略
- 大學(xué)校園內(nèi)綠地的多功能利用
- 汽車保險(xiǎn)行業(yè)發(fā)展趨勢(shì)分析
- 操縱桿課程設(shè)計(jì)結(jié)論
- 青島工學(xué)院《機(jī)械機(jī)構(gòu)分析與設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 精神障礙患者的社區(qū)支持服務(wù)
- 壓力表結(jié)構(gòu)課程設(shè)計(jì)
- 大數(shù)據(jù)時(shí)代下的市場(chǎng)分析
- 房地產(chǎn)的課程設(shè)計(jì)書(shū)
- 中建塔樓幕墻屋面環(huán)軌拆卸專項(xiàng)施工方案
- 《化肥與種植業(yè)生產(chǎn)》課件
- 護(hù)理值班與交班制度
- 《中國(guó)心力衰竭診斷和治療指南2024》解讀(總)
- 知道智慧網(wǎng)課《會(huì)計(jì)學(xué)原理》章節(jié)測(cè)試答案
- 教科版五年級(jí)上冊(cè)科學(xué)期末測(cè)試卷及參考答案(完整版)
- 紀(jì)檢監(jiān)察干部隊(duì)伍理論業(yè)務(wù)應(yīng)知應(yīng)會(huì)知識(shí)測(cè)試題庫(kù)
- 國(guó)測(cè)省測(cè)四年級(jí)勞動(dòng)質(zhì)量檢測(cè)試卷
- 《道德經(jīng)》的智慧啟示智慧樹(shù)知到期末考試答案2024年
- 2024年大學(xué)生心理健康教育考試題庫(kù)及答案(含各題型)
- 中醫(yī)內(nèi)科學(xué)消渴課件
評(píng)論
0/150
提交評(píng)論