計算機(jī)組成原理課件_第1頁
計算機(jī)組成原理課件_第2頁
計算機(jī)組成原理課件_第3頁
計算機(jī)組成原理課件_第4頁
計算機(jī)組成原理課件_第5頁
已閱讀5頁,還剩111頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1第三章多層次的存儲器3.1存儲器概述3.2SRAM存儲器3.3DRAM存儲器3.4只讀存儲器和閃速存儲器3.5并行存儲器3.6Cache存儲器3.7虛擬存儲器3.8奔騰系列機(jī)的虛存組織返回23.1存儲器概述3.1.1存儲器的分類3.1.2存儲器的分級3.1.3主存儲器的技術(shù)指標(biāo)

返回33.1.1存儲器的分類按存儲介質(zhì)分類:磁表面/半導(dǎo)體存儲器按存取方式分類:隨機(jī)/順序存取(磁帶)按讀寫功能分類:ROM,RAMRAM:雙極型/MOSROM:MROM/PROM/EPROM/EEPROM按信息的可保存性分類:永久性和非永久性的按存儲器系統(tǒng)中的作用分類:主/輔/緩/控43.1.2存儲器的分級目前存儲器的特點(diǎn)是:速度快的存儲器價格貴,容量??;價格低的存儲器速度慢,容量大。在計算機(jī)存儲器體系結(jié)構(gòu)設(shè)計時,我們希望存儲器系統(tǒng)的性能高、價格低,那么在存儲器系統(tǒng)設(shè)計時,應(yīng)當(dāng)在存儲器容量,速度和價格方面的因素作折中考慮,建立了分層次的存儲器體系結(jié)構(gòu)如下圖所示。53.1.2存儲器的分級高速緩沖存儲器簡稱cache,它是計算機(jī)系統(tǒng)中的一個高速小容量半導(dǎo)體存儲器。主存儲器簡稱主存,是計算機(jī)系統(tǒng)的主要存儲器,用來存放計算機(jī)運(yùn)行期間的大量程序和數(shù)據(jù)。外存儲器簡稱外存,它是大容量輔助存儲器。CAI63.1.3主存儲器的技術(shù)指標(biāo)字存儲單元:存放一個機(jī)器字的存儲單元,相應(yīng)的單元地址叫字地址。字節(jié)存儲單元:存放一個字節(jié)的單元,相應(yīng)的地址稱為字節(jié)地址。存儲容量:指一個存儲器中可以容納的存儲單元總數(shù)。存儲容量越大,能存儲的信息就越多。存取時間又稱存儲器訪問時間:指一次讀操作命令發(fā)出到該操作完成,將數(shù)據(jù)讀出到數(shù)據(jù)總線上所經(jīng)歷的時間。通常取寫操作時間等于讀操作時間,故稱為存儲器存取時間。存儲周期:指連續(xù)啟動兩次讀操作所需間隔的最小時間。通常,存儲周期略大于存取時間,其時間單位為ns。存儲器帶寬:單位時間里存儲器所存取的信息量,通常以位/秒或字節(jié)/秒做度量單位。73.2SRAM存儲器3.2.1基本的靜態(tài)存儲元陣列3.2.2基本的SRAM邏輯結(jié)構(gòu)3.2.3讀/寫周期波形圖

83.2SRAM存儲器主存(內(nèi)部存儲器)是半導(dǎo)體存儲器。根據(jù)信息存儲的機(jī)理不同可以分為兩類:靜態(tài)讀寫存儲器(SRAM):存取速度快動態(tài)讀寫存儲器(DRAM):存儲容量不如SRAM大。93.2.1基本的靜態(tài)存儲元陣列1、存儲位元2、三組信號線地址線數(shù)據(jù)線行線列線控制線CAI103.2.2基本的SRAM邏輯結(jié)構(gòu)SRAM芯大多采用雙譯碼方式,以便組織更大的存儲容量。采用了二級譯碼:將地址分成x向、y向兩部分如圖所示。CAI113.2.2基本的SRAM邏輯結(jié)構(gòu)存儲體(256×128×8)通常把各個字的同一個字的同一位集成在一個芯片(32K×1)中,32K位排成256×128的矩陣。8個片子就可以構(gòu)成32KB。地址譯碼器采用雙譯碼的方式(減少選擇線的數(shù)目)。A0~A7為行地址譯碼線A8~A14為列地址譯碼線123.2.2基本的SRAM邏輯結(jié)構(gòu)讀與寫的互鎖邏輯 控制信號中CS是片選信號,CS有效時(低電平),門G1、G2均被打開。OE為讀出使能信號,OE有效時(低電平),門G2開啟,當(dāng)寫命令WE=1時(高電平),門G1關(guān)閉,存儲器進(jìn)行讀操作。寫操作時,WE=0,門G1開啟,門G2關(guān)閉。注意,門G1和G2是互鎖的,一個開啟時另一個必定關(guān)閉,這樣保證了讀時不寫,寫時不讀。133.2.3讀/寫周期波形圖讀周期讀出時間Taq讀周期時間Trc寫周期寫周期時間Twc寫時間twd存取周期讀周期時間Trc=寫時間twdCAI14例1:圖3.5(a)是SRA的寫入時序圖。其中R/W是讀/寫命令控制線,當(dāng)R/W線為低電平時,存儲器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出圖3.5(a)寫入時序中的錯誤,并畫出正確的寫入時序圖。CAI153.3DRAM存儲器3.3.1DRAM存儲位元的記憶原理3.3.2DRAM芯片的邏輯結(jié)構(gòu)3.3.3讀/寫周期、刷新周期3.3.4存儲器容量的擴(kuò)充3.3.5高級的DRAM結(jié)構(gòu)3.3.6DRAM主存讀/寫的正確性校驗(yàn)163.3.1DRAM存儲位元的記憶原理

SRAM存儲器的存儲位元是一個觸發(fā)器,它具有兩個穩(wěn)定的狀態(tài)。而DRAM存儲器的存儲位元是由一個MOS晶體管和電容器組成的記憶電路,如圖3.6所示。173.3.1DRAM存儲位元的記憶原理CAI183.3.2DRAM芯片的邏輯結(jié)構(gòu)下面我們通過一個例子來看一下動態(tài)存儲器的邏輯結(jié)構(gòu)如圖。圖3.7(a)示出1M×4位DRAM芯片的管腳圖,其中有兩個電源腳、兩個地線腳,為了對稱,還有一個空腳(NC)。圖3.7(b)是該芯片的邏輯結(jié)構(gòu)圖。與SRAM不同的是:(1)增加了行地址鎖存器和列地址鎖存器。由于DRAM存儲器容量很大,地址線寬度相應(yīng)要增加,這勢必增加芯片地址線的管腳數(shù)目。為避免這種情況,采取的辦法是分時傳送地址碼。若地址總線寬度為10位,先傳送地址碼A0~A9,由行選通信號RAS打入到行地址鎖存器;然后傳送地址碼A10~A19,由列選通信號CRS打入到列地址鎖存器。芯片內(nèi)部兩部分合起來,地址線寬度達(dá)20位,存儲容量為1M×4位。(2)增加了刷新計數(shù)器和相應(yīng)的控制電路。DRAM讀出后必須刷新,而未讀寫的存儲元也要定期刷新,而且要按行刷新,所以刷新計數(shù)器的長度等于行地址鎖存器。刷新操作與讀/寫操作是交替進(jìn)行的,所以通過2選1多路開關(guān)來提供刷新行地址或正常讀/寫的行地址。193.3.2DRAM芯片的邏輯結(jié)構(gòu)CAI203.3.3讀/寫周期、刷新周期1、讀/寫周期讀周期、寫周期的定義是從行選通信號RAS下降沿開始,到下一個RAS信號的下降沿為止的時間,也就是連續(xù)兩個讀周期的時間間隔。通常為控制方便,讀周期和寫周期時間相等。CAI213.3.3讀/寫周期、刷新周期2、刷新周期刷新周期:DRAM存儲位元是基于電容器上的電荷量存儲,這個電荷量隨著時間和溫度而減少,因此必須定期地刷新,以保持它們原來記憶的正確信息。刷新操作有兩種刷新方式:集中式刷新:DRAM的所有行在每一個刷新周期中都被刷新。例如刷新周期為8ms的內(nèi)存來說,所有行的集中式刷新必須每隔8ms進(jìn)行一次。為此將8ms時間分為兩部分:前一段時間進(jìn)行正常的讀/寫操作,后一段時間(8ms至正常讀/寫周期時間)做為集中刷新操作時間。分散式刷新:每一行的刷新插入到正常的讀/寫周期之中。例如p72圖3.7所示的DRAM有1024行,如果刷新周期為8ms,則每一行必須每隔8ms÷1024=7.8us進(jìn)行一次。223.3.4存儲器容量的擴(kuò)充1、字長位數(shù)擴(kuò)展 給定的芯片字長位數(shù)較短,不滿足設(shè)計要求的存儲器字長,此時需要用多片給定芯片擴(kuò)展字長位數(shù)。三組信號線中,地址線和控制線公用而數(shù)據(jù)線單獨(dú)分開連接。

d=設(shè)計要求的存儲器容量/選擇芯片存儲器容量

[例2]利用1M×4位的SRAM芯片,設(shè)計一個存儲容量為1M×8位的SRAM存儲器。解:所需芯片數(shù)量=(1M×8)/(1M×4)=2片設(shè)計的存儲器字長為8位,存儲器容量不變。連接的三組信號線與例相似,即地址線、控制線公用,數(shù)據(jù)線分高4位、低4位,但數(shù)據(jù)線是雙向的,與SRAM芯片的I/O端相連接。見書上圖3.9所示。233.3.4存儲器容量的擴(kuò)充2、字存儲容量擴(kuò)展給定的芯片存儲容量較小(字?jǐn)?shù)少),不滿足設(shè)計要求的總存儲容量,此時需要用多片給定芯片來擴(kuò)展字?jǐn)?shù)。三組信號組中給定芯片的地址總線和數(shù)據(jù)總線公用,控制總線中R/W公用,使能端EN不能公用,它由地址總線的高位段譯碼來決定片選信號。所需芯片數(shù)仍由(d=設(shè)計要求的存儲器容量/選擇芯片存儲器容量)決定。[例3]利用1M×8位的DRAM芯片設(shè)計2M×8位的DRAM存儲器解:所需芯片數(shù)d=(2M×8)/(1M×8)=2(片)設(shè)計的存儲器見書上圖3.10所示。字長位數(shù)不變,地址總線A0~A19同時連接到2片DRAM的地址輸入端,地址總線最高位有A20、A20,分別作為兩片DRAM的片選信號,兩個芯片不會同時工作。243.3.4存儲器容量的擴(kuò)充3、存儲器模塊條存儲器通常以插槽用模塊條形式供應(yīng)市場。這種模塊條常稱為內(nèi)存條,它們是在一個條狀形的小印制電路板上,用一定數(shù)量的存儲器芯片,組成一個存儲容量固定的存儲模塊。如圖所示。內(nèi)存條有30腳、72腳、100腳、144腳、168腳等多種形式。30腳內(nèi)存條設(shè)計成8位數(shù)據(jù)線,存儲容量從256KB~32MB。72腳內(nèi)存條設(shè)計成32位數(shù)據(jù)總線100腳以上內(nèi)存條既用于32位數(shù)據(jù)總線又用于64位數(shù)據(jù)總線,存儲容量從4MB~512MB。253.3.5高級的DRAM結(jié)構(gòu)1、FPMDRAM:

快速頁模式動態(tài)存儲器,它是根據(jù)程序的局部性原理來實(shí)現(xiàn)的。讀周期和寫周期中,為了尋找一個確定的存儲單元地址,首先由低電平的行選通信號RAS確定行地址,然后由低電平的列選信號CAS確定列地址。下一次尋找操作,也是由RAS選定行地址,CAS選定列地址,依此類推,如下圖所示。CAI263.3.5高級的DRAM結(jié)構(gòu)2、CDRAMCDRAM稱為帶高速緩沖存儲器(cache)的動態(tài)存儲器,它是在通常的DRAM芯片內(nèi)又集成了一個小容量的SRAM,從而使DRAM芯片的性能得到顯著改進(jìn)。如圖所示出1M×4位CDRAM芯片的結(jié)構(gòu)框圖,其中SRAM為512×4位。CAI273.3.5高級的DRAM結(jié)構(gòu)3、SDRAMSDRAM稱為同步型動態(tài)存儲器。計算機(jī)系統(tǒng)中的CPU使用的是系統(tǒng)時鐘,SDRAM的操作要求與系統(tǒng)時鐘相同步,在系統(tǒng)時鐘的控制下從CPU獲得地址、數(shù)據(jù)和控制信息。換句話說,它與CPU的數(shù)據(jù)交換同步于外部的系統(tǒng)時鐘信號,并且以CPU/存儲器總線的最高速度運(yùn)行,而不需要插入等待狀態(tài)。其原理和時序關(guān)系見下一頁圖和動畫。28CAI293.3.5高級的DRAM結(jié)構(gòu)[例4]CDRAM內(nèi)存條組成實(shí)例。 一片CDRAM的容量為1M×4位,8片這樣的芯片可組成1M×32位4MB的存儲模塊,其組成如下圖所示。CAI303.3.6DRAM主存讀/寫的正確性校驗(yàn)DRAM通常用做主存儲器,其讀寫操作的正確性與可靠性至關(guān)重要。為此除了正常的數(shù)據(jù)位寬度,還增加了附加位,用于讀/寫操作正確性校驗(yàn)。增加的附加位也要同數(shù)據(jù)位一起寫入DRAM中保存。其原理如圖所示。CAI313.4只讀存儲器和閃速存儲器3.4.1只讀存儲器ROM3.4.2FLASH存儲器

323.4.1只讀存儲器ROMROM叫做只讀存儲器。顧名思義,只讀的意思是在它工作時只能讀出,不能寫入。然而其中存儲的原始數(shù)據(jù),必須在它工作以前寫入。只讀存儲器由于工作可靠,保密性強(qiáng),在計算機(jī)系統(tǒng)中得到廣泛的應(yīng)用。主要有兩類:掩模ROM:掩模ROM實(shí)際上是一個存儲內(nèi)容固定的ROM,由生產(chǎn)廠家提供產(chǎn)品。可編程ROM:用戶后寫入內(nèi)容,有些可以多次寫入。一次性編程的PROM多次編程的EPROM和E2PROM。333.4.1只讀存儲器ROM1、掩模ROM(1)掩模ROM的陣列結(jié)構(gòu)和存儲元CAI343.4.1只讀存儲器ROM1、掩模ROM(2)掩模ROM的邏輯符號和內(nèi)部邏輯框圖CAI353.4.1只讀存儲器ROM2、可編程ROMEPROM叫做光擦除可編程可讀存儲器。它的存儲內(nèi)容可以根據(jù)需要寫入,當(dāng)需要更新時將原存儲內(nèi)容抹去,再寫入新的內(nèi)容?,F(xiàn)以浮柵雪崩注入型MOS管為存儲元的EPROM為例進(jìn)行說明,結(jié)構(gòu)如右圖所示。363.4.1只讀存儲器ROM2、可編程ROM

E2PROM存儲元

EEPROM,叫做電擦除可編程只讀存儲器。其存儲元是一個具有兩個柵極的NMOS管,如圖(a)和(b)所示,G1是控制柵,它是一個浮柵,無引出線;G2是抹去柵,它有引出線。在G1柵和漏極D之間有一小面積的氧化層,其厚度極薄,可產(chǎn)生隧道效應(yīng)。如圖(c)所示,當(dāng)G2柵加20V正脈沖P1時,通過隧道效應(yīng),電子由襯底注入到G1浮柵,相當(dāng)于存儲了“1”。利用此方法可將存儲器抹成全“1”狀態(tài)。373.4.2FLASH存儲器

FLASH存儲器也翻譯成閃速存儲器,它是高密度非失易失性的讀/寫存儲器。高密度意味著它具有巨大比特數(shù)目的存儲容量。非易失性意味著存放的數(shù)據(jù)在沒有電源的情況下可以長期保存??傊?,它既有RAM的優(yōu)點(diǎn),又有ROM的優(yōu)點(diǎn),稱得上是存儲技術(shù)劃時代的進(jìn)展。383.4.2FLASH存儲器1、FLASH存儲元

在EPROM存儲元基礎(chǔ)上發(fā)展起來的,由此可以看出創(chuàng)新與繼承的關(guān)系。如右圖所示為閃速存儲器中的存儲元,由單個MOS晶體管組成,除漏極D和源極S外,還有一個控制柵和浮空柵。CAI393.4.2FLASH存儲器2、FLASH存儲器的基本操作

編程操作、讀取操作、擦除操作如圖(a)表示編程操作時存儲元寫0、寫1的情況。實(shí)際上編程時只寫0,不寫1,因?yàn)榇鎯υ脸笤紶顟B(tài)全為1。要寫0,就是要在控制柵C上加正電壓。一旦存儲元被編程,存儲的數(shù)據(jù)可保持100年之久而無需外電源。CAI403.4.2FLASH存儲器3、FLASH存儲器的陣列結(jié)構(gòu)FLASH存儲器的簡化陣列結(jié)構(gòu)如右圖所示。在某一時間只有一條行選擇線被激活。讀操作時,假定某個存儲元原存1,那么晶體管導(dǎo)通,與它所在位線接通,有電流通過位線,所經(jīng)過的負(fù)載上產(chǎn)生一個電壓降。這個電壓降送到比較器的一個輸入端,與另一端輸入的參照電壓做比較,比較器輸出一個標(biāo)志為邏輯1的電平。如果某個存儲元原先存0,那么晶體管不導(dǎo)通,位線上沒有電流,比較器輸出端則產(chǎn)生一個標(biāo)志為邏輯0的電平。CAI413.5并行存儲器3.5.1雙端口存儲器3.5.2多模塊交叉存儲器423.5并行存儲器

由于CPU和主存儲器之間在速度上是不匹配的,這種情況便成為限制高速計算機(jī)設(shè)計的主要問題。為了提高CPU和主存之間的數(shù)據(jù)傳輸率,除了主存采用更高速的技術(shù)來縮短讀出時間外,還可以采用并行技術(shù)的存儲器。433.5.1雙端口存儲器1、雙端口存儲器的邏輯結(jié)構(gòu)雙端口存儲器由于同一個存儲器具有兩組相互獨(dú)立的讀寫控制電路而得名。由于進(jìn)行并行的獨(dú)立操作,因而是一種高速工作的存儲器,在科研和工程中非常有用。舉例說明,雙端口存儲器IDT7133的邏輯框圖。如下頁圖。443.5.1雙端口存儲器CAI453.5.1雙端口存儲器2、無沖突讀寫控制當(dāng)兩個端口的地址不相同時,在兩個端口上進(jìn)行讀寫操作,一定不會發(fā)生沖突。當(dāng)任一端口被選中驅(qū)動時,就可對整個存儲器進(jìn)行存取,每一個端口都有自己的片選控制(CE)和輸出驅(qū)動控制(OE)。讀操作時,端口的OE(低電平有效)打開輸出驅(qū)動器,由存儲矩陣讀出的數(shù)據(jù)就出現(xiàn)在I/O線上。3、有沖突讀寫控制當(dāng)兩個端口同時存取存儲器同一存儲單元時,便發(fā)生讀寫沖突。為解決此問題,特設(shè)置了BUSY標(biāo)志。在這種情況下,片上的判斷邏輯可以決定對哪個端口優(yōu)先進(jìn)行讀寫操作,而對另一個被延遲的端口置BUSY標(biāo)志(BUSY變?yōu)榈碗娖?,即暫時關(guān)閉此端口。463.5.1雙端口存儲器有沖突讀寫控制判斷方法(1)如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進(jìn)行判斷來選擇端口(CE判斷)。(2)如果CE在地址匹配之前變低,片上的控制邏輯在左、右地址間進(jìn)行判斷來選擇端口(地址有效判斷)。無論采用哪種判斷方式,延遲端口的BUSY標(biāo)志都將置位而關(guān)閉此端口,而當(dāng)允許存取的端口完成操作時,延遲端口BUSY標(biāo)志才進(jìn)行復(fù)位而打開此端口。473.5.1雙端口存儲器CAI483.5并行存儲器1、存儲器的模塊化組織

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

CAI493.5.2多模塊交叉存儲器1、順序方式[例]M0-M3共四個模塊,則每個模塊8個字順序方式:

M0:0—7

M1:8-15

M2:16-23

M3:24-315位地址組織如下:

XX

XXX高位選模塊,低位選塊內(nèi)地址特點(diǎn):某個模塊進(jìn)行存取時,其他模塊不工作,優(yōu)點(diǎn)是某一模塊出現(xiàn)故障時,其他模塊可以照常工作,通過增添模塊來擴(kuò)充存儲器容量比較方便。缺點(diǎn)是各模塊串行工作,存儲器的帶寬受到了限制。503.5.2多模塊交叉存儲器[例]M0-M3共四個模塊,則每個模塊8個字交叉方式:

M0:0,4,...除以4余數(shù)為0

M1:1,5,...除以4余數(shù)為1

M2:2,6,...除以4余數(shù)為2

M3:3,7,...除以4余數(shù)為35位地址組織如下:

XXX

XX高位選塊內(nèi)地址,低位選模塊特點(diǎn):連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個模塊內(nèi)的地址都是不連續(xù)的。優(yōu)點(diǎn)是對連續(xù)字的成塊傳送可實(shí)現(xiàn)多模塊流水式并行存取,大大提高存儲器的帶寬。使用場合為成批數(shù)據(jù)讀取。513.5.2多模塊交叉存儲器2、多模塊交叉存儲器的基本結(jié)構(gòu)右圖為四模塊交叉存儲器結(jié)構(gòu)框圖。主存被分成4個相互獨(dú)立、容量相同的模塊M0,M1,M2,M3,每個模塊都有自己的讀寫控制電路、地址寄存器和數(shù)據(jù)寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數(shù)據(jù)塊都是連續(xù)地在主存中存取,那么將大大提高主存的訪問速度。CAI523.5.2多模塊交叉存儲器通常在一個存儲器周期內(nèi),n個存儲體必須分時啟動,則各個存儲體的啟動間隔為(n為交叉存取度)整個存儲器的存取速度有望提高n倍CAI53例5設(shè)存儲器容量為32字,字長64位,模塊數(shù)m=4,分別用順序方式和交叉方式進(jìn)行組織。存儲周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳送周期=50ns。若連續(xù)讀出4個字,問順序存儲器和交叉存儲器的帶寬各是多少?解:順序存儲器和交叉存儲器連續(xù)讀出m=4個字的信息總量都是:

q=64b×4=256b順序存儲器和交叉存儲器連續(xù)讀出4個字所需的時間分別是:t2=mT=4×200ns=800ns=8×10-7st1=T+(m-1)=200ns+150ns=350ns=3.5×10-7s順序存儲器和交叉存儲器的帶寬分別是:W2=q/t2=256b÷(8×10-7)s=320Mb/sW1=q/t1=256b÷(3.5×10-7)s=730Mb/s54

3、二模塊交叉存儲器舉例3.5.2多模塊交叉存儲器CAI55

3、二模塊交叉存儲器舉例3.5.2多模塊交叉存儲器CAI563.6cache存儲器3.6.1cache基本原理3.6.2主存與cache的地址映射3.6.3替換策略3.6.4cache的寫操作策略3.6.5Pentium4的cache組織3.6.6使用多級cache減少缺失損失573.6.1cache基本原理1、cache的功能解決CPU和主存之間的速度不匹配問題一般采用高速的SRAM構(gòu)成。CPU和主存之間的速度差別很大采用兩級或多級Cache系統(tǒng)早期的一級Cache在CPU內(nèi),二級在主板上現(xiàn)在的CPU內(nèi)帶L1Cache和L2Cache全由硬件調(diào)度,對用戶透明583.6.1cache基本原理CPU與存儲器系統(tǒng)的關(guān)系593.6.1cache基本原理2、cache基本原理地址映射;替換策略;寫一致性;性能評價。CAI603.6.1cache基本原理3、Cache的命中率從CPU來看,增加一個cache的目的,就是在性能上使主存的平均讀出時間盡可能接近c(diǎn)ache的讀出時間。為了達(dá)到這個目的,在所有的存儲器訪問中由cache滿足CPU需要的部分應(yīng)占很高的比例,即cache的命中率應(yīng)接近于1。由于程序訪問的局部性,實(shí)現(xiàn)這個目標(biāo)是可能的。613.6.1cache基本原理3、cache命中率公式命中率

Cache/主存系統(tǒng)的平均訪問時間訪問效率Cache與內(nèi)存的速度比62例6CPU執(zhí)行一段程序時,cache完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時間。

解:h=Nc/(Nc+Nm)=1900/(1900+100)=0.95r=tm/tc=250ns/50ns=5e=1/(r+(1-r)h)=1/(5+(1-5)×0.95=83.3%ta=tc/e=50ns/0.833=60ns633.6.2主存與Cache的地址映射無論選擇那種映射方式,都要把主存和cache劃分為同樣大小的“塊”。選擇哪種映射方式,要考慮:硬件是否容易實(shí)現(xiàn)地址變換的速度是否快主存空間的利用率是否高主存裝入一塊時,發(fā)生沖突的概率以下我們介紹三種映射方法641、全相聯(lián)的映射方式(1)將地址分為兩部分(塊號和字),在內(nèi)存塊寫入Cache時,同時寫入塊號標(biāo)記;(2)CPU給出訪問地址后,也將地址分為兩部分(塊號和字),比較電路塊號與Cache表中的標(biāo)記進(jìn)行比較,相同表示命中,訪問相應(yīng)單元;如果沒有命中訪問內(nèi)存,CPU直接訪問內(nèi)存,并將被訪問內(nèi)存的相對應(yīng)塊寫入Cache。3.6.2主存與cache的地址映射651、全相

聯(lián)的

映射方式CAI663.6.2主存與cache的地址映射1、全相聯(lián)的映射方式

轉(zhuǎn)換公式

主存地址長度=(s+w)位

尋址單元數(shù)=2w個字或字節(jié)

塊大?。叫写笮。?w個字或字節(jié)

主存的塊數(shù)=2s

標(biāo)記大?。絪位

cache的行數(shù)=不由地址格式確定673.6.2主存與cache的地址映射1、全相聯(lián)的映射方式特點(diǎn):優(yōu)點(diǎn):沖突概率小,Cache的利用高。缺點(diǎn):比較器難實(shí)現(xiàn),需要一個訪問速度很快代價高的相聯(lián)存儲器應(yīng)用場合:適用于小容量的Cache683.6.2主存與cache的地址映射2、直接映射方式映射方法(一對多)如:i=jmodm主存第j塊內(nèi)容拷貝到Cache的i行一般I和m都是2N級

[例]cache容量16字,主存容量256字,則地址2,18,34…..242等都存放在cache的地址2內(nèi),如果第一次2在cache中,下次訪問34內(nèi)容,則不管cache其他位置的內(nèi)容訪問情況,都會引起2塊內(nèi)容的替換692、直接映射方式2、基本原理利用行號選擇相應(yīng)行;把行標(biāo)記與CPU訪問地址進(jìn)行比較,相同表示命中,訪問Cache;如果沒有命中,訪問內(nèi)存,并將相應(yīng)塊寫入CacheCAI70

3.6.2主存與cache的地址映射2、直接映射方式

轉(zhuǎn)換公式

主存地址長度=(s+w)位

尋址單元數(shù)=2s+w個字或字節(jié)

塊大?。叫写笮。?w個字或字節(jié)

主存的塊數(shù)=2s

cache的行數(shù)=m=2r

標(biāo)記大?。?s-r)位

71

3.6.2主存與cache的地址映射2、直接映射方式特點(diǎn)優(yōu)點(diǎn):比較電路少m倍線路,所以硬件實(shí)現(xiàn)簡單,Cache地址為主存地址的低幾位,不需變換。缺點(diǎn):沖突概率高(抖動)應(yīng)用場合適合大容量Cache723.6.2主存與cache的地址映射3、組相聯(lián)映射方式前兩者的組合Cache分組,組間采用直接映射方式,組內(nèi)采用全相聯(lián)的映射方式Cache分組U,組內(nèi)容量V映射方法(一對多)q=jmodu主存第j塊內(nèi)容拷貝到Cache的q組中的某行地址變換設(shè)主存地址x,看是不是在cache中,先y=xmodu,則在y組中一次查找733.6.2主存與cache的地址映射3、組相聯(lián)映射方式分析:比全相聯(lián)容易實(shí)現(xiàn),沖突低v=1,則為直接相聯(lián)映射方式u=1,則為全相聯(lián)映射方式v的取值一般比較小,一般是2的冪,稱之為v路組相聯(lián)cache.74CAI753.6.2主存與cache的地址映射3、組相聯(lián)映射方式

轉(zhuǎn)換公式

主存地址長度=(s+w)位

尋址單元數(shù)=2s+w個字或字節(jié)

塊大?。叫写笮。?w個字或字節(jié)

主存的塊數(shù)=2s

每組的行數(shù)=k

每組的v=2d

cache的行數(shù)=kv

標(biāo)記大?。?s-d)位

763.6.2主存與cache的地址映射773.6.2主存與cache的地址映射例8:一個組相聯(lián)cache由64個行組成,每組4行。主存包含4K個塊,每塊128字。請表示內(nèi)存地址的格式。

解:

塊大?。叫写笮。?w個字=128=27∴w=7

每組的行數(shù)k=4

cache的行數(shù)=kv=K×2d=4×2d=64∴d=4

組數(shù)v=2d=24=16

主存的塊數(shù)2s=4K=22×210=22∴s=12

標(biāo)記大小(s-d)位=12-4=8位

主存地址長度(s+w)位=12+7=19位

主存尋址單元數(shù)2s+w=219

故k=4各組相聯(lián)的內(nèi)存地址格式如下所示:

8位

4位

7位標(biāo)記s-d組號d字號w783.6.3替換策略LFU(最不經(jīng)常使用):被訪問的行計數(shù)器增加1,換值小的行,不能反映近期cache的訪問情況,LRU(近期最少使用):被訪問的行計數(shù)器置0,其他的計數(shù)器增加1,換值大的行,符合cache的工作原理隨機(jī)替換:隨機(jī)替換策略實(shí)際上是不要什么算法,從特定的行位置中隨機(jī)地選取一行換出即可。這種策略在硬件上容易實(shí)現(xiàn),且速度也比前兩種策略快。缺點(diǎn)是隨意換出的數(shù)據(jù)很可能馬上又要使用,從而降低命中率和cache工作效率。但這個不足隨著cache容量增大而減小。隨機(jī)替換策略的功效只是稍遜于前兩種策略。793.6.4寫操作策略由于cache的內(nèi)容只是主存部分內(nèi)容的拷貝,它應(yīng)當(dāng)與主存內(nèi)容保持一致。而CPU對cache的寫入更改了cache的內(nèi)容。如何與主存內(nèi)容保持一致,可選用如下三種寫操作策略。寫回法:換出時,對行的修改位進(jìn)行判斷,決定是寫回還是舍掉。全寫法:寫命中時,Cache與內(nèi)存一起寫寫一次法:與寫回法一致,但是第一次Cache命中時采用全寫法。

803.6.5Pentium4的Cache組織主要包括四個部分:取指/譯碼單元:順序從L2cache中取程序指令,將它們譯成一系列的微指令,并存入L1指令cache中。亂序執(zhí)行邏輯:依據(jù)數(shù)據(jù)相關(guān)性和資源可用性,調(diào)度微指令的執(zhí)行,因而微指令可按不同于所取機(jī)器指令流的順序被調(diào)度執(zhí)行。執(zhí)行單元:它執(zhí)行微指令,從L1數(shù)據(jù)cache中取所需數(shù)據(jù),并在寄存器組中暫存運(yùn)算結(jié)果。存儲器子系統(tǒng):這部分包括L2cache、L3cache和系統(tǒng)總線。當(dāng)L1、L2cache未命中時,使用系統(tǒng)總線訪問主存。系統(tǒng)總線還用于訪問I/O資源。 不同于所有先前Pentium模式和大多數(shù)處理器所采用的結(jié)構(gòu),Pentium4的指令cache位于指令譯碼邏輯和執(zhí)行部件之間。其設(shè)計理念是:Pentium4將機(jī)器指令譯成由微指令組成的簡單RISC類指令,而使用簡單定長的微指令可允許采用超標(biāo)量流水線和調(diào)度技術(shù),從而增強(qiáng)機(jī)器的性能。813.6.5Pentium的Cache組織基本原理見下圖CAI823.6.6使用多級cache減少缺失損失

為進(jìn)一步縮小現(xiàn)代CPU和DRAM訪問速度的差距,CPU支持附加一級的cache。二級cache在訪問主cache缺失時被訪問,各級cache都不包含所訪問數(shù)據(jù)時,需要訪問主存儲器。

[例10]現(xiàn)有一處理器,基本CPI為1.0,所有訪問在第一級cache中命中,時鐘頻率5GHz。假定訪問一次主存儲器的時間為100ns,其中包括所有缺失處理。設(shè)平均每條指令在第一級cache中產(chǎn)生的缺失率為2%。若增加一個二級cache,命中或缺失的訪問時間都為5ns,且容量大到可使必須訪問主存的缺失率降為0.5%,問處理器速度提高多少。

解得

只有一級cache的CPU:總的CPI=11.0

有二級cache的CPU:總的CPI=4.0

后者是前者CPU性能的:11.0÷4.0=2.8倍

833.7虛擬存儲器3.7.1虛擬存儲器的基本概念3.7.2頁式虛擬存儲器3.7.3段式虛擬存儲器和段頁式虛擬存儲器3.7.4虛存的替換算法返回843.7.1虛擬存儲器的基本概念1、實(shí)地址與虛地址:用戶編制程序時使用的地址稱為虛地址或邏輯地址,其對應(yīng)的存儲空間稱為虛存空間或邏輯地址空間;而計算機(jī)物理內(nèi)存的訪問地址則稱為實(shí)地地或物理地址,其對應(yīng)的存儲空間稱為物理存儲空間或主存空間。程序進(jìn)行虛地址到實(shí)地址轉(zhuǎn)換的過程稱為程序的再定位。853.7.1虛擬存儲器的基本概念2、虛存的訪問過程虛存空間的用戶程序按照虛地址編程并存放在輔存中。程序運(yùn)行時,由地址變換機(jī)構(gòu)依據(jù)當(dāng)時分配給該程序的實(shí)地址空間把程序的一部分調(diào)入實(shí)存。每次訪存時,首先判斷該虛地址所對應(yīng)的部分是否在實(shí)存中:如果是,則進(jìn)行地址轉(zhuǎn)換并用實(shí)地址訪問主存;否則,按照某種算法將輔存中的部分程序調(diào)度進(jìn)內(nèi)存,再按同樣的方法訪問主存。由此可見,每個程序的虛地址空間可以遠(yuǎn)大于實(shí)地址空間,也可以遠(yuǎn)小于實(shí)地址空間。前一種情況以提高存儲容量為目的,后一種情況則以地址變換為目的。后者通常出現(xiàn)在多用戶或多任務(wù)系統(tǒng)中:實(shí)存空間較大,而單個任務(wù)并不需要很大的地址空間,較小的虛存空間則可以縮短指令中地址字段的長度。863.7.1虛擬存儲器的基本概念3、cache與虛存的異同從虛存的概念可以看出,主存輔存的訪問機(jī)制與cache主存的訪問機(jī)制是類似的。這是由cache存儲器、主存和輔存構(gòu)成的三級存儲體系中的兩個層次。cache和主存之間以及主存和輔存之間分別有輔助硬件和輔助軟硬件負(fù)責(zé)地址變換與管理,以便各級存儲器能夠組成有機(jī)的三級存儲體系。cache和主存構(gòu)成了系統(tǒng)的內(nèi)存,而主存和輔存依靠輔助軟硬件的支持構(gòu)成了虛擬存儲器。873.7.1虛擬存儲器的基本概念

在三級存儲體系中,cache主存和主存輔存這兩個存儲層次有許多相同點(diǎn);(1)出發(fā)點(diǎn)相同

二者都是為了提高存儲系統(tǒng)的性能價格比而構(gòu)造的分層存儲體系,都力圖使存儲系統(tǒng)的性能接近高速存儲器,而價格和容量接近低速存儲器。(2)原理相同

都是利用了程序運(yùn)行時的局部性原理把最近常用的信息塊從相對慢速而大容量的存儲器調(diào)入相對高速而小容量的存儲器。但cache主存和主存輔存這兩個存儲層次也有許多不同之處:(3)側(cè)重點(diǎn)不同

cache主要解決主存與CPU的速度差異問題;而就性能價格比的提高而言,虛存主要是解決存儲容量問題,另外還包括存儲管理、主存分配和存儲保護(hù)等方面。(4)數(shù)據(jù)通路不同

CPU與cache和主存之間均有直接訪問通路,cache不命中時可直接訪問主存;而虛存所依賴的輔存與CPU之間不存在直接的數(shù)據(jù)通路,當(dāng)主存不命中時只能通過調(diào)頁解決,CPU最終還是要訪問主存。(5)透明性不同

cache的管理完全由硬件完成,對系統(tǒng)程序員和應(yīng)用程序員均透明;而虛存管理由軟件(操作系統(tǒng))和硬件共同完成,由于軟件的介入,虛存對實(shí)現(xiàn)存儲管理的系統(tǒng)程序員不透明,而只對應(yīng)用程序員透明(段式和段頁式管理對應(yīng)用程序員“半透明”)。(6)未命中時的損失不同

由于主存的存取時間是cache的存取時間的5~10倍,而主存的存取速度通常比輔存的存取速度快上千倍,故主存未命中時系統(tǒng)的性能損失要遠(yuǎn)大于cache未命中時的損失。883.7.1虛擬存儲器的基本概念4、虛存機(jī)制要解決的關(guān)鍵問題(1)調(diào)度問題決定哪些程序和數(shù)據(jù)應(yīng)被調(diào)入主存。(2)地址映射問題在訪問主存時把虛地址變?yōu)橹鞔嫖锢淼刂罚ㄟ@一過程稱為內(nèi)地址變換);在訪問輔存時把虛地址變成輔存的物理地址(這一過程稱為外地址變換),以便換頁。此外還要解決主存分配、存儲保護(hù)與程序再定位等問題。(3)替換問題決定哪些程序和數(shù)據(jù)應(yīng)被調(diào)出主存。(4)更新問題確保主存與輔存的一致性。在操作系統(tǒng)的控制下,硬件和系統(tǒng)軟件為用戶解決了上述問題,從而使應(yīng)用程序的編程大大簡化。893.7.2頁式虛擬存儲器1、頁式虛存地址映射

頁式虛擬存儲系統(tǒng)中,虛地址空間被分成等長大小的頁,稱為邏輯頁;主存空間也被分成同樣大小的頁,稱為物理頁。相應(yīng)地,虛地址分為兩個字段:高字段為邏輯頁號,低字段為頁內(nèi)地址(偏移量);實(shí)存地址也分兩個字段:高字段為物理頁號,低字段為頁內(nèi)地址。通過頁表可以把虛地址(邏輯地址)轉(zhuǎn)換成物理地址。

頁式虛擬存儲器的地址映射過程見下圖。903.7.2頁式虛擬存儲器1、頁式虛存地址映射CAI913.7.2頁式虛擬存儲器1、頁式虛存地址映射在大多數(shù)系統(tǒng)中,每個進(jìn)程對應(yīng)一個頁表。頁表中對應(yīng)每一個虛存頁面有一個表項(xiàng),表項(xiàng)的內(nèi)容包含該虛存頁面所在的主存頁面的地址(物理頁號),以及指示該邏輯頁是否已調(diào)入主存的有效位。地址變換時,用邏輯頁號作為頁表內(nèi)的偏移地址索引頁表(將虛頁號看作頁表數(shù)組下標(biāo))并找到相應(yīng)物理頁號,用物理頁號作為實(shí)存地址的高字段,再與虛地址的頁內(nèi)偏移量拼接,就構(gòu)成完整的物理地址?,F(xiàn)代的中央處理機(jī)通常有專門的硬件支持地址變換。每個進(jìn)程所需的頁數(shù)并不固定,所以頁表的長度是可變的,因此通常的實(shí)現(xiàn)方法是把頁表的基地址保存在寄存器中,而頁表本身則放在主存中。由于虛存地址空間可以很大,因而每個進(jìn)程的頁表有可能非常長。例如,如果一個進(jìn)程的虛地址空間為2G字節(jié),每頁的大小為512字節(jié),則總的虛頁數(shù)為231/29=222。923.7.2頁式虛擬存儲器為了節(jié)省頁表本身占用的主存空間,一些系統(tǒng)把頁表存儲在虛存中,因而頁表本身也要進(jìn)行分頁。當(dāng)一個進(jìn)程運(yùn)行時,其頁表中一部分在主存中,另一部分則在輔存中保存。另一些系統(tǒng)采用二級頁表結(jié)構(gòu)。每個進(jìn)程有一個頁目錄表,其中的每個表項(xiàng)指向一個頁表。因此,若頁目錄表的長度(表項(xiàng)數(shù))是m,每個頁表的最大長度(表項(xiàng)數(shù))為n,則一個進(jìn)程最多可以有m×n個頁。在頁表長度較大的系統(tǒng)中,還可以采用反向頁表實(shí)現(xiàn)物理頁號到邏輯頁號的反向映射。頁表中對應(yīng)每一個物理頁號有一個表項(xiàng),表項(xiàng)的內(nèi)容包含該物理頁所對應(yīng)的邏輯頁號。訪存時,通過邏輯頁號在反向頁表中逐一查找。如果找到匹配的頁,則用表項(xiàng)中的物理頁號取代邏輯頁號;如果沒有匹配表項(xiàng),則說明該頁不在主存中。這種方式的優(yōu)點(diǎn)是頁表所占空間大大縮小,但代價是需要對反向頁表進(jìn)行檢索,查表的時間很長。有些系統(tǒng)通過散列(哈希)表加以改進(jìn)。933.7.2頁式虛擬存儲器2、轉(zhuǎn)換后援緩沖器由于頁表通常在主存中,因而即使邏輯頁已經(jīng)在主存中,也至少要訪問兩次物理存儲器才能實(shí)現(xiàn)一次訪存,這將使虛擬存儲器的存取時間加倍。為了避免對主存訪問次數(shù)的增多,可以對頁表本身實(shí)行二級緩存,把頁表中的最活躍的部分存放在高速存儲器中,組成快表。這個專用于頁表緩存的高速存儲部件通常稱為轉(zhuǎn)換后援緩沖器(TLB)。保存在主存中的完整頁表則稱為慢表。943.7.2頁式虛擬存儲器TLB的地址映射過程見圖CAI953.7.2頁式虛擬存儲器內(nèi)頁表和外頁表頁表是虛地址到主存物理地址的變換表,通常稱為內(nèi)頁表。與內(nèi)頁表對應(yīng)的還有外頁表,用于虛地址與輔存地址之間的變換。當(dāng)主存缺頁時,調(diào)頁操作首先要定位輔存,而外頁表的結(jié)構(gòu)與輔存的尋址機(jī)制密切相關(guān)。例如對磁盤而言,輔存地址包括磁盤機(jī)號、磁頭號、磁道號和扇區(qū)號等。963.7.3段式虛擬存儲器和段頁式虛擬存儲器1、段式虛擬存儲器:段是按照程序的自然分界劃分的長度可以動態(tài)改變的區(qū)域。通常,程序員把子程序、操作數(shù)和常數(shù)等不同類型的數(shù)據(jù)劃分到不同的段中,并且每個程序可以有多個相同類型的段。在段式虛擬存儲系統(tǒng)中,虛地址由段號和段內(nèi)地址(偏移量)組成。虛地址到實(shí)主存地址的變換通過段表實(shí)現(xiàn)。每個程序設(shè)置一個段表,段表的每一個表項(xiàng)對應(yīng)一個段。每個表項(xiàng)至少包含下面三個字段:

(1)有效位:指明該段是否已經(jīng)調(diào)入實(shí)存。

(2)段起址:指明在該段已經(jīng)調(diào)入實(shí)存的情況下,該段在實(shí)存中的首地址。

(3)段長:記錄該段的實(shí)際長度。設(shè)置段長字段的目的是為了保證訪問某段的地址空間時,段內(nèi)地址不會超出該段長度導(dǎo)致地址越界而破壞其他段。段表本身也是一個段,可以存在輔存中,但一般是駐留在主存中。973.7.3段式虛擬存儲器和段頁式虛擬存儲器段式虛地址向?qū)嵈娴刂返淖儞Q過程CAI983.7.3段式虛擬存儲器和段頁式虛擬存儲器段式虛擬存儲器的特點(diǎn)段式虛擬存儲器有許多優(yōu)點(diǎn):①段的邏輯獨(dú)立性使其易于編譯、管理、修改和保護(hù),也便于多道程序共享。②段長可以根據(jù)需要動態(tài)改變,允許自由調(diào)度,以便有效利用主存空間。段式虛擬存儲器也有一些缺點(diǎn):①因?yàn)槎蔚拈L度不固定,主存空間分配比較麻煩。②容易在段間留下許多外碎片,造成存儲空間利用率降低。③由于段長不一定是2的整數(shù)次冪,因而不能簡單地像分頁方式那樣用虛地址和實(shí)地址的最低若干二進(jìn)制位作為段內(nèi)偏移量,并與段號進(jìn)行直接拼接,必須用加法操作通過段起址與段內(nèi)偏移量的求和運(yùn)算求得物理地址。因此,段式存儲管理比頁式存儲管理方式需要更多的硬件支持。993.7.3段式虛擬存儲器和段頁式虛擬存儲器2、段頁式虛擬存儲器段頁式虛擬存儲器是段式虛擬存儲器和頁式虛擬存儲器的結(jié)合。實(shí)存被等分成頁。每個程序則先按邏輯結(jié)構(gòu)分段,每段再按照實(shí)存的頁大小分頁,程序按頁進(jìn)行調(diào)入和調(diào)出操作,但可按段進(jìn)行編程、保護(hù)和共享。1003.7.3段式虛擬存儲器和段頁式虛擬存儲器[例1]假設(shè)有三道程序,基號用A、B和C表示,其基址寄存器的內(nèi)容分別為SA、SB和SC。程序A由4個段構(gòu)成,程序C由3個段構(gòu)成。段頁式虛擬存儲系統(tǒng)的邏輯地址到物理地址的變換過程如圖所示。在主存中,每道程序都有一張段表,A程序有4段,C程序有3段,每段應(yīng)有一張頁表,段表的每行就表示相應(yīng)頁表的起始位置,而頁表內(nèi)的每行即為相應(yīng)的物理頁號。請說明虛實(shí)地址變換過程。1013.7.3段式虛擬存儲器和段頁式虛擬存儲器CAI1023.7.3段式虛擬存儲器和段頁式虛擬存儲器[例1]解:地址變換過程如下:(1)由存儲管理部件根據(jù)基號C找到段表基址寄存器表第c個

表項(xiàng),獲得程序C的段表基址SC。再根據(jù)段號S(=1)找到

程序C段表的第S個表項(xiàng),得到段S的頁表起始地址b。(2)根據(jù)段內(nèi)邏輯頁號P(=2)檢索頁表,得到物理頁號(圖中

為10)。(3)物理頁號與頁內(nèi)地址偏移量拼接即得物理地址。

假如計算機(jī)系統(tǒng)中只有一個基址寄存器,則基號可不要。

多道程序切換時,由操作系統(tǒng)修改基址寄存器內(nèi)容。

實(shí)際上,上述每個段表和頁表的表項(xiàng)中都應(yīng)設(shè)置一個有

效位。只有在有效位為1時才按照上述流程操作,否則需中斷

當(dāng)前操作先進(jìn)行建表或調(diào)頁。

可以看出,段頁式虛擬存儲器的缺點(diǎn)是在由虛地址向主存地

址的映射過程中需要多次查表,因而實(shí)現(xiàn)復(fù)雜度較高.1033.7.4虛存的替換算法當(dāng)從輔存調(diào)頁至主存而主存已滿時,也需要進(jìn)行主存頁面的替換。虛擬存儲器的替換算法與cache的替換算法類似,有FIFO算法、LRU算法、LFU算法等。1043.7.4虛存的替換算法虛擬存儲器的替換算法與cache的替換算法不同的是:(1)cache的替換全部靠硬件實(shí)現(xiàn),而虛擬存儲

器的替換有操作系統(tǒng)的支持。

(2)虛存缺頁對系統(tǒng)性能的影響比cache未命中

要大得多,因?yàn)檎{(diào)頁需要訪問輔存,并且要進(jìn)

行任務(wù)切換。(3)虛存頁面替換的選擇余地很大,屬于一個進(jìn)

程的頁面都可替換。1053.7.4虛存的替換算法[例2]假設(shè)主存只允許存放a、b、c三個頁面,邏輯上構(gòu)成a進(jìn)c出的FIFO隊(duì)列。某次操作中進(jìn)程訪存的序列是0,1,2,4,2,3,0,2,1,3,2(虛頁號)。若分別采用FIFO算法、FIFO+LRU算法,請用列表法分別求兩種替換策略情況下主存的命中率。解:求得

FIFO算法命中率:2/11=18.2%

FIFO+LRU算法命中率:3/11=27.3%

(見書上289頁表)1063.8奔騰系列機(jī)的虛存組織3.8.1存儲器模型

3.8.2虛地

溫馨提示

  • 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

提交評論