計(jì)算機(jī)組成原理第三章 多層次的存貯器_第1頁
計(jì)算機(jī)組成原理第三章 多層次的存貯器_第2頁
計(jì)算機(jī)組成原理第三章 多層次的存貯器_第3頁
計(jì)算機(jī)組成原理第三章 多層次的存貯器_第4頁
計(jì)算機(jī)組成原理第三章 多層次的存貯器_第5頁
已閱讀5頁,還剩157頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章 多層次的存儲器3.1 存儲器概述3.2 SRAM存儲器3.3 DRAM存儲器3.4 只讀存儲器和閃速存儲器3.5 并行存儲器3.6 Cache存儲器3.7 虛擬存儲器3.8奔騰系列機(jī)的虛存組織13.1存儲器概述一個存儲元,可以存放一位二進(jìn)制代碼。這一個存儲元,可以存放一位二進(jìn)制代碼。這個二進(jìn)制代碼位是存儲器中最小的存儲單個二進(jìn)制代碼位是存儲器中最小的存儲單位位存儲位元存儲位元若干個存儲位元組成一個若干個存儲位元組成一個存儲單元存儲單元。許多存儲單元組成一個許多存儲單元組成一個存儲器存儲器3.1存儲器概述3一、存儲器分類一、存儲器分類1. 按存儲介質(zhì)分類按存儲介質(zhì)分類(1) 半導(dǎo)體存儲器

2、半導(dǎo)體存儲器(2) 磁表面存儲器磁表面存儲器(3) 磁芯存儲器磁芯存儲器(4) 光盤存儲器光盤存儲器易失易失TTL 、MOS磁頭、載磁體磁頭、載磁體硬磁材料、環(huán)狀元件硬磁材料、環(huán)狀元件激光、磁光材料激光、磁光材料非非易易失失4(1) 存取時間與物理地址無關(guān)(隨機(jī)訪問)存取時間與物理地址無關(guān)(隨機(jī)訪問) 順序存取存儲器順序存取存儲器 磁帶磁帶2. 按存取方式分類按存取方式分類(2) 存取時間與物理地址有關(guān)(串行訪問)存取時間與物理地址有關(guān)(串行訪問) 隨機(jī)存儲器隨機(jī)存儲器 只讀存儲器只讀存儲器 直接存取存儲器直接存取存儲器 磁盤磁盤在程序的執(zhí)行過程中在程序的執(zhí)行過程中 可可 讀讀 可可 寫寫在程

3、序的執(zhí)行過程中在程序的執(zhí)行過程中 只只 讀讀5磁盤、磁帶、光盤磁盤、磁帶、光盤 高速緩沖存儲器(高速緩沖存儲器(Cache)Flash Memory存存儲儲器器主存儲器主存儲器輔助存儲器輔助存儲器MROMPROMEPROMEEPROMRAMROM靜態(tài)靜態(tài) RAM動態(tài)動態(tài) RAM3. 按在計(jì)算機(jī)中的作用分類按在計(jì)算機(jī)中的作用分類3.1存儲器概述二、存儲器分級結(jié)構(gòu)1、目前存儲器的特點(diǎn)是: 速度快的存儲器價(jià)格貴,容量?。凰俣瓤斓拇鎯ζ鲀r(jià)格貴,容量??; 價(jià)格低的存儲器速度慢,容量大。價(jià)格低的存儲器速度慢,容量大。 在計(jì)算機(jī)存儲器體系結(jié)構(gòu)設(shè)計(jì)時,我們希望存儲器系統(tǒng)的性能高、價(jià)格低,那么在存儲器系統(tǒng)設(shè)計(jì)時

4、,應(yīng)當(dāng)在存儲器容量,速度和價(jià)格方面的因素作折中考慮,建立了分層次的存儲器體系結(jié)構(gòu)如下圖所示。63.1.2 存儲器分級結(jié)構(gòu)2、分級結(jié)構(gòu) 高速緩沖存儲器簡稱cache,它是計(jì)算機(jī)系統(tǒng)中的一個高速小容量半導(dǎo)體存儲器。 主存儲器簡稱主存,是計(jì)算機(jī)系統(tǒng)的主要存儲器,用來存放計(jì)算機(jī)運(yùn)行期間的大量程序和數(shù)據(jù)。 外存儲器簡稱外存,它是大容量輔助存儲器。73.1.2 存儲器分級結(jié)構(gòu) 分層存儲器系統(tǒng)之間的連接關(guān)系83.1.3主存儲器的技術(shù)指標(biāo) 字存儲單元字存儲單元:存放一個機(jī)器字的存儲單元,:存放一個機(jī)器字的存儲單元,相應(yīng)的單元地址叫字地址。相應(yīng)的單元地址叫字地址。 字節(jié)存儲單元字節(jié)存儲單元:存放一個字節(jié)的單元,

5、相:存放一個字節(jié)的單元,相應(yīng)的地址稱為字節(jié)地址。應(yīng)的地址稱為字節(jié)地址。 存儲容量存儲容量:指一個存儲器中可以容納的存:指一個存儲器中可以容納的存儲單元總數(shù)。存儲容量越大,能存儲的信儲單元總數(shù)。存儲容量越大,能存儲的信息就越多。息就越多。9103.2 SRAM存儲器 主存(內(nèi)部存儲器)是半導(dǎo)體存儲器。根據(jù)信息存儲的機(jī)理不同可以分為兩類:靜態(tài)讀寫存儲器(SRAM):存取速度快,存儲容量不如DRAM大。動態(tài)讀寫存儲器(DRAM):容量大,存取速度慢一些。1112 1、主存的基本組成、主存的基本組成存儲體存儲體驅(qū)動器驅(qū)動器譯碼器譯碼器MAR控制電路控制電路讀讀寫寫電電路路MDR地址總線地址總線數(shù)據(jù)總線

6、數(shù)據(jù)總線讀讀寫寫132、 主存和主存和 CPU 的聯(lián)系的聯(lián)系MDRMARCPU主主 存存讀讀數(shù)據(jù)總線數(shù)據(jù)總線地址總線地址總線寫寫14芯片容量芯片容量3、 半導(dǎo)體存儲芯片的基本結(jié)構(gòu)半導(dǎo)體存儲芯片的基本結(jié)構(gòu)譯譯碼碼驅(qū)驅(qū)動動存存儲儲矩矩陣陣讀讀寫寫電電路路1K4位位16K1位位8K8位位片選線片選線讀讀/寫控制線寫控制線地地址址線線數(shù)數(shù)據(jù)據(jù)線線地址線地址線(單向)(單向) 數(shù)據(jù)線數(shù)據(jù)線(雙向)(雙向)10414113815二、半導(dǎo)體存儲芯片簡介二、半導(dǎo)體存儲芯片簡介1. 半導(dǎo)體存儲芯片的基本結(jié)構(gòu)半導(dǎo)體存儲芯片的基本結(jié)構(gòu)譯譯碼碼驅(qū)驅(qū)動動存存儲儲矩矩陣陣讀讀寫寫電電路路片選線片選線讀讀/寫控制線寫控制線

7、地地址址線線數(shù)數(shù)據(jù)據(jù)線線片選線片選線讀讀/寫控制線寫控制線(低電平寫(低電平寫 高電平讀)高電平讀)(允許讀)(允許讀)CSCE(允許寫)(允許寫)WEOER/ W16存儲芯片片選線的作用存儲芯片片選線的作用用用 16K 1位位 的存儲芯片組成的存儲芯片組成 64K 8位位 的存儲器的存儲器 32片片當(dāng)?shù)刂窞楫?dāng)?shù)刂窞?65 535 時,此時,此 8 片的片選有效片的片選有效 8片片16K 1位位 8片片16K 1位位 8片片16K 1位位 8片片16K 1位位170,015,015,70,7 讀讀/寫控制電路寫控制電路 地地址址譯譯碼碼器器 字線字線015168矩陣矩陣07D07D 位線位線

8、讀讀 / 寫選通寫選通A3A2A1A02. 半導(dǎo)體存儲芯片的譯碼驅(qū)動方式半導(dǎo)體存儲芯片的譯碼驅(qū)動方式(1) 單譯碼方式單譯碼方式00000,00,7007D07D 讀讀 / 寫寫選通選通 讀讀/寫控制電路寫控制電路 18N位地址,位地址,尋址尋址2n個存儲個存儲單元單元22n/2根譯碼根譯碼線線0n0102031012131nn0n1n2nnY Y 地地 址址 譯譯 碼碼X X地地址址譯譯碼碼(2) 雙譯碼方式雙譯碼方式3.2 SRAM存儲器一、基本的靜態(tài)存儲元陣列1、存儲位元2、三組信號線 地址線 數(shù)據(jù)線 控制線193.2 SRAM存儲器二、基本的SRAM邏輯結(jié)構(gòu) SRAM芯大多采用雙譯碼方

9、式,以便組織更大的存儲容量。采用了二級譯碼:將地址分成x向、y向兩部分如圖所示。203.2 SRAM存儲器 讀與寫的互鎖邏輯控制信號中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)閉,這樣保證了讀時不寫,寫時不讀。212114引腳圖(1Kx4) 地址線 數(shù)據(jù)線 讀寫控制線 片選線 電源線 地線22A6A5A4A3A0A1A2CSGND123456789181716151413

10、121110VCCA7A8A9I/O1I/O2I/O3I/O4WE2114A63.2 SRAM存儲器三、存儲器的讀寫周期 讀周期 讀出時間taq 讀周期時間trc 寫周期 寫周期時間twc 寫時間twd 存取周期 讀周期時間trc=寫時間twd2324例1:圖3.5(a)是SRA的寫入時序圖。其中R/W是讀/寫命令控制線,當(dāng)R/W線為低電平時,存儲器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出圖3.5(a)寫入時序中的錯誤,并畫出正確的寫入時序圖。25解:點(diǎn)擊上圖3.3 DRAM存儲器3.3.1 DRAM存儲位元的記憶原理 SRAM存儲器的存儲位元是一個觸發(fā)器,它具有兩個穩(wěn)定的狀態(tài)。而DRAM

11、存儲器的存儲位元是由一個MOS晶體管和電容器組成的記憶電路。26單管DRAM存儲器原理27T1X地址譯碼線C電容用于存電容用于存儲電荷,有儲電荷,有電荷代表電荷代表1,否則代表否則代表0I/OY地址譯碼線T2DRAM 刷新相關(guān)概念 DRAM靠電容電荷存儲信息。電容電荷容易泄漏,需定期補(bǔ)充電荷以保持信息不變,補(bǔ)充電荷的過程稱為刷新過程(讀出是破壞性的) 泄漏完畢之前如不能補(bǔ)充電荷,存儲信息發(fā)生丟失,信息存儲到信息泄漏完畢之間必須完成刷新過程,稱為最大刷新周期, 從上一次對存儲器刷新結(jié)束到下一次對整個存儲器刷新結(jié)束所需要的時間稱為刷新周期,刷新一塊芯片所需的刷新周期數(shù)由芯片矩陣的行數(shù)決定。283.

12、3 DRAM存儲器291、MOS管做為開關(guān)使用,而所存儲的信息1或0則是由電容器上的電荷量來體現(xiàn)當(dāng)電容器充滿電荷時,代表存儲了1,當(dāng)電容器放電沒有電荷時,代表存儲了0。2、圖(a)表示寫1到存儲位元。此時輸出緩沖器關(guān)閉、刷新緩沖器關(guān)閉,輸入緩沖器打開(R/W為低),輸入數(shù)據(jù)DIN=1送到存儲元位線上,而行選線為高,打開MOS管,于是位線上的高電平給電容器充電,表示存儲了1。 3、圖(b)表示寫0到存儲位元。此時輸出緩沖器和刷新緩沖器關(guān)閉,輸入緩沖器打開,輸入數(shù)據(jù)DIN=0送到存儲元位線上;行選線為高,打開MOS管,于是電容上的電荷通過MOS管和位線放電,表示存儲了0。4、圖(c)表示從存儲位元

13、讀出1。輸入緩沖器和刷新緩沖器關(guān)閉,輸出緩沖器/讀放打開(R/W為高)。行選線為高,打開MOS管,電容上所存儲的1送到位線上,通過輸出緩沖器/讀出放大器發(fā)送到DOUT,即DOUT=1。5、圖(d)表示(c)讀出1后存儲位元重寫1。由于(c)中讀出1是破壞性讀出,必須恢復(fù)存儲位元中原存的1。此時輸入緩沖器關(guān)閉,刷新緩沖器打開,輸出緩沖器/讀放打開,DOUT=1經(jīng)刷新緩沖器送到位線上,再經(jīng)MOS管寫到電容上。注意,輸入緩沖器與輸出緩沖器總是互鎖的。這是因?yàn)樽x操作和寫操作是互斥的,不會同時發(fā)生。 DRAM 刷新 DRAM靠電容電荷存儲信息。電容電荷容易泄漏,需定期補(bǔ)充電荷以保持信息不變,補(bǔ)充電荷的過

14、程稱為刷新過程(讀出是破壞性的) 泄漏完畢之前如不能補(bǔ)充電荷,存儲信息發(fā)生丟失,信息存儲到信息泄漏完畢之間必須完成刷新過程,稱為最大刷新周期, 從上一次對存儲器刷新結(jié)束到下一次對整個存儲器刷新結(jié)束所需要的時間稱為刷新周期,刷新一塊芯片所需的刷新周期數(shù)由芯片矩陣的行數(shù)決定。303.3.2 DRAM芯片的邏輯結(jié)構(gòu)下面我們通過一個例子來看一下動態(tài)存儲器的邏輯結(jié)構(gòu)如圖。 圖(a)示出1M4位DRAM芯片的管腳圖,其中有兩個電源腳、兩個地線腳,為了對稱,還有一個空腳(NC)。 圖(b)是該芯片的邏輯結(jié)構(gòu)圖。3132333.3.3 讀/寫周期、刷新周期 讀周期、寫周期的定義是從行選通信號RAS下降沿開始,

15、到下一個RAS信號的下降沿為止的時間,也就是連續(xù)兩個讀周期的時間間隔。通常為控制方便,讀周期和寫周期時間相等。343.3 DRAM存儲器 刷新周期:DRAM存儲位元是基于電容器上的電荷量存儲,這個電荷量隨著時間和溫度而減少,因此必須定期地刷新,以保持它們原來記憶的正確信息。 刷新操作有兩種刷新方式:集中式刷新分散式刷新異步式刷新35集中刷新方式36刷新間隔2ms讀寫/維持刷新過程/ 死區(qū)500ns500ns2ms內(nèi)集中安排所有刷新周期。用在實(shí)時要求不高的場合。分散刷新方式37刷新間隔2ms500ns500ns存儲周期各刷新周期分散安排在存取周期中。用在低速系統(tǒng)中異步刷新方式3815.5微秒50

16、0ns各刷新周期分散安排在2ms內(nèi)每隔一段時間刷新一行。每隔15.5微秒提一次刷新請求,刷新一行;2毫秒內(nèi)刷新完所有行用在大多數(shù)計(jì)算機(jī)中。2ms128行15.5 微秒15.5微秒500ns3.3 DRAM存儲器3.3.4、存儲器容量的擴(kuò)充 給定的芯片字長位數(shù)較短,不滿足設(shè)計(jì)要求的存儲器字長,此時需要用多片給定芯片擴(kuò)展字長位數(shù)。三組信號線中,地址線和控制線公用而數(shù)據(jù)線單獨(dú)分開連接。 d=設(shè)計(jì)要求的存儲器容量/選擇芯片存儲器容量 例例2 2 利用利用1M1M4 4位的位的SRAMSRAM芯片,設(shè)計(jì)一個存儲芯片,設(shè)計(jì)一個存儲容量為容量為1M1M8 8位的位的SRAMSRAM存儲器。存儲器。 解:所需

17、芯片數(shù)量=(1M8)/(1M4)=2片393.3 DRAM存儲器40 例:存貯器的位擴(kuò)展。用例:存貯器的位擴(kuò)展。用 211 4 存儲芯片存儲芯片組成組成 1K 8位位 的存儲器的存儲器1、位數(shù)擴(kuò)展、位數(shù)擴(kuò)展41 用用 211 4 存儲芯片組成存儲芯片組成 1K 8位位 的存儲器的存儲器2片片10根地址線根地址線8根數(shù)據(jù)線根數(shù)據(jù)線DDD0479AA021142114CSWE2、字存儲容量擴(kuò)展 給定的芯片存儲容量較?。ㄗ?jǐn)?shù)少),不滿足設(shè)計(jì)要求的總存儲容量,此時需要用多片給定芯片來擴(kuò)展字?jǐn)?shù)。三組信號組中給定芯片的地址總線和數(shù)據(jù)總線公用,控制總線中R/W公用,使能端EN不能公用,它由地址總線的高位段譯

18、碼來決定片選信號。所需芯片數(shù)仍由(d=設(shè)計(jì)要求的存儲器容量/選擇芯片存儲器容量)決定。 例例33利用利用1M1M8 8位的位的DRAMDRAM芯片設(shè)計(jì)芯片設(shè)計(jì)2M2M8 8位的位的DRAMDRAM存儲器存儲器解:所需芯片數(shù)d=(2M8)/(1M8)=2(片)42舉例:舉例: 用用 1K 8位位 存儲芯片組成存儲芯片組成 2K 8位位 的存儲器的存儲器43 用用 1K 8位位 存儲芯片組成存儲芯片組成 2K 8位位 的存儲器的存儲器11根地址線根地址線8根數(shù)據(jù)線根數(shù)據(jù)線2片片1K 8 8位位1K 8 8位位D7D0WEA1A0A9CS0A10 1CS1主存儲器與CPU的連接44D0,D1WE A

19、 CS2K2D0D1A10-0MREQ#R/W#CPUD1D0舉例:2Kx2 - 2Kx8 ?字長(位)擴(kuò)展(DBUS)2Kx2 - 2Kx845A10-0D1 D0D7D6A10-0MREQ#R/W#CPUD7D0WE A CS2K2DWE A CS2K2DWE A CS2K2DWE A CS2K2DD5 D4D3 D2字?jǐn)?shù)(字)擴(kuò)展(ABUS)8Kx8-32Kx846A14-13A12-02-4譯碼ramsel4ramsel2ramsel1ramsel0OE#D7D0D7D0D7D0D7D0WE A CS8K8DWE A CS8K8DWE A CS8K8DWE A CS8K8DA12-0M

20、REQ#R/W#CPUD7D0綜合擴(kuò)展8Kx8 - 32Kx3247112-4譯碼100100A14-13A12-0A12-0OE#MREQ#R/W#CPUD31D0D31D0D31D0D31D0D31D0WE A CS8Kx84片DWE A CS8Kx84片DWE A CS8Kx84片DWE A CS8Kx84片D各芯片地址范圍488位8K8K8K8K1234D7D6D1D0A14A13A12A00 0 0 0.00 0 1 1.10 1 0 0.00 1 1 1.11 0 0 0.01 0 1 1.11 1 0 0.01 1 1 1.13.3 DRAM存儲器3、存儲器模塊條 存儲器通常以插

21、槽用模塊條形式供應(yīng)市場。這種模塊條常稱為內(nèi)存條,它們是在一個條狀形的小印制電路板上,用一定數(shù)量的存儲器芯片,組成一個存儲容量固定的存儲模塊。如圖所示。 內(nèi)存條有30腳、72腳、100腳、144腳、168腳等多種形式。 30腳內(nèi)存條設(shè)計(jì)成8位數(shù)據(jù)線,存儲容量從256KB32MB。 72腳內(nèi)存條設(shè)計(jì)成32位數(shù)據(jù)總線 100腳以上內(nèi)存條既用于32位數(shù)據(jù)總線又用于64位數(shù)據(jù)總線,存儲容量從4MB512MB。 49六、高級的DRAM結(jié)構(gòu) 1、FPM DRAM:快速頁模式動態(tài)存儲器,它是根據(jù)程序的局部性原理來實(shí)現(xiàn)的。50 2、CDRAM帶高速緩沖存儲器(cache)的動態(tài)存儲器,它是在通常的DRAM芯片內(nèi)

22、又集成了一個小容量的SRAM,從而使DRAM芯片的性能得到顯著改進(jìn)。如圖所示出1M4位CDRAM芯片的結(jié)構(gòu)框圖,其中SRAM為5124位。 51523.3 DRAM存儲器 SDRAM同步型動態(tài)存儲器。計(jì)算機(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)系見下一頁圖和動畫。53543.3 DRAM存儲器例4 CDRAM內(nèi)存條組成實(shí)例。一片CDRAM的容量為1M4位,8片這樣的芯片可組成1M3

23、2位4MB的存儲模塊,其組成如下圖所示。55563.3 DRAM存儲器七、DRAM主存讀/寫的正確性校驗(yàn) DRAM通常用做主存儲器,其讀寫操作的正確性與可靠性至關(guān)重要。為此除了正常的數(shù)據(jù)位寬度,還增加了附加位,用于讀/寫操作正確性校驗(yàn)。增加的附加位也要同數(shù)據(jù)位一起寫入DRAM中保存。其原理如圖所示。573.4 只讀存儲器和閃速存儲器一、只讀存儲器 ROM叫做只讀存儲器。顧名思義,只讀的意思是在它工作時只能讀出,不能寫入。然而其中存儲的原始數(shù)據(jù),必須在它工作以前寫入。只讀存儲器由于工作可靠,保密性強(qiáng),在計(jì)算機(jī)系統(tǒng)中得到廣泛的應(yīng)用。主要有兩類: 掩模ROM:掩模ROM實(shí)際上是一個存儲內(nèi)容固定的RO

24、M,由生產(chǎn)廠家提供產(chǎn)品。 可編程ROM:用戶后寫入內(nèi)容,有些可以多次寫入。 一次性編程的PROM 多次編程的EPROM和E2PROM。583.4 只讀存儲器和閃速存儲器1、掩模ROM掩模ROM的陣列結(jié)構(gòu)和存儲元 593.4 只讀存儲器和閃速存儲器掩模ROM的邏輯符號和內(nèi)部邏輯框圖 602、可編程ROM uPROM61一次編程一次編程3.4 只讀存儲器和閃速存儲器3、可編程、可編程ROM EPROM叫做光擦除可編程可讀存儲器。叫做光擦除可編程可讀存儲器。它的存儲內(nèi)容可以根據(jù)需要寫入,當(dāng)需它的存儲內(nèi)容可以根據(jù)需要寫入,當(dāng)需要更新時將原存儲內(nèi)容抹去,再寫入新要更新時將原存儲內(nèi)容抹去,再寫入新的內(nèi)容。

25、的內(nèi)容。 62 EPROM63編程器64紫外線擦除器653.4 只讀存儲器和閃速存儲器 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)。663.4 只讀存儲器和閃速存儲器 這種存儲器在出廠時,存儲內(nèi)容為全“1”狀態(tài)。使用時,可根據(jù)要求把某些存儲元

26、寫“0”。寫“0”電路如圖(d)所示。漏極D加20V正脈沖P2,G2柵接地,浮柵上電子通過隧道返回襯底,相當(dāng)于寫 E2PROM讀出時的電路如圖(e)所示,這時G2柵加3V電壓,若G1柵有電子積累,T2管不能導(dǎo)通,相當(dāng)于存“1”;若G1柵無電子積累,T2管導(dǎo)通,相當(dāng)于存“0”。 673.4 只讀存儲器和閃速存儲器4、閃速存儲器FLASH存儲器也翻譯成閃速存儲器,它是高密度非失易失性的讀/寫存儲器。高密度意味著它具有巨大比特?cái)?shù)目的存儲容量。非易失性意味著存放的數(shù)據(jù)在沒有電源的情況下可以長期保存。總之,它既有RAM的優(yōu)點(diǎn),又有ROM的優(yōu)點(diǎn),稱得上是存儲技術(shù)劃時代的進(jìn)展。 68閃速存儲器 Flash

27、Memory 在不加電的情況下可長期保持存儲的信息。本質(zhì)上屬于EEPROM,既有ROM的特點(diǎn),又有很高的存取速度,而且易于擦除和重寫,功耗很小。 存放BIOS,升級方便693.4 只讀存儲器和閃速存儲器 FLASH存儲元在EPROM存儲元基礎(chǔ)上發(fā)展起來的,由此可以看出創(chuàng)新與繼承的關(guān)系。 如右圖所示為閃速存儲器中的存儲元,由單個MOS晶體管組成,除漏極D和源極S外,還有一個控制柵和浮空柵。703.4 只讀存儲器和閃速存儲器 “0”狀態(tài)狀態(tài):當(dāng)控制柵加上足夠的正電壓時,浮空柵將儲存許多電子帶負(fù)電,這意味著浮空柵上有很多負(fù)電荷,這種情況我們定義存儲元處于0狀態(tài)。 “1”狀態(tài)狀態(tài):如果控制柵不加正電壓

28、,浮空柵則只有少許電子或不帶電荷,這種情況我們定義為存儲元處于1狀態(tài)。 浮空柵上的電荷量決定了讀取操作時,加在柵極上的控制電壓能否開啟MOS管,并產(chǎn)生從漏極D到源極S的電流。 713.4 只讀存儲器和閃速存儲器 編程操作編程操作:實(shí)際上是寫操作。所有存儲元的原始狀態(tài)均處“1”狀態(tài),這是因?yàn)椴脸僮鲿r控制柵不加正電壓。編程操作的目的是為存儲元的浮空柵補(bǔ)充電子,從而使存儲元改寫成“0”狀態(tài)。如果某存儲元仍保持“1”狀態(tài),則控制柵就不加正電壓。 如圖(a)表示編程操作時存儲元寫0、寫1的情況。實(shí)際上編程時只寫0,不寫1,因?yàn)榇鎯υ脸笤紶顟B(tài)全為1。要寫0,就是要在控制柵C上加正電壓。一旦存儲元被

29、編程,存儲的數(shù)據(jù)可保持100年之久而無需外電源。 723.4 只讀存儲器和閃速存儲器 讀取操作:讀取操作:控制柵加上正電壓。浮空柵上的負(fù)電荷量將決定是否可以開啟MOS晶體管。如果存儲元原存1,可認(rèn)為浮空柵不帶負(fù)電,控制柵上的正電壓足以開啟晶體管。如果存儲元原存0,可認(rèn)為浮空柵帶負(fù)電,控制柵上的正電壓不足以克服浮動?xùn)派系呢?fù)電量,晶體管不能開啟導(dǎo)通。 當(dāng)MOS晶體管開啟導(dǎo)通時,電源VD提供從漏極D到源極S的電流。讀出電路檢測到有電流,表示存儲元中存1,若讀出電路檢測到無電流,表示存儲元中存0,如圖(b)所示。733.4 只讀存儲器和閃速存儲器 擦除操作擦除操作:所有的存儲元中浮空柵上的負(fù)電荷要全部

30、洩放出去。為此晶體管源極S加上正電壓,這與編程操作正好相反,見圖(c)所示。源極S上的正電壓吸收浮空柵中的電子,從而使全部存儲元變成1狀態(tài)。743.4 只讀存儲器和閃速存儲器 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的電平。 75例4

31、 某計(jì)算機(jī)的主存地址空間中,從地址0 x0000到3FFF為ROM存儲區(qū)域,從0 x4000到0 x5FFF為保留地址區(qū)域,暫時不用,從0 x6000到0 xFFFF為RAM地址區(qū)域。RAM的控制信號為CS#和WE#,CPU的地址線為A15A0,數(shù)據(jù)線為8位的線路D7D0,控制信號有讀寫控制R/W#和訪存請求MREQ#,要求:(1)如果ROM和RAM存儲器芯片都采用8K1的芯片,試畫出存儲器與CPU的連接圖。(2)如果ROM存儲器芯片采用8K8的芯片,RAM存儲器芯片采用4K8的芯片,試畫出連接圖。(3)如果ROM存儲器芯片采用16K8的芯片,RAM存儲器芯片采用4K8的芯片,試畫出連接圖76

32、解:8KB的存儲區(qū)域可以用8片存儲器芯片構(gòu)成一組實(shí)現(xiàn)。8K1的存儲器芯片的地址線需要13條,即A120。 0 x0000到0 x3FFF為ROM存儲區(qū)域,從0 x4000到0 x5FFF為保留地址區(qū)域,暫時不用,從0 x6000到0 xFFFF為RAM地址區(qū)域。 CPU 訪問00 xFFFF的地址空間需要地址線16根,為A15A0,數(shù)據(jù)線為8位的線路D7D077781、ROM和RAM采用8K1的芯片79A15-13A12-0111譯碼器011001000OE#D7D0D7D0D7D0D7D0WE A CS8Kx18片ROMDWE A CS8Kx18片RAMDWE A CS8Kx18片RAMDW

33、E A CS8Kx18片ROMDA15-0MREQ#R/W#CPUD7D080A11-0A11-0A15-13A12-0D7D0D7D0D7D0D7D0WE A CS8Kx81片ROMD WE A CS8Kx81片ROMDWE A CS4Kx81片RAMDWE A CS4Kx81片RAMDWE A CS4Kx81片RAMDWE A CS4Kx81片RAMDA15-0A12MREQ#CPUD7D0R/W#111譯碼器011001000OE#81A11-0A11-0A15-13A12-0D7D0D7D0D7D0WE A CS4Kx81片RAMDWE A CS4Kx81片RAMDWE A CS4Kx

34、81片RAMDWE A CS4Kx81片RAMDA15-0A12MREQ#CPUD7D0R/W#WE A CS16Kx81片ROMDA13-0111譯碼器011001000OE#13.5 并行存儲器由于CPU和主存儲器之間在速度上是不匹配的,這種情況便成為限制高速計(jì)算機(jī)設(shè)計(jì)的主要問題。為了提高CPU和主存之間的數(shù)據(jù)傳輸率,除了主存采用更高速的技術(shù)來縮短讀出時間外,還可以采用并行技術(shù)的存儲器。 823.5 并行存儲器 解決途徑 多個存儲器并行工作 并行訪問和交叉訪問 設(shè)置各種緩沖器 通用寄存器 采用分層的存儲系統(tǒng) Cache(第6節(jié)) 虛擬存儲系統(tǒng)(第9章)833.5 并行存儲器一、雙端口存儲器

35、 1、雙端口存儲器的邏輯結(jié)構(gòu) 雙端口存儲器由于同一個存儲器具有兩組相互獨(dú)立的讀寫控制電路而得名。由于進(jìn)行并行的獨(dú)立操作,因而是一種高速工作的存儲器,在科研和工程中非常有用。84雙端口存儲器 具有兩組相互獨(dú)立的讀寫控制線路的存儲器 兩組讀寫控制線路可以并行操作 當(dāng)兩個端口地址不相同,無沖突,可以并行存取 端口地址相同,發(fā)生讀寫沖突,無法并行存取85存儲體(A0-10)L(D0-15)LBUSYLR/WL(A0-10)R(D0-15)RBUSYRR/WR863.5 并行存儲器2、無沖突讀寫控制 當(dāng)兩個端口的地址不相同時,在兩個端口上進(jìn)行讀寫操作,一定不會發(fā)生沖突。當(dāng)任一端口被選中驅(qū)動時,就可對整個

36、存儲器進(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)閉此端口。 873.5 并行存儲器4、有沖突讀寫控制判斷方法(1)如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進(jìn)行判斷來選擇端口(CE判斷)。(2)如果CE在地址匹配之前

37、變低,片上的控制邏輯在左、右地址間進(jìn)行判斷來選擇端口(地址有效判斷)。 無論采用哪種判斷方式,延遲端口的BUSY標(biāo)志都將置位而關(guān)閉此端口,而當(dāng)允許存取的端口完成操作時,延遲端口BUSY標(biāo)志才進(jìn)行復(fù)位而打開此端口。883.5.1雙端口存儲器893.5 并行存儲器二、多模塊交叉存儲器:一個由若干個模塊組成的主存儲器是線性編址的。這些地址在各模塊中如何安排,有兩種方式:一種是順序方式,一種是交叉方式 903.5 并行存儲器 假設(shè)有n個存儲體,每個存儲體的容量為m個存儲單元 順序方式:91n2logm2log每個存儲體內(nèi)的地址片選,存儲體選擇3.5 并行存儲器1、順序方式例M0M3共四個模塊,則每個模

38、塊8個字順序方式: M0:07 M1:815 M2:1623 M3:2431 5位地址組織如下: X X X X X 高位選模塊,低位選塊內(nèi)地址 特點(diǎn):某個模塊進(jìn)行存取時,其他模塊不工作,優(yōu)點(diǎn)是某一模塊出現(xiàn)故障時,其他模塊可以照常工作,通過增添模塊來擴(kuò)充存儲器容量比較方便。缺點(diǎn)是各模塊串行工作,存儲器的帶寬受到了限制。923.5 并行存儲器2、交叉方式 (可以實(shí)現(xiàn)多模塊流水式并行存取)93n2logm2log每個存儲體內(nèi)的地址片選,存儲體選擇3.5 并行存儲器例M0M3共四個模塊,則每個模塊8個字 交叉方式: M0:0,4,.除以4余數(shù)為0 M1:1,5,.除以4余數(shù)為1 M2:2,6,.除以

39、4余數(shù)為2 M3:3,7,.除以4余數(shù)為3 5位地址組織如下: X X X X X 高位選塊內(nèi)地址,低位選模塊 特點(diǎn):連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個模塊內(nèi)的地址都是不連續(xù)的。優(yōu)點(diǎn)是對連續(xù)字的成塊傳送可實(shí)現(xiàn)多模塊流水式并行存取,大大提高存儲器的帶寬。使用場合為成批數(shù)據(jù)讀取。943.5 并行存儲器3、多模塊交叉存儲器的基本結(jié)構(gòu) 右圖為四模塊交叉存儲器結(jié)構(gòu)框圖。主存被分成4個相互獨(dú)立、容量相同的模塊M0,M1,M2,M3,每個模塊都有自己的讀寫控制電路、地址寄存器和數(shù)據(jù)寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數(shù)據(jù)塊都是連續(xù)地在主存中存取,那么將大大提高主存的訪問速

40、度。 953.5 并行存儲器 存儲器周期T,總線傳送周期,存儲器的交叉模塊數(shù)為m,取啟動間隔為 m=T / , (m為交叉存取度) 整個存儲器的存取速度有望提高n倍 連續(xù)讀出m個字的時間為: 采用順序方式存貯器時:96t1=T+(m-1)97低位交叉的特點(diǎn)低位交叉的特點(diǎn)在不改變存取周期的前提下,增加存儲器的帶寬在不改變存取周期的前提下,增加存儲器的帶寬時間時間 單體單體訪存周期訪存周期 單體單體訪存周期訪存周期啟動存儲體啟動存儲體 0啟動存儲體啟動存儲體 1啟動存儲體啟動存儲體 2啟動存儲體啟動存儲體 3例5 設(shè)存儲器容量為32字,字長64位,模塊數(shù)m=4,分別用順序方式和交叉方式進(jìn)行組織。存

41、儲周期T=200ns,數(shù)據(jù)總線寬度為64位,總線傳送周期=50ns。若連續(xù)讀出4個字,問順序存儲器和交叉存儲器的帶寬各是多少?98解:順序存儲器和交叉存儲器連續(xù)讀出m=4個字的信息總量都是:q=64b4=256b順序存儲器和交叉存儲器連續(xù)讀出4個字所需的時間分別是:t2=mT=4200ns=800ns=810-7st1=T+(m-1) =200ns+350ns=350ns=3.510-7s順序存儲器和交叉存儲器的帶寬分別是:W2=q/t2=256b(810-7)s=320Mb/sW1=q/t1=256b(3.510-7)s=730Mb/s99二模塊交叉存儲器舉例100二模塊交叉存儲器舉例101

42、程序局部性 程序局部性的實(shí)質(zhì)是程序在某段時間內(nèi)僅需要訪問內(nèi)存很小一部分空間。1023.6 Cache存儲器1、基本原理(1)功能:解決CPU和主存之間的速度不匹配問題 一般采用高速的SRAM構(gòu)成。 CPU和主存之間的速度差別很大采用兩級或多級Cache系統(tǒng) 早期的一級Cache在CPU內(nèi),二級在主板上 現(xiàn)在的CPU內(nèi)帶L1 Cahe和L2 Cahe 全由硬件調(diào)度,對用戶透明1033.6 Cache存儲器104105 Cache 的的 讀寫讀寫 操作操作 訪問訪問Cache取出信息送取出信息送CPU 訪問主存訪問主存取出信息送取出信息送CPU將新的主存塊將新的主存塊調(diào)入調(diào)入Cache中中執(zhí)行替換

43、算法執(zhí)行替換算法 騰出空位騰出空位 結(jié)束結(jié)束命中?命中?Cache滿?滿?CPU發(fā)出訪問地址發(fā)出訪問地址 開始開始是是否否是是否否讀讀3.6 Cache存儲器(2)cache基本原理 地址映射: 如需訪問的數(shù)據(jù)在cache中,存放在什么地方 替換策略: Cache滿了以后如何處理 寫一致性: 如何保證cache與memory的一致性 數(shù)據(jù)查找: 如何判斷一個數(shù)據(jù)在cache中 性能評價(jià)。1063.6 Cache存儲器(2)cache基本原理 地址映射; 替換策略; 寫一致性; 性能評價(jià)。1073.6 Cache存儲器cache基本原理小結(jié):基本原理小結(jié):cache是介于CPU和主存M之間的小容

44、量存儲器,但存取速度比主存快。主存容量配置幾百M(fèi)B的情況下,cache的典型值是幾百KB。cache能高速地向CPU提供指令和數(shù)據(jù),從而加快了程序的執(zhí)行速度。從功能上看,它是主存的緩沖存儲器,由高速的SRAM組成。為追求高速,包括管理在內(nèi)的全部功能由硬件實(shí)現(xiàn),因而對程序員是透明的。1083.6 Cache存儲器cache基本原理小結(jié): Cache的設(shè)計(jì)依據(jù):CPU這次訪問過的數(shù)據(jù),下次有很大的可能也是訪問附近的數(shù)據(jù)。 CPU與Cache之間的數(shù)據(jù)傳送是以字為單位 主存與Cache之間的數(shù)據(jù)傳送是以塊為單位 CPU讀主存時,便把地址同時送給Cache和主存,Cache控制邏輯依據(jù)地址判斷此字是否

45、在Cache中,若在此字立即傳送給CPU ,否則,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的整個數(shù)據(jù)塊從主存讀出送到cache中。1093.6 Cache存儲器 從CPU來看,增加一個cache的目的,就是在性能上使主存的平均讀出時間盡可能接近c(diǎn)ache的讀出時間。為了達(dá)到這個目的,在所有的存儲器訪問中由cache滿足CPU需要的部分應(yīng)占很高的比例,即cache的命中率應(yīng)接近于1。由于程序訪問的局部性,實(shí)現(xiàn)這個目標(biāo)是可能的。 1103.6 Cache存儲器 在一個程序執(zhí)行期間,設(shè)Nc表示cache完成存取的總次數(shù),Nm表示主存完成存取的總次數(shù),h定義為命中率,則有 h=

46、Nc/(Nc+Nm) 若tc表示命中時的cache訪問時間,tm表示未命中時的主存訪問時間,1-h表示未命中率,則cache/主存系統(tǒng)的平均訪問時間ta為: 111 ta=htc+(1-h)tm3.6 Cache存儲器 設(shè)r=tm/tc表示主存慢于cache的倍率,e表示訪問效率,則有e=tc/ta=tc/htc+(1-h)tm =1/h+(1-h)r=1/r+(1-r) h 由表達(dá)式看出,為提高訪問效率,命中率h越接近1越好,r值以510為宜,不宜太大。 命中率h與程序的行為、cache的容量、組織方式、塊的大小有關(guān)。112CPU執(zhí)行一段程序時,cache完成存取的次數(shù)為1900次,主存完成

47、存取的次數(shù)為100次,已知cache存取周期為50ns,主存存取周期為250ns,求cache/主存系統(tǒng)的效率和平均訪問時間。 113 公式114命中率命中率 Cache/主存系統(tǒng)的主存系統(tǒng)的平均訪問時間平均訪問時間訪問效率訪問效率Cache與內(nèi)存的速與內(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 1153.6.2 主存與cache的地址映射116第0塊第0塊第1塊第n-1塊L0L1Lm-1Cac

48、he主存主存 如何進(jìn)行地址映射?3.6.2117一、全相聯(lián)的映射方式 映射方法(多對多) 主存內(nèi)容可以拷貝到任意行 地址變換 標(biāo)記實(shí)際上構(gòu)成了一個目錄表。118Cache的數(shù)據(jù)塊的數(shù)據(jù)塊 行,用行,用Li表示,表示,i=0,1,2,m-1,共共有有m=2r行行主存的數(shù)據(jù)塊主存的數(shù)據(jù)塊 快,快, Bj表示,表示,j=0,1,2,n-1,共有共有n=2s塊塊行和快等大小,由行和快等大小,由k=2w個連續(xù)的字組成(字:個連續(xù)的字組成(字:CPU訪問存貯器時可存取的最小單位)。訪問存貯器時可存取的最小單位)。一、全相聯(lián)的映射方式1、將地址分為兩部分(塊號和字地址),在內(nèi)存塊寫入Cache時,同時寫入塊

49、號標(biāo)記;2、CPU給出訪問地址后,也將地址分為兩部分(塊號和字地址),比較電路塊號與Cache 表中的標(biāo)記進(jìn)行比較,相同表示命中,訪問相應(yīng)單元;如果沒有命中訪問內(nèi)存,CPU 直接訪問內(nèi)存,并將被訪問內(nèi)存的相對應(yīng)塊寫入Cache。119Cache全相聯(lián)映射120第0塊第0塊第1塊L0L1Lm-1Cache主存主存中任何一塊均可定位于Cache中的任意一塊,可提高命中率,但是硬件開銷增加一、全相聯(lián)的映射方式121cache全相聯(lián)映射地址變換122相聯(lián)存儲器主存塊號Cache塊號塊號比較快存主存主存地址未命中塊表命中Cache地址主存塊號CPU塊內(nèi)地址塊內(nèi)地址一、全相聯(lián)的映射方式3、特點(diǎn): 優(yōu)點(diǎn):沖

50、突概率小,Cache的利用高。 缺點(diǎn):比較器難實(shí)現(xiàn),需要一個訪問速度很快代價(jià)高的相聯(lián)存儲器4、應(yīng)用場合: 適用于小容量的Cache1231、映射方法(多對一)Cache的行號i和主存的塊號j有如下關(guān)系: i= j mod m (m為Cache的總行數(shù)) 主存第j塊內(nèi)容拷貝到Cache的i行 例cache為8行,主存為256塊,則cache的L0行中允許放的主存快為B0, B8,B248。如果第一次 B0在cache中,下次訪問B8 ,則不管cache其他位置的內(nèi)容訪問情況,都會引起塊內(nèi)容的替換124Cache直接相聯(lián)映射125第0塊第0塊第0區(qū)第1塊第m-1塊第m塊第m+1塊第2m-1塊第2m

51、塊第3m-1塊Tag0Tag1Tagm-1Cache主存第1區(qū)第2區(qū)主存分割成若干個主存分割成若干個與與cachecache大小相同的區(qū)大小相同的區(qū)CacheCache塊號塊號i, i, 共共mm塊,主存塊號塊,主存塊號j ji=j mod m2、基本原理 利用行號選擇相應(yīng)行; 把行標(biāo)記與CPU訪問地址進(jìn)行比較,相同表示命中,訪問Cache; 如果沒有命中,訪問內(nèi) 存,并將相應(yīng)塊寫入Cache1263、特點(diǎn)優(yōu)點(diǎn):比較電路少m倍線路,所以硬件實(shí)現(xiàn)簡單。缺點(diǎn):沖突概率高(抖動)4、應(yīng)用場合適合大容量Cache127三、組相聯(lián)映射方式 前兩者的組合 Cache分組,組間采用直接映射方式,組內(nèi)采用全相

52、聯(lián)的映射方式 Cache分組U組,V行 映射方法 q= j mod u 主存第j塊內(nèi)容拷貝到Cache的q組中的某行 地址變換128Cache組相聯(lián)映射129第0塊第0組第0塊第1塊第m塊第m+1塊2m2m第2m+1塊L0L1Cache主存第1組組0組1第0區(qū)第2組第3組第1區(qū)CacheCache分分u u組,每組組,每組v v塊塊q=j mod u3、組相聯(lián)映射方式130131例例7 直接映射方式的內(nèi)存地址格式如下所示:直接映射方式的內(nèi)存地址格式如下所示: 標(biāo)記標(biāo)記 s-r 行行 r 字地址字地址 w 8位位 14位位 2位位若主存地址用十六進(jìn)制表示為若主存地址用十六進(jìn)制表示為BBBBBB,

53、用十六進(jìn)制格式表示直接映射方式用十六進(jìn)制格式表示直接映射方式Cache的標(biāo)記、行、字地址的值。的標(biāo)記、行、字地址的值。解(BBBBBB)16=1011 1011 1011 1011 1011 1011標(biāo)記s-r=1011 1011=(BB)16行r=1011 1011 1011 10=(2EEE)16字地址W=11=(3)16132例例8 一個組相聯(lián)一個組相聯(lián)Cache由由64個行組成,每組個行組成,每組4行。行。每塊每塊128字,請表示內(nèi)存地址的格式。字,請表示內(nèi)存地址的格式。解:塊大小解:塊大小=行大小行大小=2w個字個字=27,w=764個行組成,每組個行組成,每組4行,行,16個組,個

54、組,d=4主存貯器包含主存貯器包含4K個塊,個塊,s=12標(biāo)記大小標(biāo)記大小(s-d)=12-4=8主存地址長度主存地址長度s+w=19 標(biāo)記標(biāo)記 s-d 組號組號 d 字地址字地址 w 8位 4位 7位133例例9 一個處理器,字長一個處理器,字長1B,塊大小,塊大小16B,Cache容量容量64KB,Cache采用全相聯(lián)映射,對內(nèi)存地采用全相聯(lián)映射,對內(nèi)存地址址(B0010)給出相應(yīng)的標(biāo)記和字號。給出相應(yīng)的標(biāo)記和字號。解:塊大小解:塊大小=行大小行大小=16,w=4主存容量主存容量1MB,s+w=20,s=16 標(biāo)記s 字地址字地址w16位 4位對于內(nèi)存地址對于內(nèi)存地址(B0010)16=(

55、1011 0000 0000 0001 0000)2對應(yīng)的標(biāo)記對應(yīng)的標(biāo)記s=1011 0000 0000 0001,字地址字地址w=00003.6.3 LFU(最不經(jīng)常使用 ):被訪問的行計(jì)數(shù)器增加1,換值小的行,不能反映近期cache的訪問情況. LRU(近期最少使用) :被訪問的行計(jì)數(shù)器置0,其他的計(jì)數(shù)器增加1,換值大的行,符合cache的工作原理134Cache最不經(jīng)常使用算法(LFU)1352211221911164載入載入命中載入命中載入替換t012322220 0222211110 022221 11111191922221 111111 1191911111 116160 022

56、222 211111 1161619191111222222221 122221 1111119190 04 422命中222211111 11616191922222 2Cache近期最久未使用算法(LRU)1362211221971643載入載入命中載入載入替換替換替換t012322220 022221 11111022222 211113 319191 122223 3111119192 27 71 14 41 116162 219197 73 37 70 016160 0222216161 17 72 219193 311111222222220 02222111112 219190

57、04 40 03 30 03.6.3 隨機(jī)替換隨機(jī)替換策略實(shí)際上是不要什么算法,從特定的行位置中隨機(jī)地選取一行換出即可。這種策略在硬件上容易實(shí)現(xiàn),且速度也比前兩種策略快。缺點(diǎn)是隨意換出的數(shù)據(jù)很可能馬上又要使用,從而降低命中率和cache工作效率。但這個不足隨著cache容量增大而減小。隨機(jī)替換策略的功效只是稍遜于前兩種策略。1373.6.4 由于cache的內(nèi)容只是主存部分內(nèi)容的拷貝,它應(yīng)當(dāng)與主存內(nèi)容保持一致。而CPU對cache的寫入更改了cache的內(nèi)容。如何與主存內(nèi)容保持一致,可選用如下三種寫操作策略。138Cache全相聯(lián)映射寫命中139第0塊第0塊第1塊2 23456 6789 91

58、26395Cache主存126126塊塊=126=126字地址字地址=1=1比較器比較器命中輸入輸出寄存器輸入輸出寄存器輸入輸出寄存器輸入輸出寄存器全寫法 (write through)寫回法(write back)126126Cache全相聯(lián)映射寫失效140第0塊第0塊第1塊2 23456 6789 91395Cache主存126126塊塊=126=126字地址字地址=1=1比較器比較器未命中輸入輸出寄存器輸入輸出寄存器126126WTWA WTNWA141 Cache 的改進(jìn)的改進(jìn)(1) 增加增加 Cache 的級數(shù)的級數(shù)片載(片內(nèi))片載(片內(nèi))Cache片外片外 Cache(2) 統(tǒng)一緩

59、存和分立緩存統(tǒng)一緩存和分立緩存指令指令 Cache數(shù)據(jù)數(shù)據(jù) Cache與主存結(jié)構(gòu)有關(guān)與主存結(jié)構(gòu)有關(guān)與指令執(zhí)行的控制方式有關(guān)與指令執(zhí)行的控制方式有關(guān)是否流水是否流水Pentium 8K 指令指令 Cache 8K 數(shù)據(jù)數(shù)據(jù) CachePowerPC620 32K 指令指令 Cache 32K 數(shù)據(jù)數(shù)據(jù) Cache3.6.5 基本原理見下圖1423.6.5 1、主要包括四個部分: 取指/譯碼單元:順序從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)總線。未命中時,使用系統(tǒng)總線訪問主存。系統(tǒng)總線還用于訪問I/O資源。不同于所有先前Pentium模式和大多數(shù)處理器所采用的結(jié)構(gòu),Pentium 4的指令cache位于指令譯碼邏輯和執(zhí)行部件之間。其設(shè)計(jì)理念是:Pentium 4將機(jī)器指令譯成由微指令組成的簡單RISC類指令,而使用簡單定長的微指令可允許采用超標(biāo)量流水線和調(diào)度技術(shù),從而增強(qiáng)機(jī)器的性能。1433.6.6使用多級cache減少缺失損失 當(dāng)訪問第一

溫馨提示

  • 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

提交評論