廣東海洋大學(xué)計算機(jī)組成原理第三章_第1頁
廣東海洋大學(xué)計算機(jī)組成原理第三章_第2頁
廣東海洋大學(xué)計算機(jī)組成原理第三章_第3頁
廣東海洋大學(xué)計算機(jī)組成原理第三章_第4頁
廣東海洋大學(xué)計算機(jī)組成原理第三章_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第三章第三章 內(nèi)部存儲器內(nèi)部存儲器3.1存儲器概述3.2SRAM存儲器3.3DRAM存儲器3.4只讀存儲器和閃速存儲器3.5并行存儲器3.6Cache存儲器返回23.1存儲器概述存儲器概述一、分類一、分類l按存儲介質(zhì)分類:磁表面/半導(dǎo)體存儲器l按存取方式分類:隨機(jī)/順序存?。ù艓В﹍按讀寫功能分類:ROM,RAMlRAM:雙極型/MOSlROM:MROM/PROM/EPROM/EEPROMl按信息的可保存性分類:永久性和非永久性的l按存儲器系統(tǒng)中的作用分類:主/輔/緩/控33.1存儲器概述存儲器概述二、存儲器分級結(jié)構(gòu)二、存儲器分級結(jié)構(gòu)1、目前存儲器的特點(diǎn)是: 速度快的存儲器價格貴,容量??;

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

3、。l存儲容量存儲容量:指一個存儲器中可以容納的存儲單元總數(shù)。l存取時間存取時間:指一次讀操作命令發(fā)出到該操作完成,將數(shù)據(jù)讀出到數(shù)據(jù)總線上所經(jīng)歷的時間。單位為nsl存儲周期存儲周期:指連續(xù)啟動兩次讀操作所需間隔的最小時間。單位為ns。l存儲器帶寬存儲器帶寬:單位時間里存儲器所存取的信息量,單位為位/秒或字節(jié)/秒。73.2 SRAM存儲器存儲器l主存(內(nèi)部存儲器)是半導(dǎo)體存儲器。根據(jù)信息存儲的機(jī)理不同可以分為兩類:l靜態(tài)讀寫存儲器(SRAM):存取速度快l動態(tài)讀寫存儲器(DRAM):存儲容量大。83.2 SRAM存儲器存儲器一、基本的靜態(tài)存儲元陣列一、基本的靜態(tài)存儲元陣列1、存儲位元2、三組信號線

4、l地址線l數(shù)據(jù)線l行線l列線l控制線93.2 SRAM存儲器存儲器二、基本的二、基本的SRAM邏邏輯結(jié)構(gòu)輯結(jié)構(gòu)lSRAM芯大多采用雙譯碼方式。l將地址分成x向、y向兩部分。103.2 SRAM存儲器存儲器l存儲體(2561288)l通常把各個字的同一個字的同一位集成在一個芯片(32K1)中,32K位排成256128的矩陣。8個片子就可以構(gòu)成32KB。l地址譯碼器l采用雙譯碼的方式(減少選擇線的數(shù)目)。lA0A7為行地址譯碼線lA8A14為列地址譯碼線113.2 SRAM存儲器存儲器l讀與寫的互鎖邏輯 CS:片選信號, OE:讀出信號, WE:寫命令。 門G1和G2互鎖,保證讀時不寫,寫時不讀。

5、123.2 SRAM存儲器存儲器三、存儲器的讀寫周期三、存儲器的讀寫周期l讀周期l讀出時間Taql讀周期時間Trcl寫周期l寫周期時間Twcl寫時間twdl存取周期l讀周期時間Trc=寫時間twd13例例1P70:圖:圖3.5(a)是是SRA的寫入時序圖。其中的寫入時序圖。其中R/W是是讀讀/寫命令控制線,當(dāng)寫命令控制線,當(dāng)R/W線為低電平時,存儲器按線為低電平時,存儲器按給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出圖給定地址把數(shù)據(jù)線上的數(shù)據(jù)寫入存儲器。請指出圖3.5(a)寫入時序中的錯誤,并畫出正確的寫入時序圖。寫入時序中的錯誤,并畫出正確的寫入時序圖。解:點(diǎn)擊上圖143.3 DRAM存儲器存

6、儲器一、一、DRAM存儲位元的記憶原理存儲位元的記憶原理 SRAM存儲器的存儲位元是一個觸發(fā)器,它具有兩個穩(wěn)定的狀態(tài)。 而DRAM存儲器的存儲位元是由一個MOS晶體管和電容器組成的記憶電路,如圖3.6所示。 153.3 DRAM存儲器存儲器1、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、

7、圖(b)表示寫0到存儲位元。此時輸出緩沖器和刷新緩沖器關(guān)閉,輸入緩沖器打開,輸入數(shù)據(jù)DIN=0送到存儲元位線上;行選線為高,打開MOS管,于是電容上的電荷通過MOS管和位線放電,表示存儲了0。4、圖(c)表示從存儲位元讀出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)刷新緩沖器送到位線上

8、,再經(jīng)MOS管寫到電容上。注意,輸入緩沖器與輸出緩沖器總是互鎖的。這是因為讀操作和寫操作是互斥的,不會同時發(fā)生。 163.3 DRAM存儲器存儲器二、DRAM芯片的邏輯結(jié)構(gòu)l圖3.7(a)示出1M4位DRAM芯片的管腳圖。(1)增加了行地址鎖存器和列地址鎖存器。先傳送行地址碼,由行選通信號RAS打入到行地址鎖存器;然后傳送列地址碼,由列選通信號CRS打入到列地址鎖存器。(2)增加了刷新計數(shù)器和相應(yīng)的控制電路。DRAM讀出后必須刷新,而未讀寫的存儲元也要定期刷新,而且要按行刷新,所以刷新計數(shù)器的長度等于行地址鎖存器。刷新操作與讀/寫操作是交替進(jìn)行的,所以通過2選1多路開關(guān)來提供刷新行地址或正常讀

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

10、間進(jìn)行正常的讀/寫操作,后一段時間做為集中刷新操作時間。l分散式刷新:每一行的刷新插入到正常的讀/寫周期之中。l例如p72圖3.7所示的DRAM有1024行,如果刷新周期為8ms,則每一行必須每隔8ms1024=7.8us進(jìn)行一次。203.3 DRAM存儲器存儲器五、存儲器容量的擴(kuò)充五、存儲器容量的擴(kuò)充 1、字長位數(shù)擴(kuò)展 需要用多片給定芯片擴(kuò)展字長位數(shù)。 地址線和控制線公用,數(shù)據(jù)線單獨(dú)分開連接。 所需芯片數(shù): d=設(shè)計要求的存儲器容量/選擇芯片存儲器容量 例例2 2 利用利用1M1M4 4位的位的SRAMSRAM芯片,設(shè)計一個存儲容量芯片,設(shè)計一個存儲容量為為1M1M8 8位的位的SRAMSR

11、AM存儲器。存儲器。 解:所需芯片數(shù)量=(1M8)/(1M4)=2片213.3 DRAM存儲器存儲器2、字存儲容量擴(kuò)展 l需要用多片給定芯片來擴(kuò)展字?jǐn)?shù)。l地址總線和數(shù)據(jù)總線公用,控制總線中R/W公用。l由地址總線的高位段譯碼來決定片選信號。l所需芯片數(shù): d=設(shè)計要求的存儲器容量/選擇芯片存儲器容量 例例33利用利用1M1M8 8位的位的DRAMDRAM芯片設(shè)計芯片設(shè)計2M2M8 8位的位的DRAMDRAM存儲存儲器器解:所需芯片數(shù)d=(2M8)/(1M8)=2(片)223.3 DRAM存儲器存儲器3、存儲器模塊條 l存儲器通常以插槽用模塊條形式供應(yīng)市場。常稱為內(nèi)存條,它們是在一個條狀形的小印

12、制電路板上,用一定數(shù)量的存儲器芯片,組成一個存儲容量固定的存儲模塊。如圖所示。l內(nèi)存條有30腳、72腳、100腳、144腳、168腳等多種形式。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。 233.3 DRAM存儲器存儲器六、高級的六、高級的DRAM結(jié)構(gòu)結(jié)構(gòu) lFPM DRAM:快速頁模式動態(tài)存儲器,它是根據(jù)程序的局部性原理來實(shí)現(xiàn)的。讀周期和寫周期中,為了尋找一個確定的存儲單元地址,首先由低電平的行選通信號RAS確定行地址,然后由低電平的列選信號CAS確

13、定列地址。下一次尋找操作,也是由RAS選定行地址,CAS選定列地址,依此類推,如下圖所示。 243.3 DRAM存儲器存儲器lCDRAM帶高速緩沖存儲器(cache)的動態(tài)存儲器,它是在通常的DRAM芯片內(nèi)又集成了一個小容量的SRAM,從而使DRAM芯片的性能得到顯著改進(jìn)。如圖所示出1M4位CDRAM芯片的結(jié)構(gòu)框圖,其中SRAM為5124位。 253.3 DRAM存儲器存儲器lSDRAM同步型動態(tài)存儲器。計算機(jī)系統(tǒng)中的CPU使用的是系統(tǒng)時鐘,SDRAM的操作要求與系統(tǒng)時鐘相同步,在系統(tǒng)時鐘的控制下從CPU獲得地址、數(shù)據(jù)和控制信息。換句話說,它與CPU的數(shù)據(jù)交換同步于外部的系統(tǒng)時鐘信號,并且以C

14、PU/存儲器總線的最高速度運(yùn)行,而不需要插入等待狀態(tài)。263.3 DRAM存儲器存儲器例4 CDRAM內(nèi)存條組成實(shí)例。一片CDRAM的容量為1M4位,8片這樣的芯片可組成1M32位4MB的存儲模塊,其組成如下圖所示。273.3 DRAM存儲器存儲器三星內(nèi)存顆粒的型號采用一個16位數(shù)字編碼命名: 編碼規(guī)則:K 4 X X X X X X X X - X X X X X主要含義:第1位-芯片功能K,代表是內(nèi)存芯片。第2位-芯片類型4,代表DRAM。 第3位-芯片的更進(jìn)一步的類型說明,S代表SDRAM、H代表DDR、G代表SGRAM。第4、5位-容量和刷新速率,容量相同的內(nèi)存采用不同的刷新速率,也會

15、使用不同的編號。64、62、63、65、66、67、6A代表64Mbit的容量;28、27、2A代表128Mbit的容量;56、55、57、5A代表256Mbit的容量;51代表512Mbit的容量。第6、7位-數(shù)據(jù)線引腳個數(shù),08代表8位數(shù)據(jù);16代表16位數(shù)據(jù);32代表32位數(shù)據(jù);64代表64位數(shù)據(jù)。第11位-連線“-”。第14、15位-芯片的速率,如60為6ns;70為 7ns;7B為7.5ns (CL=3);7C為7.5ns (CL=2) ;80為 8ns;10 為10ns (66MHz)。28293.4 只讀存儲器和閃速存儲器只讀存儲器和閃速存儲器一、只讀存儲器 ROM叫做只讀存儲器

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

17、存儲器和閃速存儲器3、可編程ROM lEPROM叫做光擦除可編程可讀存儲器。它的存儲內(nèi)容可以根據(jù)需要寫入,當(dāng)需要更新時將原存儲內(nèi)容抹去,再寫入新的內(nèi)容。333.4 只讀存儲器和閃速存儲器只讀存儲器和閃速存儲器lE2PROM存儲元存儲元 EEPROM,叫做電擦除可編程只讀存儲器。 這種存儲器在出廠時,存儲內(nèi)容為全“1”狀態(tài)。使用時,可根據(jù)要求把某些存儲元寫“0”。343.4 只讀存儲器和閃速存儲器只讀存儲器和閃速存儲器4、閃速存儲器FLASH存儲器也翻譯成閃速存儲器,它是高密度非失易失性的讀/寫存儲器。高密度意味著它具有巨大比特數(shù)目的存儲容量。非易失性意味著存放的數(shù)據(jù)在沒有電源的情況下可以長期保

18、存??傊扔蠷AM的優(yōu)點(diǎn),又有ROM的優(yōu)點(diǎn),稱得上是存儲技術(shù)劃時代的進(jìn)展。 353.5 并行存儲器并行存儲器由于CPU和主存儲器之間在速度上是不匹配的,這種情況便成為限制高速計算機(jī)設(shè)計的主要問題。為了提高CPU和主存之間的數(shù)據(jù)傳輸率,除了主存采用更高速的技術(shù)來縮短讀出時間外,還可以采用并行技術(shù)的存儲器。 363.5 并行存儲器并行存儲器l解決途徑l多個存儲器并行工作l并行訪問和交叉訪問l設(shè)置各種緩沖器l通用寄存器l采用分層的存儲系統(tǒng)lCache(第6節(jié))l虛擬存儲系統(tǒng)(第9章)373.5 并行存儲器并行存儲器一、雙端口存儲器 1、雙端口存儲器的邏輯結(jié)構(gòu) 雙端口存儲器由于同一個存儲器具有兩組

19、相互獨(dú)立的讀寫控制電路而得名。由于進(jìn)行并行的獨(dú)立操作,因而是一種高速工作的存儲器,在科研和工程中非常有用。 舉例:雙端口存儲器IDT7133的邏輯框圖 。 如下頁圖。383.5 并行存儲器并行存儲器393.5 并行存儲器并行存儲器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ā)生讀寫沖突。為解

20、決此問題,特設(shè)置了BUSY標(biāo)志。在這種情況下,片上的判斷邏輯可以決定對哪個端口優(yōu)先進(jìn)行讀寫操作,而對另一個被延遲的端口置BUSY標(biāo)志(BUSY變?yōu)榈碗娖?,即暫時關(guān)閉此端口。 403.5 并行存儲器并行存儲器4、有沖突讀寫控制判斷方法(1)如果地址匹配且在CE之前有效,片上的控制邏輯在CEL和CER之間進(jìn)行判斷來選擇端口(CE判斷)。(2)如果CE在地址匹配之前變低,片上的控制邏輯在左、右地址間進(jìn)行判斷來選擇端口(地址有效判斷)。 無論采用哪種判斷方式,延遲端口的BUSY標(biāo)志都將置位而關(guān)閉此端口,而當(dāng)允許存取的端口完成操作時,延遲端口BUSY標(biāo)志才進(jìn)行復(fù)位而打開此端口。413.5.1雙端口存儲

21、器雙端口存儲器423.5 并行存儲器并行存儲器二、多模塊交叉存儲器:一個由若干個模塊組成的主存儲器是線性編址的。這些地址在各模塊中如何安排,有兩種方式:一種是順序方式,一種是交叉方式 433.5 并行存儲器并行存儲器l假設(shè)有n個存儲體,每個存儲體的容量為m個存儲單元l順序方式:n2logm2log每個存儲體內(nèi)的地址片選,存儲體選擇443.5 并行存儲器并行存儲器1、順序方式例M0M3共四個模塊,則每個模塊8個字順序方式: M0:07 M1:815 M2:1623 M3:2431l5位地址組織如下: X X X X Xl高位選模塊,低位選塊內(nèi)地址l特點(diǎn):某個模塊進(jìn)行存取時,其他模塊不工作,優(yōu)點(diǎn)是

22、某一模塊出現(xiàn)故障時,其他模塊可以照常工作,通過增添模塊來擴(kuò)充存儲器容量比較方便。缺點(diǎn)是各模塊串行工作,存儲器的帶寬受到了限制。453.5 并行存儲器并行存儲器2、交叉方式l(可以實(shí)現(xiàn)多模塊流水式并行存?。﹏2logm2log每個存儲體內(nèi)的地址片選,存儲體選擇463.5 并行存儲器并行存儲器例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特點(diǎn):連續(xù)地址分布在相鄰的不同模塊內(nèi),同一個模塊內(nèi)的地

23、址都是不連續(xù)的。優(yōu)點(diǎn)是對連續(xù)字的成塊傳送可實(shí)現(xiàn)多模塊流水式并行存取,大大提高存儲器的帶寬。使用場合為成批數(shù)據(jù)讀取。473.5 并行存儲器并行存儲器3、多模塊交叉存儲器的基本結(jié)構(gòu) 右圖為四模塊交叉存儲器結(jié)構(gòu)框圖。主存被分成4個相互獨(dú)立、容量相同的模塊M0,M1,M2,M3,每個模塊都有自己的讀寫控制電路、地址寄存器和數(shù)據(jù)寄存器,各自以等同的方式與CPU傳送信息。在理想情況下,如果程序段或數(shù)據(jù)塊都是連續(xù)地在主存中存取,那么將大大提高主存的訪問速度。 483.5 并行存儲器并行存儲器l通常在一個存儲器周期內(nèi),n個存儲體必須分時啟動,設(shè)t為總線傳送周期,T 為一個字的存儲周期,存儲器的交叉模塊數(shù)為m,

24、應(yīng)滿足:l每經(jīng)t時間延遲后啟動下一個模塊。l連續(xù)傳送x個字所需的時間為:tmT.)1()1(nnxTtxTtxTt交叉順序49例例5 設(shè)存儲器容量為設(shè)存儲器容量為32字,字長字,字長64位,模塊數(shù)位,模塊數(shù)m=4,分別用順序方式,分別用順序方式和交叉方式進(jìn)行組織。存儲周期和交叉方式進(jìn)行組織。存儲周期T=200ns,數(shù)據(jù)總線寬度為,數(shù)據(jù)總線寬度為64位,總位,總線傳送周期線傳送周期=50ns。若連續(xù)讀出。若連續(xù)讀出4個字,問順序存儲器和交叉存儲器個字,問順序存儲器和交叉存儲器的帶寬各是多少的帶寬各是多少?解:順序存儲器和交叉存儲器連續(xù)讀出m=4個字的信息總量都是:q=64b4=256b順序存儲器

25、和交叉存儲器連續(xù)讀出4個字所需的時間分別是:t2=mT=4200ns=800ns=810-7st1=T+(m-1)t=200ns+150ns=350ns=3510-7s順序存儲器和交叉存儲器的帶寬分別是:W2=q/t2=256b(810-7)s=320Mb/sW1=q/t1=256b(3510-7)s=730Mb/s503.6 Cache存儲器存儲器1、基本原理(1)功能:解決CPU和主存之間的速度不匹配問題l一般采用高速的SRAM構(gòu)成。lCPU和主存之間的速度差別很大采用兩級或多級Cache系統(tǒng)l早期的一級Cache在CPU內(nèi),二級在主板上l現(xiàn)在的CPU內(nèi)帶L1 Cahe和L2 Cahel全

26、由硬件調(diào)度,對用戶透明513.6 Cache存儲器存儲器523.6 Cache存儲器存儲器(2)cache基本原理l地址映射;l替換策略;l寫一致性;l性能評價。533.6 Cache存儲器存儲器cache基本原理1:lcache是介于CPU和主存M2之間的小容量存儲器,但存取速度比主存快。主存容量配置幾百M(fèi)B的情況下,cache的典型值是幾百KB。cache能高速地向CPU提供指令和數(shù)據(jù),從而加快了程序的執(zhí)行速度。從功能上看,它是主存的緩沖存儲器,由高速的SRAM組成。為追求高速,包括管理在內(nèi)的全部功能由硬件實(shí)現(xiàn),因而對程序員是透明的。lCache的設(shè)計依據(jù):CPU這次訪問過的數(shù)據(jù),下次有很

27、大的可能也是訪問附近的數(shù)據(jù)。543.6 Cache存儲器存儲器cache基本原理2:lCPU與Cache之間的數(shù)據(jù)傳送是以字為單位l主存與Cache之間的數(shù)據(jù)傳送是以塊為單位lCPU讀主存時,便把地址同時送給Cache和主存,Cache控制邏輯依據(jù)地址判斷此字是否在Cache中,若在此字立即傳送給CPU ,否則,則用主存讀周期把此字從主存讀出送到CPU,與此同時,把含有這個字的整個數(shù)據(jù)塊從主存讀出送到cache中。553.6 Cache存儲器存儲器(3) Cache的命中率 從CPU來看,增加一個cache的目的,就是在性能上使主存的平均讀出時間盡可能接近c(diǎn)ache的讀出時間。為了達(dá)到這個目的

28、,在所有的存儲器訪問中由cache滿足CPU需要的部分應(yīng)占很高的比例,即cache的命中率應(yīng)接近于1。由于程序訪問的局部性,實(shí)現(xiàn)這個目標(biāo)是可能的。 563.6 Cache存儲器存儲器l在一個程序執(zhí)行期間,設(shè)Nc表示cache完成存取的總次數(shù),Nm表示主存完成存取的總次數(shù),h定義為命中率,則有 h=Nc/(Nc+Nm)l若tc表示命中時的cache訪問時間,tm表示未命中時的主存訪問時間,1-h表示未命中率,則cache/主存系統(tǒng)的平均訪問時間ta為:ta=h*tc+(1-h)tml我們追求的目標(biāo)是,以較小的硬件代價使cache/主存系統(tǒng)的平均訪問時間ta越接近tc越好。573.6 Cache存

29、儲器存儲器l設(shè)r=tm/tc表示主存慢于cache的倍率,e表示訪問效率,則有e=tc/ta=tc/h*tc+(1-h)*tm =1/(h+(1-h)*r=1/(r+(1-r)*hl由表達(dá)式看出,為提高訪問效率,命中率h越接近1越好,r值以510為宜,不宜太大。l命中率h與程序的行為、cache的容量、組織方式、塊的大小有關(guān)。58例例6CPU執(zhí)行一段程序時,執(zhí)行一段程序時,cache完成存取的次數(shù)為完成存取的次數(shù)為1900次,主存完成存取的次數(shù)為次,主存完成存取的次數(shù)為100次,已知次,已知cache存取周期存取周期為為50ns,主存存取周期為,主存存取周期為250ns,求,求cache/主存

30、系統(tǒng)的主存系統(tǒng)的效率和平均訪問時間。效率和平均訪問時間。 l公式cmacmcameettrhrrttethhttNNNh/)1 (1)1 (命中率命中率 Cache/主存系統(tǒng)的主存系統(tǒng)的平均訪問時間平均訪問時間訪問效率訪問效率Cache與內(nèi)存的速與內(nèi)存的速度比度比59例例6解:解: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 603.6.2主存與主存與Cache的地址映射的地址映射l無論選擇那種映射方式,都要把

31、主存和無論選擇那種映射方式,都要把主存和cache劃分為同樣大小的劃分為同樣大小的“塊塊”。l選擇哪種映射方式,要考慮:選擇哪種映射方式,要考慮:l硬件是否容易實(shí)現(xiàn)硬件是否容易實(shí)現(xiàn)l地址變換的速度是否快地址變換的速度是否快l主存空間的利用率是否高主存空間的利用率是否高l主存裝入一塊時,發(fā)生沖突的概率主存裝入一塊時,發(fā)生沖突的概率l以下我們介紹三種映射方法以下我們介紹三種映射方法61一一、全相聯(lián)的映射方式、全相聯(lián)的映射方式l映射方法(多對多)映射方法(多對多)l主存內(nèi)容可以拷貝到任意行主存內(nèi)容可以拷貝到任意行l(wèi)地址變換地址變換l標(biāo)記實(shí)際上構(gòu)成了一個目錄表。標(biāo)記實(shí)際上構(gòu)成了一個目錄表。62一一、全

32、相全相聯(lián)的聯(lián)的映射映射方式方式63一一、全相聯(lián)的映射方式、全相聯(lián)的映射方式1、將地址分為兩部分(塊號和字),在內(nèi)存塊、將地址分為兩部分(塊號和字),在內(nèi)存塊寫入寫入Cache時,同時寫入塊號標(biāo)記;時,同時寫入塊號標(biāo)記;2、CPU給出訪問地址后,也將地址分為兩部分給出訪問地址后,也將地址分為兩部分(塊號和字),比較電路塊號與(塊號和字),比較電路塊號與Cache 表中表中的標(biāo)記進(jìn)行比較,相同表示命中,訪問相應(yīng)單的標(biāo)記進(jìn)行比較,相同表示命中,訪問相應(yīng)單元;如果沒有命中訪問內(nèi)存,元;如果沒有命中訪問內(nèi)存,CPU 直接訪問直接訪問內(nèi)存,并將被訪問內(nèi)存的相對應(yīng)塊寫入內(nèi)存,并將被訪問內(nèi)存的相對應(yīng)塊寫入Ca

33、che。64一一、全相聯(lián)的映射方式、全相聯(lián)的映射方式3、特點(diǎn):、特點(diǎn):l優(yōu)點(diǎn):沖突概率小,優(yōu)點(diǎn):沖突概率小,Cache的利用高。的利用高。l缺點(diǎn):比較器難實(shí)現(xiàn),需要一個訪問速度很快代價缺點(diǎn):比較器難實(shí)現(xiàn),需要一個訪問速度很快代價高的相聯(lián)存儲器高的相聯(lián)存儲器4、應(yīng)用場合:、應(yīng)用場合:l適用于小容量的適用于小容量的Cache65二、直接映射方式二、直接映射方式1、映射方法(一對多)如:、映射方法(一對多)如:li= j mod ml主存第主存第j塊內(nèi)容拷貝到塊內(nèi)容拷貝到Cache的的i行行 例例cache容量容量8字,主存容量字,主存容量256字,則地址字,則地址0,8,16,24.248等等32

34、塊都存放在塊都存放在cache的地的地址址0內(nèi),如果第一次內(nèi),如果第一次0在在cache中,下次訪問中,下次訪問24內(nèi)容,則不管內(nèi)容,則不管cache其他位置的內(nèi)容訪問情況,其他位置的內(nèi)容訪問情況,都會引起都會引起0塊內(nèi)容的替換塊內(nèi)容的替換66二、二、直接映直接映射射方式方式2、基本原理基本原理l利用行號選擇利用行號選擇相應(yīng)行;相應(yīng)行;l把行標(biāo)記與把行標(biāo)記與CPU訪問地址訪問地址進(jìn)行比較,相進(jìn)行比較,相同表示命中,同表示命中,訪問訪問Cache;l如果沒有命中,如果沒有命中,訪問內(nèi)訪問內(nèi) 存,存,并將相應(yīng)塊寫并將相應(yīng)塊寫入入Cache67二、直接映射方式二、直接映射方式3、特點(diǎn)、特點(diǎn)l優(yōu)點(diǎn):比

35、較電路少優(yōu)點(diǎn):比較電路少m倍線路,所以硬件實(shí)現(xiàn)簡單,倍線路,所以硬件實(shí)現(xiàn)簡單,Cache地址為地址為主存地址的低幾位,不需變換。主存地址的低幾位,不需變換。l缺點(diǎn):沖突概率高(抖動)缺點(diǎn):沖突概率高(抖動)4、應(yīng)用場合、應(yīng)用場合l適合大容量適合大容量Cache68三、組相聯(lián)映射方式三、組相聯(lián)映射方式l前兩者的組合前兩者的組合lCache分組,組間采用直接映射方式,組內(nèi)采用分組,組間采用直接映射方式,組內(nèi)采用全相聯(lián)的映射方式全相聯(lián)的映射方式lCache分組分組U,組內(nèi)容量,組內(nèi)容量Vl映射方法(一對多)映射方法(一對多)lq= j mod ul主存第主存第j塊內(nèi)容拷貝到塊內(nèi)容拷貝到Cache的的

36、q組中的某行組中的某行l(wèi)地址變換地址變換l設(shè)主存地址設(shè)主存地址x,看是不是在,看是不是在cache中,先中,先y= x mod u,則在則在y組中一次查找組中一次查找693、組相聯(lián)映射方式、組相聯(lián)映射方式l分析:比全相聯(lián)容易實(shí)現(xiàn),沖突低分析:比全相聯(lián)容易實(shí)現(xiàn),沖突低lv=1,則為直接相聯(lián)映射方式,則為直接相聯(lián)映射方式lu=1,則為全相聯(lián)映射方式,則為全相聯(lián)映射方式lv的取值一般比較小,的取值一般比較小, 一般是一般是2的冪,的冪,稱之為稱之為v路組相聯(lián)路組相聯(lián)cache.70713.6.3替換策略替換策略lLFU(最不經(jīng)常使用最不經(jīng)常使用 ):被訪問的行計數(shù)器增加):被訪問的行計數(shù)器增加1,換

37、值小的行,不能反映近期換值小的行,不能反映近期cache的訪問情況,的訪問情況,lLRU(近期最少使用)近期最少使用) :被訪問的行計數(shù)器置:被訪問的行計數(shù)器置0,其,其他的計數(shù)器增加他的計數(shù)器增加1,換值大的行,符合,換值大的行,符合cache的工作的工作原理原理l隨機(jī)替換:隨機(jī)替換:隨機(jī)替換策略實(shí)際上是不要什么算法,從隨機(jī)替換策略實(shí)際上是不要什么算法,從特定的行位置中隨機(jī)地選取一行換出即可。這種策略特定的行位置中隨機(jī)地選取一行換出即可。這種策略在硬件上容易實(shí)現(xiàn),且速度也比前兩種策略快。缺點(diǎn)在硬件上容易實(shí)現(xiàn),且速度也比前兩種策略快。缺點(diǎn)是隨意換出的數(shù)據(jù)很可能馬上又要使用,從而降低命是隨意換出

38、的數(shù)據(jù)很可能馬上又要使用,從而降低命中率和中率和cache工作效率。但這個不足隨著工作效率。但這個不足隨著cache容量容量增大而減小。隨機(jī)替換策略的功效只是稍遜于前兩種增大而減小。隨機(jī)替換策略的功效只是稍遜于前兩種策略。策略。723.6.3替換策略替換策略l例子:設(shè)例子:設(shè)cachecache有有1 1、2 2、3 3、4 4共共4 4個塊,個塊,a a、b b、c c、d d等為主存中的塊等為主存中的塊, ,訪問順序一次如訪問順序一次如下:下:a a、b b、c c、d d、b b、b b、c c、c c、d d、d d、a ,a ,下次若要再訪問下次若要再訪問e e塊。塊。問,采用問,采

39、用LFULFU和和LRULRU算法替換結(jié)果是不是相算法替換結(jié)果是不是相同?同? 73LFULFU(最不經(jīng)常使用)(最不經(jīng)常使用)LRULRU(近期最少使用)(近期最少使用)說明說明1 1塊塊2 2塊塊3 3塊塊4 4塊塊說明說明1 1塊塊2 2塊塊3 3塊塊4 4塊塊a aa a進(jìn)入進(jìn)入1 10 00 00 0a a進(jìn)入進(jìn)入0 01 11 11 1b bb b進(jìn)入進(jìn)入1 11 10 00 0b b進(jìn)入進(jìn)入1 10 02 22 2c cc c進(jìn)入進(jìn)入1 11 11 10 0c c進(jìn)入進(jìn)入2 21 10 03 3d dd d進(jìn)入進(jìn)入1 11 11 11 1d d進(jìn)入進(jìn)入3 32 21 10 0b

40、b命中命中1 12 21 11 1命中命中4 40 02 21 1b b命中命中1 13 31 11 1命中命中5 50 03 32 2c c命中命中1 13 32 21 1命中命中6 61 10 03 3c c命中命中1 13 33 31 1命中命中7 72 20 04 4d d命中命中1 13 33 32 2命中命中8 83 31 10 0d d命中命中1 13 33 33 3命中命中9 94 42 20 0a a命中命中2 23 33 33 3命中命中0 05 53 31 1e e替換替換a a1 10 00 00 0替換替換b b1 10 04 42 2743.6.4寫操作策略寫操作策

41、略l由于由于cache的內(nèi)容只是主存部分內(nèi)容的拷貝,的內(nèi)容只是主存部分內(nèi)容的拷貝,它應(yīng)當(dāng)與主存內(nèi)容保持一致。而它應(yīng)當(dāng)與主存內(nèi)容保持一致。而CPU對對cache的寫入更改了的寫入更改了cache的內(nèi)容。如何與主存內(nèi)容的內(nèi)容。如何與主存內(nèi)容保持一致,可選用如下三種寫操作策略。保持一致,可選用如下三種寫操作策略。寫回法:換出時,對行的修改位進(jìn)行判斷,決定是寫回法:換出時,對行的修改位進(jìn)行判斷,決定是寫回還是舍掉。寫回還是舍掉。全寫法:寫命中時,全寫法:寫命中時,Cache與內(nèi)存一起寫與內(nèi)存一起寫寫一次法:與寫回法一致,但是第一次寫一次法:與寫回法一致,但是第一次Cache命中命中時采用全寫法。時采用

42、全寫法。753.6.5 Pentium PC的的Cache1、主要包括四個部分:、主要包括四個部分:l取指取指/譯碼單元:譯碼單元:l順序從順序從L2cache中取程序指令,將它們譯成一系列的微指令,中取程序指令,將它們譯成一系列的微指令,并存入并存入L1指令指令cache中。中。l亂序執(zhí)行邏輯:亂序執(zhí)行邏輯:l依據(jù)數(shù)據(jù)相關(guān)性和資源可用性,調(diào)度微指令的執(zhí)行,因而微指依據(jù)數(shù)據(jù)相關(guān)性和資源可用性,調(diào)度微指令的執(zhí)行,因而微指令可按不同于所取機(jī)器指令流的順序被調(diào)度執(zhí)行。令可按不同于所取機(jī)器指令流的順序被調(diào)度執(zhí)行。l執(zhí)行單元:執(zhí)行單元:l它執(zhí)行微指令,從它執(zhí)行微指令,從L1數(shù)據(jù)數(shù)據(jù)cache中取所需數(shù)據(jù),并在寄存器組中取所需數(shù)據(jù),并在寄存器組中暫存運(yùn)算結(jié)果。

溫馨提示

  • 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

提交評論