計算機組成原理 第三章 多層次的存儲器_第1頁
計算機組成原理 第三章 多層次的存儲器_第2頁
計算機組成原理 第三章 多層次的存儲器_第3頁
計算機組成原理 第三章 多層次的存儲器_第4頁
計算機組成原理 第三章 多層次的存儲器_第5頁
已閱讀5頁,還剩129頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1第三章第三章 多層次的存儲器多層次的存儲器3.1存儲器概述3.2SRAM存儲器3.3DRAM存儲器3.4只讀存儲器和閃速存儲器3.5并行存儲器3.6Cache存儲器 3.7虛擬存儲器3.8奔騰系列機的虛存組織返回23.1 存儲器概述存儲器概述3.1.1 存儲器的分類3.1.2 存儲器的分級3.1.3 主存儲器的技術(shù)指標(biāo)返回3.1.1 存儲器的分類存儲器的分類 一個雙穩(wěn)態(tài)半導(dǎo)體電路或一個晶體管或一個磁性材料的存儲元可以存儲一位二進制代碼。 這個二進制代碼位是存儲器中的最小存儲單元,稱作存儲位元。 一個存儲單元由多個存儲位元組成 存儲器由多個存儲單元組成43.1.1 存儲器的分類存儲器的分類l按

2、存儲介質(zhì)分類:磁表面/半導(dǎo)體存儲器l按存取方式分類:隨機/順序存取 隨機存取:存儲內(nèi)容能被隨機讀取,存取時間與物 理位置無關(guān)(半導(dǎo)體) 順序存取:存儲內(nèi)容只能按順序訪問(磁帶) 磁盤結(jié)構(gòu):(柱面 磁道 扇區(qū)) 半順序存儲器l按讀寫功能分類:ROM,RAMlRAM:雙極型/MOSlROM:MROM/PROM/EPROM/EEPROMl按信息的可保存性分類:永久性和非永久性的l按存儲器系統(tǒng)中的作用分類:主/輔/緩5磁表面存儲器的讀寫原理磁表面存儲器的讀寫原理寫操作:當(dāng)寫線圈中通過一定方向的脈沖電流時,鐵芯內(nèi)就產(chǎn)生一定方向的磁通。讀操作:當(dāng)磁頭經(jīng)過載磁體的磁化元時,由于磁頭鐵芯是良好的導(dǎo)磁材料,磁化

3、元的磁力線很容易通過磁頭而形成閉合磁通回路。不同極性的磁化元在鐵芯里的方向是不同的。磁盤結(jié)構(gòu)磁盤結(jié)構(gòu) 盤片的上下兩面都能記錄信息,通常把磁盤片表面稱為記錄面。記錄面上一系列同心圓稱為磁道。每個盤片表面通常有幾百到幾千個磁道,每個磁道又分為若干個扇區(qū),從圖中看出,外面扇區(qū)比里面扇區(qū)面積要大。磁盤上的這種磁道和扇區(qū)的排列稱為格式。 磁盤地址由記錄面號、磁道號、扇區(qū)號三部分組成。為進行讀寫操作,要求定出磁道的起始位置,稱為“索引”,索引標(biāo)志在傳感器檢索下可產(chǎn)生脈沖信號,再通過磁盤控制器處理,便可定出磁道起始位置。磁盤讀寫操作以扇區(qū)為單位一位一位串行進行,每個扇區(qū)記錄一個數(shù)據(jù)塊。磁盤上信息的分布磁盤上

4、信息的分布8磁盤上信息的分布磁盤上信息的分布空白段:留出時間作為磁盤控制器的讀寫時間序標(biāo): 磁盤控制器的同步定時信號校驗字:用來校驗磁盤讀出的數(shù)據(jù)是否正確93.1.2 存儲器的分級存儲器的分級目前存儲器的特點是:速度快的存儲器價格貴,容量??;價格低的存儲器速度慢,容量大。 在計算機存儲器體系結(jié)構(gòu)設(shè)計時,我們希望存儲器系統(tǒng)的性能高、價格低,那么在存儲器系統(tǒng)設(shè)計時,應(yīng)當(dāng)在存儲器容量,速度和價格方面的因素作折中考慮,建立了分層次的存儲器體系結(jié)構(gòu)如下圖所示。103.1.2 存儲器的分級存儲器的分級l高速緩沖存儲器簡稱cache,它是計算機系統(tǒng)中的一個高速小容量半導(dǎo)體存儲器。l主存儲器簡稱主存,是計算機

5、系統(tǒng)的主要存儲器,用來存放計算機運行期間的大量程序和數(shù)據(jù)。l外存儲器簡稱外存,它是大容量輔助存儲器。CAI外存外存-主存主存-Cache-CPUl讀取時間依次為:ms 200ns 20ns 10ns lCPU能直接訪問內(nèi)存,不能直接訪問外存l主存-Cache: 主存與CPU速度匹配問題l外存-主存: 容量123.1.3主存儲器的技術(shù)指標(biāo)主存儲器的技術(shù)指標(biāo)l字存儲單元:存放一個機器字的存儲單元,相應(yīng)的單元地址叫字地址。l字節(jié)存儲單元:存放一個字節(jié)的單元,相應(yīng)的地址稱為字節(jié)地址。l一個機器字可以包含多個字節(jié),例如一個16位的二進制存儲單元可以存放兩個字節(jié),可以按字編址,也可以按字節(jié)編址。l存儲容量

6、:指一個存儲器中可以容納的存儲單元總數(shù)。存儲容量越大,能存儲的信息就越多。l存取時間又稱存儲器訪問時間:指一次讀操作命令發(fā)出到該操作完成,將數(shù)據(jù)讀出到數(shù)據(jù)總線上所經(jīng)歷的時間。通常取寫操作時間等于讀操作時間,故稱為存儲器存取時間。l存儲周期:指連續(xù)啟動兩次讀操作所需間隔的最小時間。通常,存儲周期略大于存取時間,其時間單位為ns。l存取周期=存取時間+恢復(fù)時間l存儲器帶寬:單位時間里存儲器所存取的信息量,通常以位/秒或字節(jié)/秒做度量單位。存取周期500ns,每個存取周期可訪問16位,帶寬是16/(500*10-9)=32*106位/秒133.2 SRAM存儲器存儲器3.2.1 基本的靜態(tài)存儲元陣列

7、3.2.2 基本的SRAM邏輯結(jié)構(gòu)3.2.3 讀/寫周期波形圖 143.2 SRAM存儲器存儲器l主存(內(nèi)部存儲器)是半導(dǎo)體存儲器。根據(jù)信息存儲的機理不同可以分為兩類:l靜態(tài)讀寫存儲器(SRAM):觸發(fā)器,存取速度快,存儲容量不如DRAM大。l動態(tài)讀寫存儲器(DRAM):電容153.2.1 基本的靜態(tài)存儲元陣列基本的靜態(tài)存儲元陣列1、存儲位元2、三組信號線l地址線l數(shù)據(jù)線l行線l列線l控制線lR/W 高電平讀l低電平寫CAI163.2.2 基本的基本的SRAM邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)lSRAM芯大多采用雙譯碼方式,以便組織更大的存儲容量。采用了二級譯碼:將地址分成x向、y向兩部分如圖所示。 讀入時,G

8、1關(guān)閉,G2打開,8輸入緩沖器關(guān)閉,8輸出緩沖器打開。 寫入時,G1打開,G2關(guān)閉,8輸入打開,8輸出關(guān)閉。CAI173.2.2 基本的基本的SRAM邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)l存儲體(2561288)l通常把各個字的同一個字的同一位集成在一個芯片(32K1)中,32K位排成256128的矩陣。8個片子就可以構(gòu)成32KB。l地址譯碼器l采用雙譯碼的方式(減少選擇線的數(shù)目)。lA0A7為行地址譯碼線lA8A14為列地址譯碼線183.2.2 基本的基本的SRAM邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)l讀與寫的互鎖邏輯控制信號中CS是片選信號,CS有效時(低電平),門G1、G2均被打開。OE為讀出使能信號,OE有效時(低電平),門

9、G2開啟,當(dāng)寫命令WE=1時(高電平),門G1關(guān)閉,存儲器進行讀操作。寫操作時,WE=0,門G1開啟,門G2關(guān)閉。注意,門G1和G2是互鎖的,一個開啟時另一個必定關(guān)閉,這樣保證了讀時不寫,寫時不讀。193.2.3 讀讀/寫周期波形圖寫周期波形圖l讀周期l讀出時間Taql讀周期時間TrclTeq:片選有效lTgq:讀出使能有效l寫周期l寫周期時間Twcl寫時間twdlThd 維持時間l存取周期l讀周期時間Trcl=寫時間twcCAI20例例1:圖:圖3.5(a)是是SRAM的寫入時序圖。其中的寫入時序圖。其中R/W是讀是讀/寫命令控制線,當(dāng)寫命令控制線,當(dāng)R/W線為低電平時,存儲器按給線為低電平

10、時,存儲器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出圖定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出圖3.5(a)寫入時序中的錯誤,并畫出正確的寫入時序圖。寫入時序中的錯誤,并畫出正確的寫入時序圖。CAI213.3 DRAM存儲器存儲器3.3.1 DRAM存儲位元的記憶原理3.3.2 DRAM芯片的邏輯結(jié)構(gòu)3.3.3 讀/寫周期、刷新周期3.3.4 存儲器容量的擴充3.3.5 高級的DRAM結(jié)構(gòu)3.3.6 DRAM主存讀/寫的正確性校驗223.3.1 DRAM存儲位元的記憶原理存儲位元的記憶原理SRAM存儲器的存儲位元是一個觸發(fā)器,它具有兩個穩(wěn)定的狀態(tài)。而DRAM存儲器的存儲位元是由一個MOS晶體

11、管和電容器組成的記憶電路,如圖3.6所示。 233.3.1 DRAM存儲位元的記憶原理存儲位元的記憶原理CAI243.3.2 DRAM芯片的邏輯結(jié)構(gòu)芯片的邏輯結(jié)構(gòu)下面我們通過一個例子來看一下動態(tài)存儲器的邏輯結(jié)構(gòu)如圖。l圖3.7(a)示出1M4位DRAM芯片的管腳圖,其中有兩個電源腳、兩個地線腳,為了對稱,還有一個空腳(NC)。l圖3.7(b)是該芯片的邏輯結(jié)構(gòu)圖。與SRAM不同的是:(1)增加了行地址鎖存器和列地址鎖存器。由于DRAM存儲器容量很大,地址線寬度相應(yīng)要增加,因此增加了芯片地址線的管腳數(shù)目。為避免這種情況,采取的辦法是分時傳送地址碼。若地址總線寬度為10位,先傳送地址碼A0A9,由

12、行選通信號RAS打入到行地址鎖存器;然后傳送地址碼A10A19,由列選通信號CRS打入到列地址鎖存器。芯片內(nèi)部兩部分合起來,地址線寬度達20位,存儲容量為1M4位。(2)增加了刷新計數(shù)器和相應(yīng)的控制電路。DRAM讀出后必須刷新,而未讀寫的存儲元也要定期刷新,而且要按行刷新,所以刷新計數(shù)器的長度等于行地址鎖存器。刷新操作與讀/寫操作是交替進行的,所以通過2選1多路開關(guān)來提供刷新行地址或正常讀/寫的行地址。253.3.2 DRAM芯片的邏輯結(jié)構(gòu)芯片的邏輯結(jié)構(gòu)CAI263.3.3 讀讀/寫周期、刷新周期寫周期、刷新周期1、讀/寫周期l讀周期、寫周期的定義是從行選通信號RAS下降沿開始,到下一個RAS

13、信號的下降沿為止的時間,也就是連續(xù)兩個讀周期的時間間隔。通常為控制方便,讀周期和寫周期時間相等。CAI273.3.3 讀讀/寫周期、刷新周期寫周期、刷新周期2、 刷新周期 l刷新周期:DRAM存儲位元是基于電容器上的電荷量存儲,這個電荷量隨著時間和溫度而減少,因此必須定期地刷新,以保持它們原來記憶的正確信息。l刷新操作有兩種刷新方式:l集中式刷新:DRAM的所有行在每一個刷新周期中都被刷新。l例如刷新周期為8ms的內(nèi)存來說,所有行的集中式刷新必須每隔8ms進行一次。為此將8ms時間分為兩部分:前一段時間進行正常的讀/寫操作,后一段時間(8ms至正常讀/寫周期時間)做為集中刷新操作時間。3.3.

14、3 讀讀/寫周期、刷新周期寫周期、刷新周期l分散式刷新:每一行的刷新插入到正常的讀/寫周期之中。l例如p70圖3.7所示的DRAM有1024行,如果刷新周期為8ms,則每一行必須每隔8ms1024=7.8us進行一次。動態(tài)動態(tài) RAM 和靜態(tài)和靜態(tài) RAM 的比較的比較 DRAM(主存) SRAM(Cache)l存儲原理 電容 觸發(fā)器l存儲容量 大 小l功耗 低 高l價格 低 高l速度 慢 快l刷新 有 無 303.3.4 存儲器容量的擴充存儲器容量的擴充1、字長位數(shù)擴展給定的芯片字長位數(shù)較短,不滿足設(shè)計要求的存儲器字長,此時需要用多片給定芯片擴展字長位數(shù)。三組信號線中,地址線和控制線公用而數(shù)

15、據(jù)線單獨分開連接。 d=設(shè)計要求的存儲器容量/選擇芯片存儲器容量 例例2 2 利用利用1K1K4 4位的位的SRAMSRAM芯片,設(shè)計一個存儲容量芯片,設(shè)計一個存儲容量為為1K1K8 8位的位的SRAMSRAM存儲器。存儲器。 解:所需芯片數(shù)量=(1K8)/(1K4)=2片設(shè)計的存儲器字長為8位,存儲器字?jǐn)?shù)不變。連接三組信號線,即地址線、控制線公用,數(shù)據(jù)線分高4位、低4位,但數(shù)據(jù)線是雙向的,與SRAM芯片的I/O端相連接。見書上圖3.9所示。DDD0479AA0SRAM SRAMCSWE323.3.4 存儲器容量的擴充存儲器容量的擴充2、字存儲容量擴展 l給定的芯片存儲容量較小(字?jǐn)?shù)少),不滿

16、足設(shè)計要求的總存儲容量,此時需要用多片給定芯片來擴展字?jǐn)?shù)。三組信號組中給定芯片的地址總線和數(shù)據(jù)總線公用,控制總線中R/W公用,使能端EN不能公用,它由地址總線的高位段譯碼來決定片選信號。所需芯片數(shù)仍由(d=設(shè)計要求的存儲器容量/選擇芯片存儲器容量)決定。 例例33利用利用1K1K8 8位的位的DRAMDRAM芯片設(shè)計芯片設(shè)計2K2K8 8位的位的DRAMDRAM存儲器存儲器解:所需芯片數(shù)d=(2K8)/(1K8)=2(片)設(shè)計的存儲器見書上圖3.10所示。字長位數(shù)不變,地址總線A0A9同時連接到2片DRAM的地址輸入端,地址總線最高位有A10、A10,分別作為兩片DRAM的片選信號,兩個芯片不

17、會同時工作。1K 8 8位位1K 8 8位位D7D0WEA1A0A9CS0A10 1CS13.字字,位同時擴展位同時擴展1K 4位位 存儲芯片組成存儲芯片組成 4K 8位位 的存儲器的存儲器WEA8A9A0.D7D0A11A10CS0CS1CS2CS3片選片選 譯碼譯碼 1K41K41K41K41K41K41K41K4353.3.4 存儲器容量的擴充存儲器容量的擴充3、存儲器模塊條 l存儲器通常以插槽用模塊條形式供應(yīng)市場。這種模塊條常稱為內(nèi)存條,它們是在一個條狀形的小印制電路板上,用一定數(shù)量的存儲器芯片,組成一個存儲容量固定的存儲模塊。如圖所示。l內(nèi)存條有30腳、72腳、100腳、144腳、1

18、68腳等多種形式。l30腳內(nèi)存條設(shè)計成8位數(shù)據(jù)線,存儲容量從256KB32MB。l72腳內(nèi)存條設(shè)計成32位數(shù)據(jù)總線l100腳以上內(nèi)存條既用于32位數(shù)據(jù)總線又用于64位數(shù)據(jù)總線,存儲容量從4MB512MB。 363.3.5 高級的高級的DRAM結(jié)構(gòu)結(jié)構(gòu)1、FPM DRAM: 快速頁模式動態(tài)存儲器,它是根據(jù)程序的局部性原理來實現(xiàn)的。讀周期和寫周期中,為了尋找一個確定的存儲單元地址,首先由低電平的行選通信號RAS確定行地址,然后由低電平的列選信號CAS確定列地址。下一次尋找操作,也是由RAS選定行地址,CAS選定列地址,依此類推,如下圖所示。 CAI373.3.5 高級的高級的DRAM結(jié)構(gòu)結(jié)構(gòu)2、C

19、DRAM CDRAM稱為帶高速緩沖存儲器(cache)的動態(tài)存儲器,它是在通常的DRAM芯片內(nèi)又集成了一個小容量的SRAM,從而使DRAM芯片的性能得到顯著改進。如圖所示出1M4位CDRAM芯片的結(jié)構(gòu)框圖,其中SRAM為5124位。 CAI383.3.5 高級的高級的DRAM結(jié)構(gòu)結(jié)構(gòu)3、SDRAM SDRAM稱為同步型動態(tài)存儲器。計算機系統(tǒng)中的CPU使用的是系統(tǒng)時鐘,SDRAM的操作要求與系統(tǒng)時鐘相同步,在系統(tǒng)時鐘的控制下從CPU獲得地址、數(shù)據(jù)和控制信息。換句話說,它與CPU的數(shù)據(jù)交換同步于外部的系統(tǒng)時鐘信號,并且以CPU/存儲器總線的最高速度運行,而不需要插入等待狀態(tài)。其原理和時序關(guān)系見下一

20、頁圖和動畫。39CAI403.3.5 高級的高級的DRAM結(jié)構(gòu)結(jié)構(gòu)例4 CDRAM內(nèi)存條組成實例。一片CDRAM的容量為1M4位,8片這樣的芯片可組成1M32位4MB的存儲模塊,其組成如下圖所示。CAI413.3.6 DRAM主存讀主存讀/寫的正確性校驗寫的正確性校驗 DRAM通常用做主存儲器,其讀寫操作的正確性與可靠性至關(guān)重要。為此除了正常的數(shù)據(jù)位寬度,還增加了附加位,用于讀/寫操作正確性校驗。增加的附加位也要同數(shù)據(jù)位一起寫入DRAM中保存。其原理如圖所示。CAI423.4 只讀存儲器和閃速存儲器只讀存儲器和閃速存儲器3.4.1 只讀存儲器ROM3.4.2 FLASH存儲器433.4.1 只

21、讀存儲器只讀存儲器ROM ROM叫做只讀存儲器。顧名思義,只讀的意思是在它工作時只能讀出,不能寫入。然而其中存儲的原始數(shù)據(jù),必須在它工作以前寫入。只讀存儲器由于工作可靠,保密性強,在計算機系統(tǒng)中得到廣泛的應(yīng)用。主要有兩類:l掩模ROM:掩模ROM實際上是一個存儲內(nèi)容固定的ROM,由生產(chǎn)廠家提供產(chǎn)品。 l可編程ROM:用戶后寫入內(nèi)容,有些可以多次寫入。l一次性編程的PROMl多次編程的EPROM和E2PROM。443.4.1 只讀存儲器只讀存儲器ROM1、掩模ROM (1)掩模ROM的陣列結(jié)構(gòu)和存儲元 CAI453.4.1 只讀存儲器只讀存儲器ROM1、掩模ROM (2)掩模ROM的邏輯符號和內(nèi)

22、部邏輯框圖 CAI463.4.1 只讀存儲器只讀存儲器ROM2、可編程ROM lEPROM叫做光擦除可編程可讀存儲器。它的存儲內(nèi)容可以根據(jù)需要寫入,當(dāng)需要更新時將原存儲內(nèi)容抹去,再寫入新的內(nèi)容。l現(xiàn)以浮柵雪崩注入型MOS管為存儲元的EPROM為例進行說明,結(jié)構(gòu)如右圖所示。 473.4.1 只讀存儲器只讀存儲器ROMl2、可編程、可編程ROME2PROM存儲元 EEPROM,叫做電擦除可編程只讀存儲器。其存儲元是一個具有兩個柵極的NMOS管,如圖(a)和(b)所示,G1是控制柵,它是一個浮柵,無引出線;G2是抹去柵,它有引出線。在G1柵和漏極D之間有一小面積的氧化層,其厚度極薄,可產(chǎn)生隧道效應(yīng)。

23、如圖(c)所示,當(dāng)G2柵加20V正脈沖P1時,通過隧道效應(yīng),電子由襯底注入到G1浮柵,相當(dāng)于存儲了“1”。利用此方法可將存儲器抹成全“1”狀態(tài)。483.4.2 FLASH存儲器存儲器FLASH存儲器也翻譯成閃速存儲器,它是高密度非失易失性的讀/寫存儲器。高密度意味著它具有巨大比特數(shù)目的存儲容量。非易失性意味著存放的數(shù)據(jù)在沒有電源的情況下可以長期保存??傊?,它既有RAM的優(yōu)點,又有ROM的優(yōu)點,稱得上是存儲技術(shù)劃時代的進展。 493.4.2 FLASH存儲器存儲器l1、FLASH存儲元 在EPROM存儲元基礎(chǔ)上發(fā)展起來的,由此可以看出創(chuàng)新與繼承的關(guān)系。l如右圖所示為閃速存儲器中的存儲元,由單個M

24、OS晶體管組成,除漏極D和源極S外,還有一個控制柵和浮空柵。CAI503.4.2 FLASH存儲器存儲器2、FLASH存儲器的基本操作存儲器的基本操作 編程操作、讀取操作、擦除操作l如圖(a)表示編程操作時存儲元寫0、寫1的情況。實際上編程時只寫0,不寫1,因為存儲元擦除后原始狀態(tài)全為1。要寫0,就是要在控制柵C上加正電壓。一旦存儲元被編程,存儲的數(shù)據(jù)可保持100年之久而無需外電源。CAI513.4.2 FLASH存儲器存儲器3、FLASH存儲器的陣列結(jié)構(gòu)lFLASH存儲器的簡化陣列結(jié)構(gòu)如右圖所示。在某一時間只有一條行選擇線被激活。讀操作時,假定某個存儲元原存1,那么晶體管導(dǎo)通,與它所在位線接

25、通,有電流通過位線,所經(jīng)過的負(fù)載上產(chǎn)生一個電壓降。這個電壓降送到比較器的一個輸入端,與另一端輸入的參照電壓做比較,比較器輸出一個標(biāo)志為邏輯1的電平。如果某個存儲元原先存0,那么晶體管不導(dǎo)通,位線上沒有電流,比較器輸出端則產(chǎn)生一個標(biāo)志為邏輯0的電平。 CAI523.5 并行存儲器并行存儲器3.5.1 雙端口存儲器雙端口存儲器3.5.2多模塊交叉存儲器多模塊交叉存儲器533.5 并行存儲器并行存儲器由于CPU和主存儲器之間在速度上是不匹配的,這種情況便成為限制高速計算機設(shè)計的主要問題。為了提高CPU和主存之間的數(shù)據(jù)傳輸率,除了主存采用更高速的技術(shù)來縮短讀出時間外,還可以采用并行技術(shù)的存儲器。 54

26、3.5.1 雙端口存儲器雙端口存儲器1、雙端口存儲器的邏輯結(jié)構(gòu) 雙端口存儲器由于同一個存儲器具有兩組相互獨立的讀寫控制電路而得名。由于進行并行的獨立操作,因而是一種高速工作的存儲器,在科研和工程中非常有用。 舉例說明,雙端口存儲器IDT7133的邏輯框圖 。如下頁圖。553.5.1 雙端口存儲器雙端口存儲器CAI563.5.1 雙端口存儲器雙端口存儲器2、無沖突讀寫控制 當(dāng)兩個端口的地址不相同時,在兩個端口上進行讀寫操作,一定不會發(fā)生沖突。當(dāng)任一端口被選中驅(qū)動時,就可對整個存儲器進行存取,每一個端口都有自己的片選控制(CE)和輸出驅(qū)動控制(OE)。讀操作時,端口的OE(低電平有效)打開輸出驅(qū)動

27、器,由存儲矩陣讀出的數(shù)據(jù)就出現(xiàn)在I/O線上。3、有沖突讀寫控制 當(dāng)兩個端口同時存取存儲器同一存儲單元時,便發(fā)生讀寫沖突。為解決此問題,特設(shè)置了BUSY標(biāo)志。在這種情況下,片上的判斷邏輯可以決定對哪個端口優(yōu)先進行讀寫操作,而對另一個被延遲的端口置BUSY標(biāo)志(BUSY變?yōu)榈碗娖?,即暫時關(guān)閉此端口。 573.5.1 雙端口存儲器雙端口存儲器有沖突讀寫控制判斷方法(1)如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進行判斷來選擇端口(CE判斷)。(2)如果CE在地址匹配之前變低,片上的控制邏輯在左、右地址間進行判斷來選擇端口(地址有效判斷)。 無論采用哪種判斷方式,延遲端口的BU

28、SY標(biāo)志都將置位而關(guān)閉此端口,而當(dāng)允許存取的端口完成操作時,延遲端口BUSY標(biāo)志才進行復(fù)位而打開此端口。583.5.1雙端口存儲器雙端口存儲器CAI593.5 并行存儲器并行存儲器1、存儲器的模塊化組織一個由若干個模塊組成的主存儲器是線性編址的。這些地址在各模塊中如何安排,有兩種方式:一種是順序方式,一種是交叉方式 CAI603.5.2 多模塊交叉存儲器多模塊交叉存儲器1、順序方式例M0M3共四個模塊,則每個模塊8個字順序方式: M0:07 M1:815 M2:1623 M3:2431l5位地址組織如下: X X X X Xl高位選模塊,低位選塊內(nèi)地址l特點:某個模塊進行存取時,其他模塊不工作

29、,優(yōu)點是某一模塊出現(xiàn)故障時,其他模塊可以照常工作,通過增添模塊來擴充存儲器容量比較方便。缺點是各模塊串行工作,存儲器的帶寬受到了限制。613.5.2 多模塊交叉存儲器多模塊交叉存儲器例M0M3共四個模塊,則每個模塊8個字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特點:連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個模塊內(nèi)的地址都是不連續(xù)的。優(yōu)點是對連續(xù)字的成塊傳送可實現(xiàn)多模塊流水式并行存取,大大提高存儲器的帶寬。使用場合為成批數(shù)據(jù)

30、讀取。623.5.2 多模塊交叉存儲器多模塊交叉存儲器2、多模塊交叉存儲器的基本結(jié)構(gòu) 右圖為四模塊交叉存儲器結(jié)構(gòu)框圖。主存被分成4個相互獨立、容量相同的模塊M0,M1,M2,M3,每個模塊都有自己的讀寫控制電路、地址寄存器和數(shù)據(jù)寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數(shù)據(jù)塊都是連續(xù)地在主存中存取,那么將大大提高主存的訪問速度。 CPU同時訪問四個模塊,由存儲器控制部件控制他們分時使用數(shù)據(jù)總線進行信息傳遞。對每一個模塊來說,從CPU給出訪存命令直到讀出信息仍然使用了一個存取周期,對CPU來說,它可以在一個存取周期內(nèi)連續(xù)訪問四個模塊,各模塊讀寫重疊進行。所以多模塊交叉存

31、儲器是一種并行存儲結(jié)構(gòu)。CAI633.5.2 多模塊交叉存儲器多模塊交叉存儲器l通常在一個存儲器周期內(nèi),m個存儲體必須分時啟動,則各個存儲體的啟動間隔為t=T/m (m為交叉存取度)l連續(xù)讀取m個字所需時間分別是tmTtmTt)1(交叉順序CAI64例例5 設(shè)存儲器容量為設(shè)存儲器容量為32字,字長字,字長64位,模塊數(shù)位,模塊數(shù)m=4,分別用順序方式和交叉方式進行組織。存儲周期分別用順序方式和交叉方式進行組織。存儲周期T=200ns,數(shù)據(jù)總線寬度為,數(shù)據(jù)總線寬度為64位,總線傳送周期位,總線傳送周期=50ns。若連續(xù)讀出若連續(xù)讀出4個字,問順序存儲器和交叉存儲器的帶寬個字,問順序存儲器和交叉存

32、儲器的帶寬各是多少各是多少?解:順序存儲器和交叉存儲器連續(xù)讀出m=4個字的信息總量都是:q=64b4=256b順序存儲器和交叉存儲器連續(xù)讀出4個字所需的時間分別是:t2=mT=4200ns=800ns=810-7st1=T+(m-1)t=200ns+150ns=350ns=3.510-7s順序存儲器和交叉存儲器的帶寬分別是:W2=q/t2=256b(810-7)s=320Mb/sW1=q/t1=256b(3.510-7)s=730Mb/s65 3、二模塊交叉存儲器舉例、二模塊交叉存儲器舉例3.5.2 多模塊交叉存儲器多模塊交叉存儲器CAI66 3、二模塊交叉存儲器舉例、二模塊交叉存儲器舉例3.

33、5.2 多模塊交叉存儲器多模塊交叉存儲器CAI673.6 cache存儲器存儲器3.6.1 cache基本原理基本原理3.6.2 主存與主存與cache的地址映射的地址映射3.6.3替換策略替換策略3.6.4 cache的寫操作策略的寫操作策略3.6.5Pentium4的的cache組織組織3.6.6使用多級使用多級cache減少缺失損失減少缺失損失683.6.1 cache基本原理基本原理1、cache的功能 解決CPU和主存之間的速度不匹配問題,基于程序運行的空間局部性和時間局部性原理。時間局部性是指如果程序中的某條指令一旦執(zhí)行,則不久之后該指令可能再次被執(zhí)行;如果某數(shù)據(jù)被訪問,則不久之后

34、該數(shù)據(jù)可能再次被訪問??臻g局部性是指一旦程序訪問了某個存儲單元,則不久之后,其附近的存儲單元也將被訪問。 693.6.1 cache基本原理基本原理CACHE是介于主存與CPU之間的小容量存儲器,一般采用高速的SRAM構(gòu)成。Cache典型值是幾百KB,Cache能向CPU高速提供指令和數(shù)據(jù),加快程序執(zhí)行速度CPU和主存之間的速度差別很大采用兩級或多級Cache系統(tǒng)早期的一級Cache在CPU內(nèi),二級在主板上現(xiàn)在的CPU內(nèi)帶L1 Cache和L2 Cache,片內(nèi)Cache速度接近CPU全由硬件調(diào)度,對用戶透明703.6.1 cache基本原理基本原理當(dāng)CPU讀取內(nèi)存中的一個字時,便發(fā)出該字的內(nèi)

35、存地址到Cache和主存。Cache控制邏輯根據(jù)地址判斷此字當(dāng)前是否在Cache中,若是,此字立即傳送給Cache,若不是,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的整個數(shù)據(jù)塊從主存讀出送到Cache中2、cache基本原理 CPU-Cache以字為單位, Cache-主存以塊為單位,一個塊由若干個字組成是定長的圖中Cache分成4行,每行4個字(W),分配給Cache的地址存放在一個相聯(lián)存儲器CAM中,當(dāng)CPU執(zhí)行訪存指令時,把所需訪問字的地址放到CAM,如果W不在Cache中,則將W從主存?zhèn)魉偷紺ache。與此同時,把包含W的前后相繼的4個字所在的一行數(shù)據(jù)放到Cac

36、he。713.6.1 cache基本原理基本原理3、 Cache的命中率 從CPU來看,增加一個cache的目的,就是在性能上使主存的平均讀出時間盡可能接近cache的讀出時間。 為了達到這個目的,在所有的存儲器訪問中由cache滿足CPU需要的部分應(yīng)占很高的比例,即cache的命中率應(yīng)接近于1。由于程序訪問的局部性,實現(xiàn)這個目標(biāo)是可能的。 723.6.1 cache基本原理基本原理3、cache命中率公式cmacmcamccttrhrrttethhttNNNh/)1 (1)1 (命中率命中率 Cache/主存系統(tǒng)的主存系統(tǒng)的平均訪問時間平均訪問時間訪問效率訪問效率Cache與內(nèi)存的速與內(nèi)存的

37、速度比度比73例例6 CPU執(zhí)行一段程序時,執(zhí)行一段程序時,cache完成存取的次數(shù)完成存取的次數(shù)為為1900次,主存完成存取的次數(shù)為次,主存完成存取的次數(shù)為100次,已知次,已知cache存取周期為存取周期為50ns,主存存取周期為,主存存取周期為250ns,求求cache/主存系統(tǒng)的效率和平均訪問時間。主存系統(tǒng)的效率和平均訪問時間。解:lh=Nc/(Nc+Nm)=1900/(1900+100)=0.95lr=tm/tc=250ns/50ns=5le=1/(r+(1-r)h)=1/(5+(1-5)0.95=83.3%lta=tc/e=50ns/0.833=60ns 743.6.2主存與主存與

38、Cache的地址映射的地址映射l無論選擇那種映射方式,都要把主存和cache劃分為同樣大小的“塊”。l選擇哪種映射方式,要考慮:l硬件是否容易實現(xiàn)l地址變換的速度是否快l主存空間的利用率是否高l主存裝入一塊時,發(fā)生沖突的概率l以下我們介紹三種映射方法751、全相聯(lián)的映射方式(1)將地址分為兩部分(塊號和字),在內(nèi)存塊寫入Cache時,同時寫入塊號標(biāo)記;主存的一個塊可以映射到Cache任意一行(2)CPU給出訪問地址后,也將地址分為兩部分(塊號和字),比較電路塊號與Cache 表中的標(biāo)記進行比較,相同表示命中,訪問相應(yīng)單元;如果沒有命中訪問內(nèi)存,CPU 直接訪問內(nèi)存,并將被訪問內(nèi)存的相對應(yīng)塊寫入

39、Cache。3.6.2 主存與主存與cache的地址映射的地址映射761、全相全相聯(lián)的聯(lián)的映射映射方式方式CAI773.6.2 主存與主存與cache的地址映射的地址映射1、全相聯(lián)的映射方式 轉(zhuǎn)換公式 主存地址長度主存地址長度(s+w)位位尋址單元數(shù)尋址單元數(shù)2w個字或字節(jié)個字或字節(jié)塊大小塊大小行大小行大小2w個字或字節(jié)個字或字節(jié)主存的塊數(shù)主存的塊數(shù)2s標(biāo)記大小標(biāo)記大小s位位cache的行數(shù)的行數(shù)不由地址格式確定不由地址格式確定783.6.2 主存與主存與cache的地址映射的地址映射1、全相聯(lián)的映射方式特點:l優(yōu)點:沖突概率小,Cache的利用高。l缺點:比較器難實現(xiàn),需要一個訪問速度很快代

40、價高的相聯(lián)存儲器應(yīng)用場合:l適用于小容量的Cache793.6.2 主存與主存與cache的地址映射的地址映射2、直接映射方式映射方法(多對一)如:li= j mod m(m是Cache總行數(shù))l主存第j塊內(nèi)容拷貝到Cache的i行l(wè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)容的替換802、直接映直接映射射方式方式2、基本原理l利用行號選擇相應(yīng)行;l把行標(biāo)記與CPU訪問地址進行比較,相同表示命中,訪問Cache;l

41、如果沒有命中,訪問內(nèi) 存,并將相應(yīng)塊寫入CacheCAI813.6.2 主存與主存與cache的地址映射的地址映射2、直接映射方式 轉(zhuǎn)換公式 主存地址長度主存地址長度(s+w)位位尋址單元數(shù)尋址單元數(shù)2s+w個字或字節(jié)個字或字節(jié)塊大小塊大小行大小行大小2w個字或字節(jié)個字或字節(jié)主存的塊數(shù)主存的塊數(shù)2scache的行數(shù)的行數(shù)m2r標(biāo)記大小標(biāo)記大小(s-r)位位823.6.2 主存與主存與cache的地址映射的地址映射2、直接映射方式特點l優(yōu)點:比較電路少m倍線路,所以硬件實現(xiàn)簡單,Cache地址為主存地址的低幾位,不需變換。l缺點:沖突概率高,若塊號相距m整數(shù)倍的兩個塊存于同一Cache行時就要發(fā)

42、生沖突。解決的辦法是將原來存入的行換出去,但可能過段時間又要換入。頻繁的置換會使Cache的效率下降(抖動)應(yīng)用場合l適合大容量Cache,采用更多的行可以減少沖突833.6.2 主存與主存與cache的地址映射的地址映射3、組相聯(lián)映射方式l全相聯(lián):存放位置靈活,命中率高l直接映射:比較器電路和硬件實現(xiàn)簡單l組相聯(lián)是前兩者的組合lCache分組,組間采用直接映射方式,組內(nèi)采用全相聯(lián)的映射方式lCache分組U,組內(nèi)容量V行l(wèi)映射方法(一對多)lq= j mod ul主存第j塊內(nèi)容拷貝到Cache的q組中的某行l(wèi)地址變換l設(shè)主存地址x,看是不是在cache中,先y= x mod u,則在y組中一

43、次查找843.6.2 主存與主存與cache的地址映射的地址映射3、組相聯(lián)映射方式l分析:比全相聯(lián)容易實現(xiàn),沖突低lv=1,則為直接相聯(lián)映射方式lu=1,則為全相聯(lián)映射方式lv的取值一般比較小, 一般是2的冪,稱之為v路組相聯(lián)cache.85CAI863.6.2 主存與主存與cache的地址映射的地址映射3、組相聯(lián)映射方式轉(zhuǎn)換公式 主存地址長度主存地址長度(s+w)位位尋址單元數(shù)尋址單元數(shù)2s+w個字或字節(jié)個字或字節(jié)塊大小塊大小行大小行大小2w個字或字節(jié)個字或字節(jié)主存的塊數(shù)主存的塊數(shù)2s每組的行數(shù)每組的行數(shù)k每組的每組的v2dcache的行數(shù)的行數(shù)kv標(biāo)記大小標(biāo)記大小(s-d)位位873.6.

44、2 主存與主存與cache的地址映射的地址映射例例7 直接映射方式的內(nèi)存地址格式如下所示直接映射方式的內(nèi)存地址格式如下所示標(biāo)記標(biāo)記s-r 行行 r 字地址字地址w 8位位 14位位 2位位若主存地址用十六進制表示若主存地址用十六進制表示BBBBBB,用十六進制格,用十六進制格式表示直接映射方式式表示直接映射方式Cache的標(biāo)記的標(biāo)記 ,行,字地址的值,行,字地址的值解解:(BBBBBB)16=(1011 1011 1011 1011 1011 1011 1011)2標(biāo)記標(biāo)記 s-r =(1011 1011)2=(BB)16行行r= (1011 1011 1011 10)2=(2EEE)16字地

45、址字地址w=(11)2=(3)16883.6.2 主存與主存與cache的地址映射的地址映射例8:一個組相聯(lián)cache由64個行組成,每組4行。主存包含4K個塊,每塊128字。請表示內(nèi)存地址的格式。解:塊大小行大小2w個字12827 w7每組的行數(shù)k4cache的行數(shù)kvK2d42d64 d4組數(shù)v2d2416主存的塊數(shù)2s4K2221022 s12標(biāo)記大小(s-d)位12-48位主存地址長度(s+w)位12+719位主存尋址單元數(shù)2s+w219故 k4各組相聯(lián)的內(nèi)存地址格式如下所示: 標(biāo)記標(biāo)記s-d組號組號d字號字號w8位位 4位位 7位位 3.6.2 主存與主存與cache的地址映射的地址

46、映射l例9有一個處理器,主存容量是1MB,字長1B,塊大小16B,Cach容量64KB,采用全相聯(lián)映射,對內(nèi)存地址B0010給出相應(yīng)的標(biāo)記和字號。l解:塊大小=行大小=16B=24,所以W=4位l主存尋址單元數(shù)2s+w=1M=120,s+w=20,s=16位l內(nèi)存地址格式 標(biāo)記s 字地址wl 16位 4位l內(nèi)存地址B0010= 1011 0000 0000 0001 0000l標(biāo)記s=(1011 0000 0000 0001)2 字地址=(0000)2 3.6.2 主存與主存與cache的地址映射的地址映射l例10假設(shè)主存容量是512KB,Cache容量是4KB,每塊16個字,每個字32位。l

47、(1) Cache 地址多少位? 可容納多少塊?l(2) 主存地址多少位? 可容納多少塊?l(3) 在直接映射方式下。主存的第幾塊映射到Cache中的第5塊(設(shè)起始塊為第一塊)?l(4) 畫出直接映射方式下主存地址格式3.6.2 主存與主存與cache的地址映射的地址映射l解答:(1) Cache容量是4KB(212=4K),cache地址12位,cache塊數(shù)=4KB/(16*4B)=64l(2) 主存容量512KB(219=512K),主存地址19位,主存塊數(shù)=512KB/(16*4B)=8192l(3) 在直接映射方式下,cache64塊,所以主存的5,64+5,2*64+5,.213-

48、64+5塊映射到cache的第5塊l(4) 標(biāo)記 塊地址 字地址l 7 6 63.6.2 主存與主存與cache的地址映射的地址映射l例11設(shè)某機主存容量是16MB,cache容量是8KB。每塊8個字,每字32位,設(shè)計一個四路組相連映射的cache組織。l(1)畫出主存地址各字段的位數(shù)l(2)設(shè)cache狀態(tài)為空,CPU依次從主存第0,1,2,。99號單元讀出100個字(主存一次讀出一個字),并重復(fù)此程序讀10次,求命中率l(3)若cache的速度是主存速度的5倍,有cache和無cache相比,速度提高多少倍?l(4)系統(tǒng)的效率是多少?3.6.2 主存與主存與cache的地址映射的地址映射l

49、解答(1) 每個塊有8個字,每字32b=4B,塊內(nèi)字地址5位,Cache組數(shù)8KB/(8*32/8*4B)=64組,組地址6位,主存容量16MB=224B,主存地址24位,標(biāo)記位24-6-5=13位l 標(biāo)記 組地址 字地址l 13 6 5l(2)由于每個塊有8個字,而且Cache初態(tài)為空,因此cpu讀0號單元未命中,必須訪問主存,同時將該字所在的主存塊調(diào)入cache第0組的任一塊內(nèi),接著讀1-7號單元均命中。同理CPU讀第8,16,。96號單元均未命中??梢奀PU在連續(xù)讀100個字共有13次未命中,而后9次循環(huán)讀100個字全部命中,l命中率=(100*10-13)/(100*10)=0.987

50、3.6.2 主存與主存與cache的地址映射的地址映射l(3)設(shè)主存存取周期是5t,cache存取周期是t,沒有cache的訪問時間是5t*1000,有cache的訪問時間是t(1000-13)+5t*13,速度提高倍數(shù)是l5t*1000/(t(1000-13)+5t*13) -1=3.75l(4) e=t/(0.987*t +(1-0.987)*5t)=95%953.6.3 替換策略替換策略l直接映射:一個主存塊只有一個特定位置存放l全相聯(lián)和組相聯(lián):從允許存放新主存塊的若干行選擇一行l(wèi)LFU(最不經(jīng)常使用 ):將一段時間內(nèi)被訪問次數(shù)最少的行換出。每行設(shè)置一個計數(shù)器,新行建立后從0開始計數(shù),每

51、訪問一次,被訪問的行計數(shù)器增加1。替換時,對特定行的計數(shù)值進行比較,換值小的行,同時將這些特定行的計數(shù)器清零。該算法將計數(shù)周期限定在對特定行兩次替換之間的間隔時間內(nèi),不能反映近期cache的訪問情況。lLRU(近期最少使用) :近期內(nèi)長久沒被訪問的行換出。每行也設(shè)置一個計數(shù)器,Cache命中時被訪問的行計數(shù)器置0,其他的計數(shù)器增加1。替換時,換值大的行。保護了剛拷貝到Cache中的新數(shù)據(jù)行,符合cache的工作原理,使Cache有較高的工作效率。l隨機替換:隨機替換策略實際上是不要什么算法,從特定的行位置中隨機地選取一行換出即可。這種策略在硬件上容易實現(xiàn),且速度也比前兩種策略快。缺點是隨意換出

52、的數(shù)據(jù)很可能馬上又要使用,從而降低命中率和cache工作效率。但這個不足隨著cache容量增大而減小。隨機替換策略的功效只是稍遜于前兩種策略。963.6.4 寫操作策略寫操作策略l由于cache的內(nèi)容只是主存部分內(nèi)容的拷貝,它應(yīng)當(dāng)與主存內(nèi)容保持一致。而CPU對cache的寫入更改了cache的內(nèi)容。如何與主存內(nèi)容保持一致,可選用如下三種寫操作策略。 寫回法:CPU寫Cache命中時,只修改Cache的內(nèi)容,不立即寫入主存。只有當(dāng)此行被換出時才寫回主存。對一個Cache行的多次寫命中都在Cache中完成,只是需要替換的時候才寫回速度較慢的主存,減少了訪問主存的次數(shù)。實現(xiàn)時,每行設(shè)置一個修改位,反

53、映此行是否被CPU修改過。換出時,對行的修改位進行判斷,決定是寫回還是簡單舍掉。如果CPU寫Cache未命中,為了包含欲寫字的主存塊在Cache分配一行,將此塊整個拷貝到Cache后再進行修改。對主存的讀寫操作統(tǒng)一保留到換出時進行。寫Cache與寫主存是異步的方式,減少了訪問主存的次數(shù),但是存在不一致性的隱患。 3.6.4 寫操作策略寫操作策略全寫法:寫Cache命中時,Cache與內(nèi)存一起寫,維護了主存與Cache的一致性。當(dāng)寫Cache未命中時,只能向主存直接寫入。 是否將修改過的主存塊取到Cache,有兩種方法。WTWA:取主存塊到Cache. WTNWA:不取主存塊到Cache. 優(yōu)點

54、是每行不需要設(shè)置修改位和邏輯判斷。缺點是:Cache對CPU向主存的寫操所無高速緩存的功能,降低了Cache的功效。寫一次法:與命中與寫未命中時與寫回法一致,但是第一次Cache命中時采用全寫法,寫入主存。因為第一次寫Cache命中時,CPU要在總線上啟動一個寫周期,其他Cache監(jiān)聽到此主存塊及寫信號后,即可拷貝該塊或者及時作廢,以便維護系統(tǒng)全部Cache的一致性。983.6.5 Pentium 4的的Cache組織組織主要包括四個部分:l取指/譯碼單元:順序從L2cache中取程序指令,將它們譯成一系列的微指令,并存入L1指令cache中。l亂序執(zhí)行邏輯:依據(jù)數(shù)據(jù)相關(guān)性和資源可用性,調(diào)度微

55、指令的執(zhí)行,因而微指令可按不同于所取機器指令流的順序被調(diào)度執(zhí)行。l執(zhí)行單元:它執(zhí)行微指令,從L1數(shù)據(jù)cache中取所需數(shù)據(jù),并在寄存器組中暫存運算結(jié)果。l存儲器子系統(tǒng):這部分包括L2cache、L3cache和系統(tǒng)總線。當(dāng)L1、L2cache未命中時,使用系統(tǒng)總線訪問主存。系統(tǒng)總線還用于訪問I/O資源。不同于所有先前Pentium模式和大多數(shù)處理器所采用的結(jié)構(gòu),Pentium 4的指令cache位于指令譯碼邏輯和執(zhí)行部件之間。其設(shè)計理念是:Pentium 4將機器指令譯成由微指令組成的簡單RISC類指令,而使用簡單定長的微指令可允許采用超標(biāo)量流水線和調(diào)度技術(shù),從而增強機器的性能。993.6.5

56、 Pentium 的的Cache組織組織l基本原理見下圖CAI1003.6.6 使用多級使用多級cache減少缺失損失減少缺失損失 為進一步縮小現(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,且容量大到可使必須訪

57、問主存的缺失率降為0.5%,問處理器速度提高多少。解得只有一級cache的CPU:總的CPI11.0有二級cache的CPU:總的CPI4.0后者是前者CPU性能的:11.04.02.8倍1013.7 虛擬存儲器虛擬存儲器3.7.1 虛擬存儲器的基本概念虛擬存儲器的基本概念3.7.2 頁式虛擬存儲器頁式虛擬存儲器3.7.3段式虛擬存儲器和段頁式虛擬存儲器段式虛擬存儲器和段頁式虛擬存儲器3.7.4 虛存的替換算法虛存的替換算法返回1023.7.1 虛擬存儲器的基本概念虛擬存儲器的基本概念1、實地址與虛地址:用戶編制程序時使用的地址稱為虛地址或邏輯地址,其對應(yīng)的存儲空間稱為虛存空間或邏輯地址空間;

58、 而計算機物理內(nèi)存的訪問地址則稱為實地地或物理地址,其對應(yīng)的存儲空間稱為物理存儲空間或主存空間。程序進行虛地址到實地址轉(zhuǎn)換的過程稱為程序的再定位。1033.7.1 虛擬存儲器的基本概念虛擬存儲器的基本概念2、虛存的訪問過程 虛存空間的用戶程序按照虛地址編程并存放在輔存中。程序運行時,由地址變換機構(gòu)依據(jù)當(dāng)時分配給該程序的實地址空間把程序的一部分調(diào)入實存。每次訪存時,首先判斷該虛地址所對應(yīng)的部分是否在實存中:如果是,則進行地址轉(zhuǎn)換并用實地址訪問主存;否則,按照某種算法將輔存中的部分程序調(diào)度進內(nèi)存,再按同樣的方法訪問主存。 由此可見,每個程序的虛地址空間可以遠(yuǎn)大于實地址空間,也可以遠(yuǎn)小于實地址空間。

59、前一種情況以提高存儲容量為目的,后一種情況則以地址變換為目的。后者通常出現(xiàn)在多用戶或多任務(wù)系統(tǒng)中:實存空間較大,而單個任務(wù)并不需要很大的地址空間,較小的虛存空間則可以縮短指令中地址字段的長度。1043.7.1 虛擬存儲器的基本概念虛擬存儲器的基本概念3、cache與虛存的異同l從虛存的概念可以看出,主存輔存的訪問機制與cache主存的訪問機制是類似的。這是由cache存儲器、主存和輔存構(gòu)成的三級存儲體系中的兩個層次。 lcache和主存之間以及主存和輔存之間分別有輔助硬件和輔助軟硬件負(fù)責(zé)地址變換與管理,以便各級存儲器能夠組成有機的三級存儲體系。cache和主存構(gòu)成了系統(tǒng)的內(nèi)存,而主存和輔存依靠

60、輔助軟硬件的支持構(gòu)成了虛擬存儲器。1053.7.1 虛擬存儲器的基本概念虛擬存儲器的基本概念 在三級存儲體系中,cache主存和主存輔存這兩個存儲層次有許多相同點;(1)出發(fā)點相同出發(fā)點相同 二者都是為了提高存儲系統(tǒng)的性能價格比而構(gòu)造的分層存儲體系,都力圖使存儲系統(tǒng)的性能接近高速存儲器,而價格和容量接近低速存儲器。(2)原理相同原理相同 都是利用了程序運行時的局部性原理把最近常用的信息塊從相對慢速而大容量的存儲器調(diào)入相對高速而小容量的存儲器。但cache主存和主存輔存這兩個存儲層次也有許多不同之處: (3)側(cè)重點不同側(cè)重點不同 cache主要解決主存與CPU的速度差異問題;而就性能價格比的提高

溫馨提示

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

評論

0/150

提交評論