第四章內(nèi)存儲器接口的基本技術(shù)_第1頁
第四章內(nèi)存儲器接口的基本技術(shù)_第2頁
第四章內(nèi)存儲器接口的基本技術(shù)_第3頁
第四章內(nèi)存儲器接口的基本技術(shù)_第4頁
第四章內(nèi)存儲器接口的基本技術(shù)_第5頁
已閱讀5頁,還剩176頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第四章第四章 內(nèi)存儲器接口的基本技術(shù)內(nèi)存儲器接口的基本技術(shù)4 41 1 存儲器分類存儲器分類4 42 2 隨機存取存儲器隨機存取存儲器RAMRAM4 43 3 只讀存儲器只讀存儲器ROMROM4 44 CPU4 CPU與存儲器的連接與存儲器的連接4 45 5 典型的半導(dǎo)體芯片舉例典型的半導(dǎo)體芯片舉例 4 41 1 存儲器分類存儲器分類u存儲器是計算機存儲器是計算機( (包括微機包括微機) )硬件系統(tǒng)的重要組成部分硬件系統(tǒng)的重要組成部分u有了存儲器,計算機才具有有了存儲器,計算機才具有“記憶記憶”功能功能u才能把程序及數(shù)據(jù)的代碼保存起來才能把程序及數(shù)據(jù)的代碼保存起來u才能使計算機系統(tǒng)脫離人的干預(yù)

2、才能使計算機系統(tǒng)脫離人的干預(yù)u而自動完成信息處理的功能而自動完成信息處理的功能一、按用途分類一、按用途分類內(nèi)部存儲器、外部存儲器內(nèi)部存儲器、外部存儲器1 1、內(nèi)部存儲器、內(nèi)部存儲器 也稱內(nèi)存,是主存儲器,位于主機內(nèi)部,存放當前正在使用或經(jīng)常使也稱內(nèi)存,是主存儲器,位于主機內(nèi)部,存放當前正在使用或經(jīng)常使用的程序和數(shù)據(jù),可供用的程序和數(shù)據(jù),可供CPUCPU直接訪問。一般由半導(dǎo)體存儲器件構(gòu)成。直接訪問。一般由半導(dǎo)體存儲器件構(gòu)成。特點:存取速度較快特點:存取速度較快; ;容量大小受到地址總線位數(shù)的限制容量大小受到地址總線位數(shù)的限制80868086系統(tǒng)是系統(tǒng)是2020條地址總線,可尋址內(nèi)存空間為條地址總

3、線,可尋址內(nèi)存空間為1MB1MB8038680386系統(tǒng)是系統(tǒng)是3232條地址總線,可尋址內(nèi)存空間為條地址總線,可尋址內(nèi)存空間為4GB4GBPP以上系統(tǒng)是以上系統(tǒng)是3636條地址總線,可尋址內(nèi)存空間為條地址總線,可尋址內(nèi)存空間為64GB64GB存放系統(tǒng)軟件(系統(tǒng)引導(dǎo)程序、監(jiān)控程序或操作系統(tǒng)的存放系統(tǒng)軟件(系統(tǒng)引導(dǎo)程序、監(jiān)控程序或操作系統(tǒng)的BIOSBIOS)和當前要)和當前要運行的應(yīng)用程序運行的應(yīng)用程序2 2、外部存儲器、外部存儲器 也稱外存,是輔助存儲器,一般由磁表面存儲器件構(gòu)成。也稱外存,是輔助存儲器,一般由磁表面存儲器件構(gòu)成。特點:存取速度較慢特點:存取速度較慢; ;存儲容量大,要由專用的

4、設(shè)備來管理,配存儲容量大,要由專用的設(shè)備來管理,配置專門的驅(qū)動設(shè)備才能訪問外存置專門的驅(qū)動設(shè)備才能訪問外存( (軟盤驅(qū)動器、硬盤驅(qū)動器、軟盤驅(qū)動器、硬盤驅(qū)動器、光盤驅(qū)動器等光盤驅(qū)動器等) )微機中常見的外存有:軟盤、硬盤、光盤、微縮膠片等微機中常見的外存有:軟盤、硬盤、光盤、微縮膠片等計算機啟動一般由內(nèi)存計算機啟動一般由內(nèi)存ROMROM中的引導(dǎo)程序啟動系統(tǒng),再從外存中中的引導(dǎo)程序啟動系統(tǒng),再從外存中讀取系統(tǒng)程序和應(yīng)用程序,送到內(nèi)存的讀取系統(tǒng)程序和應(yīng)用程序,送到內(nèi)存的RAMRAM,程序運行的中間,程序運行的中間結(jié)果放在結(jié)果放在RAMRAM中,程序運行結(jié)束時將最后結(jié)果存入外存。中,程序運行結(jié)束時將

5、最后結(jié)果存入外存。二、按存儲器性質(zhì)分類二、按存儲器性質(zhì)分類只讀存儲器只讀存儲器(ROM)(ROM)、隨機存儲器、隨機存儲器(RAM)(RAM)。(1 1)隨機存取存儲器)隨機存取存儲器RAMRAM(Random Access MemoryRandom Access Memory):):RAMRAM中中的任意一個存的任意一個存儲單元都可被隨機讀寫,且存取時間與存儲單元的物理位置無關(guān),讀寫儲單元都可被隨機讀寫,且存取時間與存儲單元的物理位置無關(guān),讀寫速度較快。速度較快。RAMRAM主要用來存放輸入、輸出數(shù)據(jù)及中間結(jié)果并與外存儲器交主要用來存放輸入、輸出數(shù)據(jù)及中間結(jié)果并與外存儲器交換信息。換信息。

6、RAMRAM可分為兩種:可分為兩種: SRAM SRAM靜態(tài)靜態(tài)RAMRAM(Static RAMStatic RAM) 速度非常快,有電存儲的內(nèi)容不會消失,集成度較低(速度非常快,有電存儲的內(nèi)容不會消失,集成度較低(6 6各各MOSMOS管組成管組成1 1位),功耗較大。一般是構(gòu)成高速緩沖存儲器(位),功耗較大。一般是構(gòu)成高速緩沖存儲器(Cache memoryCache memory)存儲器)存儲器件。件。 DRAMDRAM的運行速度比的運行速度比SRAMSRAM慢慢2 25 5倍。一般倍。一般PCPC機的標準存儲器都由機的標準存儲器都由DRAMDRAM組成組成 DRAM DRAM動態(tài)動態(tài)

7、RAMRAM(Dynamic RAMDynamic RAM) 必須周期性的在內(nèi)容消失之前刷新(必須周期性的在內(nèi)容消失之前刷新(RefreshRefresh)(DRAM(DRAM的內(nèi)容會在的內(nèi)容會在10103 3或或10106 6秒后消失秒后消失) ) 基本存儲電路由一個晶體管和一個電容構(gòu)成,集成度高,功耗小,成本基本存儲電路由一個晶體管和一個電容構(gòu)成,集成度高,功耗小,成本低,但需一個額外的刷新電路低,但需一個額外的刷新電路 DRAMDRAM的運行速度比的運行速度比SRAMSRAM慢慢2 25 5倍。一般倍。一般PCPC機的標準存儲器都由機的標準存儲器都由DRAMDRAM組成組成(2 2)只讀

8、存儲器)只讀存儲器ROM(ReadROM(Read Only Memory) Only Memory):ROMROM中所存儲的內(nèi)容是固定中所存儲的內(nèi)容是固定不變的,即只能讀出不能寫入。不變的,即只能讀出不能寫入。ROMROM一般用來存放微機的系統(tǒng)管理程一般用來存放微機的系統(tǒng)管理程序、監(jiān)控程序等。序、監(jiān)控程序等。 ROMROM按集成電路內(nèi)部結(jié)構(gòu)不同,可分為三種:按集成電路內(nèi)部結(jié)構(gòu)不同,可分為三種: PROMPROM可編程的可編程的ROMROM(ProgramableProgramable ROM ROM) 將設(shè)計的程序固化進去后,將設(shè)計的程序固化進去后,ROMROM內(nèi)容不可更改內(nèi)容不可更改 EP

9、ROMEPROM可擦除、可編程的可擦除、可編程的ROMROM(Erasable PROMErasable PROM)可編程固化程序,但可通過紫外光照擦除固化程序,以便重新固化程序可編程固化程序,但可通過紫外光照擦除固化程序,以便重新固化程序 EEPROMEEPROM電可擦除可編程的電可擦除可編程的ROMROM(Electrically Erasable PROMElectrically Erasable PROM) 可編程固化程序,但可用電擦除固化程序,以便重新固化程序可編程固化程序,但可用電擦除固化程序,以便重新固化程序圖圖 存儲器的分類存儲器的分類其中,光盤不是磁表面存儲器件其中,光盤不是

10、磁表面存儲器件內(nèi)部存儲器內(nèi)部存儲器(半導(dǎo)體存儲器)(半導(dǎo)體存儲器) RAM ROM SRAM(靜態(tài)(靜態(tài)RAM) DRAM(動態(tài)(動態(tài)RAM)PROMEPROMEEPROM外部存儲器外部存儲器(磁表面存儲器)(磁表面存儲器)硬盤硬盤軟盤軟盤磁帶磁帶光盤光盤存儲器存儲器三、三、 存儲器的體系結(jié)構(gòu)存儲器的體系結(jié)構(gòu)1. 1. 存儲體系的組成存儲體系的組成 計算機對計算機對存儲器的基本要求是容量大、速度快和成本低,存儲器的基本要求是容量大、速度快和成本低,盡量少出盡量少出錯,平均無故障間隔時間要長。錯,平均無故障間隔時間要長。三、三、 存儲器的體系結(jié)構(gòu)存儲器的體系結(jié)構(gòu)1. 1. 存儲體系的組成存儲體系

11、的組成 要想在一個存儲器中同時兼顧這些指標是很困難的,為了要想在一個存儲器中同時兼顧這些指標是很困難的,為了解決存儲器的容量、速度和價格之間的矛盾,人們除了不斷研解決存儲器的容量、速度和價格之間的矛盾,人們除了不斷研制新的存儲器件和改進存儲性能外,還從存儲系統(tǒng)體系上研究制新的存儲器件和改進存儲性能外,還從存儲系統(tǒng)體系上研究合理的結(jié)構(gòu)模式。合理的結(jié)構(gòu)模式。把多種類型的存儲器有機地組成存儲體系,可以如圖所示。把多種類型的存儲器有機地組成存儲體系,可以如圖所示。 CPU工作寄存器內(nèi)存外存0級存儲器1級存儲器2級存儲器容量 大速度慢價格低調(diào)用方向間接直接保存方向 非易失易失CPUM0M2M1 圖 存儲

12、體系的組成 2. 2. 存儲系統(tǒng)的多級層次結(jié)構(gòu)存儲系統(tǒng)的多級層次結(jié)構(gòu)把各種不同存儲容量、存取速度和價格的存儲器按層次結(jié)構(gòu)組成多層存儲器,并通過管理軟件和輔助硬件有機組合成統(tǒng)一的整體,使所存放的程序和數(shù)據(jù)按層次分布在各種存儲器中,形成存儲系統(tǒng)的多級層次結(jié)構(gòu)。2. 2. 存儲系統(tǒng)的多級層次結(jié)構(gòu)存儲系統(tǒng)的多級層次結(jié)構(gòu)在計算機系統(tǒng)中通常采用三級層次結(jié)構(gòu)來構(gòu)成存儲系統(tǒng),主要由高速緩沖存儲器Cache、主存儲器和輔助存儲器組成,如圖4-2所示。 CPU 高速緩存 主存儲器 I/O 控制電路 高速緩存 輔存 磁盤 光盤 磁帶 圖 存儲系統(tǒng)的多級層次結(jié)構(gòu) 四、四、 主要性能指標主要性能指標存儲器的主要性能指標

13、反映了計算機對它們的要求,存儲器系統(tǒng)的三項主要性能指標要求是【容量】、【速度】和【可靠性】 四、四、 主要性能指標主要性能指標1. 1. 存儲容量存儲容量是指存儲器可以存儲的二進制信息總量,是存儲器系統(tǒng)的首要性能指標,因為存儲容量越大,則系統(tǒng)能夠保存的信息量就越多,相應(yīng)計算機系統(tǒng)的功能就越強。 四、四、 主要性能指標主要性能指標1. 1. 存儲容量存儲容量目前使用的存儲容量達MB(兆字節(jié))、GB(千兆字節(jié))、TB(兆兆字節(jié))或更大的存儲空間。存儲容量通常以字節(jié)(Byte)為單位來表示,各層次之間的換算關(guān)系為: 1KB=210B=1024B;1MB=220B=1024KB; 1GB=230B=1

14、024MB;1TB=240B=1024GB 2. 2. 存取速度存取速度直接決定了整個微機系統(tǒng)的運行速度,因此,存取速度也是存儲器系統(tǒng)的重要的性能指標;存儲器的存取速度可以用存取時間和存取周期來衡量。(1)存取時間:是指完成一次存儲器讀/寫操作所需要的時間,故又稱讀寫時間。具體是指從存儲器接收到尋址地址開始,到取出或存入數(shù)據(jù)為止所需要的時間。 (2)存取周期:是連續(xù)進行讀/寫操作的所需的最小時間間隔。當CPU采用同步時序控制方式時,對存儲器讀、操作的時間安排,應(yīng)不小于讀取和寫入周期中的最大值。這個值也確定了存儲器總線傳輸時的最高速率。 3、存儲器可靠性:也是存儲器系統(tǒng)的重要性能指標。通常用平均

15、故障間隔時間來衡量。 為了在存儲器系統(tǒng)中兼顧以上三個方面的指標,目前在計算機系統(tǒng)中通常采用三級存儲器結(jié)構(gòu),即使用高速緩沖存儲器、主存儲器和輔助存儲器,由這三者構(gòu)成一個統(tǒng)一的存儲系統(tǒng)。從整體看,其速度接近高速緩存的速度,其容量接近輔存的容量,而其成本則接近廉價慢速的輔存平均價格。 52 隨機存儲器(Random Access Memory,RAM):在微機系統(tǒng)的工作過程中,可以隨機地對其中的各個存儲單元進行讀寫操作。 半導(dǎo)體存儲器RAMROMSRAMDRAM掩膜ROMPROMEPROMEEPROMFlash ROM一、靜態(tài)隨機存儲器(Static RAM,SRAM) SRAM其存儲電路是以雙穩(wěn)態(tài)

16、觸發(fā)器為基礎(chǔ),只要不掉電,信息永不會丟失,不需要刷新電路。SRAM的主要性能是:存取速度快、功耗較大、容量較小。它一般適用于構(gòu)成高速緩沖存儲器(Cache)。 VCC(+5V)T3T2T1T4VCCT3T1T4T2X地址譯碼線ABD0D0T5T6T7T8(I/O)I/O接Y地址譯碼器AB圖5-1(a)圖5-1(b)1.靜態(tài)RAM的構(gòu)成 基本存儲單元靜態(tài)RAM的基本存儲單元是由兩個增強型的NM0S反相器交叉耦合而成的觸發(fā)器,每個基本的存儲單元由六個MOS管構(gòu)成,所以,靜態(tài)存儲電路又稱為六管靜態(tài)存儲電路。圖圖5-1(a)5-1(a)為六管靜態(tài)存儲單元的原理示意圖。其中為六管靜態(tài)存儲單元的原理示意圖

17、。其中T1T1、T2T2為控制管,為控制管,T3T3、T4T4為負載管。這個電路具有兩個相對的穩(wěn)態(tài)狀態(tài),若為負載管。這個電路具有兩個相對的穩(wěn)態(tài)狀態(tài),若TlTl管截管截止則止則A A“l(fā)”(l”(高電平高電平) ),它使,它使T2T2管開啟,于是管開啟,于是B B“0”(0”(低電平低電平) ),而而B B“0”0”又進一步保證了又進一步保證了T1T1管的截止。所以,這種狀態(tài)在沒有管的截止。所以,這種狀態(tài)在沒有外觸發(fā)的條件下是穩(wěn)定不變的。外觸發(fā)的條件下是穩(wěn)定不變的。同樣,同樣,T1T1管導(dǎo)通即管導(dǎo)通即A A“0”(0”(低電平低電平) ),T2T2管截止即管截止即B B“1”(1”(高電高電平平

18、) )的狀態(tài)也是穩(wěn)定的。因此,可以用這個電路的兩個相對穩(wěn)定的狀態(tài)也是穩(wěn)定的。因此,可以用這個電路的兩個相對穩(wěn)定的狀態(tài)來分別表示邏輯的狀態(tài)來分別表示邏輯“1”1”和邏輯和邏輯“0”0”。當把觸發(fā)器作為存儲電路時,就要使其能夠接收外界來的觸發(fā)控制信號,用當把觸發(fā)器作為存儲電路時,就要使其能夠接收外界來的觸發(fā)控制信號,用以讀出或改變該存儲單元的狀態(tài),這樣就形成了如圖以讀出或改變該存儲單元的狀態(tài),這樣就形成了如圖5-l(b)5-l(b)所示的六管所示的六管基本存儲電路。其中基本存儲電路。其中T5T5、T6T6為門控管。為門控管。當當X X譯碼輸出線為高電平時,譯碼輸出線為高電平時,T5T5、T6T6管

19、導(dǎo)通,管導(dǎo)通,A A、B B端就分別與位線端就分別與位線D0D0及及D0D0相相連;若相應(yīng)的連;若相應(yīng)的Y Y譯碼輸出也是高電平,則譯碼輸出也是高電平,則T7T7、T8T8管管( (它們是一列公用的,它們是一列公用的,不屬于某一個存儲單元不屬于某一個存儲單元) )也是導(dǎo)通的,于是也是導(dǎo)通的,于是D0D0及及D0(D0(這是存儲單元內(nèi)部的這是存儲單元內(nèi)部的位線位線) )就與輸入就與輸入/ /輸出電路的輸出電路的I/OI/O線及線及I/OI/O線相通。線相通。寫入操作:寫入信號自I/O線及I/O線輸入,如要寫入“1”,則I/O線為高電平而I/O線為低電平,它們通過T7、T8管和T5、T6管分別與A

20、端和B端相連,使A=“1”,B=“0”,即強迫T2管導(dǎo)通,Tl管截止,相當于把輸入電荷存儲于Tl和T2管的柵級。當輸入信號及地址選擇信號消失之后,T5、T6、T7、T8都截止。由于存儲單元有電源及負載管,可以不斷地向柵極補充電荷,依靠兩個反相器的交叉控制,只要不掉電,就能保持寫入的信息“1”,而不用再生(刷新)。若要寫入“0”,則I/O線為低電乎而I/O線為高電平,使Tl管導(dǎo)通,T 2管截止即A=“0”,B=“1”。讀操作:只要某一單元被選中,相應(yīng)的T5、T6、T7、T8均導(dǎo)通,A點與B點分別通過T5、T6管與D0及D0相通,D0及D0又進一步通過T7、T8管與I/O及I/O線相通,即將單元的

21、狀態(tài)傳送到I/O及I/O線上。由此可見,這種存儲電路的讀出過程是非破壞性的,即信息在讀出之后,原存儲電路的狀態(tài)不變。3232=1024存儲單元驅(qū)動器X譯碼器地址反向器I/O電路Y譯碼器地址反向器控制電路輸出驅(qū)動12321232輸入輸出321231讀/寫選片1A0A2A3A4A5A6A7A8A9A321231圖5-2 存儲器芯片的內(nèi)部結(jié)構(gòu)框圖p210n存儲器的系統(tǒng)結(jié)構(gòu)存儲器的系統(tǒng)結(jié)構(gòu)一般情況下,一個存儲器系統(tǒng)由以下幾部分組成。一般情況下,一個存儲器系統(tǒng)由以下幾部分組成。1 1 基本存儲單元:基本存儲單元: 一個基本存儲單元可以存放一位二進制信息,其內(nèi)一個基本存儲單元可以存放一位二進制信息,其內(nèi)部

22、具有兩個穩(wěn)定的且相互對立的狀態(tài),并能夠在外部具有兩個穩(wěn)定的且相互對立的狀態(tài),并能夠在外部對其狀態(tài)進行識別和改變。部對其狀態(tài)進行識別和改變。 不同類型的基本存儲單元,決定了由其所組成的存不同類型的基本存儲單元,決定了由其所組成的存儲器件的類型不同。儲器件的類型不同。 n存儲器的系統(tǒng)結(jié)構(gòu)存儲器的系統(tǒng)結(jié)構(gòu)2 2 存儲體:存儲體:一個基本存儲單元只能保存一位二進制信息,若要存放一個基本存儲單元只能保存一位二進制信息,若要存放M MN N個二進制信息,就需要用個二進制信息,就需要用M MN N個基本存儲單元,它們按一個基本存儲單元,它們按一定的規(guī)則排列起來,由這些基本存儲單元所構(gòu)成的陣列稱為存定的規(guī)則排

23、列起來,由這些基本存儲單元所構(gòu)成的陣列稱為存儲體或存儲矩陣。儲體或存儲矩陣。3 3 地址譯碼器:地址譯碼器:由于存儲器系統(tǒng)是由許多存儲單元構(gòu)成的,每個存儲單元一般存由于存儲器系統(tǒng)是由許多存儲單元構(gòu)成的,每個存儲單元一般存放放8 8位二進制信息,為了加以區(qū)分,必須首先為這些存儲單元編號,位二進制信息,為了加以區(qū)分,必須首先為這些存儲單元編號,即分配給這些存儲單元不同的地址。即分配給這些存儲單元不同的地址。地址譯碼器的作用就是用來接受地址譯碼器的作用就是用來接受CPUCPU送來的地址信號并對它進行送來的地址信號并對它進行譯碼,選擇與此地址碼相對應(yīng)的存儲單元,以便對該單元進行讀譯碼,選擇與此地址碼相

24、對應(yīng)的存儲單元,以便對該單元進行讀/ /寫操作。寫操作。3 3 地址譯碼器地址譯碼器存儲器地址譯碼有兩種方式,通常稱為單譯碼與雙譯碼。存儲器地址譯碼有兩種方式,通常稱為單譯碼與雙譯碼。單譯碼:單譯碼:單譯碼方式又稱字結(jié)構(gòu),適用于小容量存儲器。單譯碼方式又稱字結(jié)構(gòu),適用于小容量存儲器。雙譯碼:雙譯碼:雙譯碼結(jié)構(gòu)中,將地址譯碼器分成兩部分,即行譯碼器雙譯碼結(jié)構(gòu)中,將地址譯碼器分成兩部分,即行譯碼器( (又叫又叫X X譯碼器譯碼器) )和列譯碼器和列譯碼器( (又叫又叫Y Y譯碼器譯碼器) )。X X譯碼器輸出行地址譯碼器輸出行地址選擇信號,選擇信號,Y Y譯碼器輸出列地址選擇信號,行列選擇線交叉處

25、即譯碼器輸出列地址選擇信號,行列選擇線交叉處即為所選中的單元。為所選中的單元。4. 片選與讀/寫控制電路:片選信號用以實現(xiàn)芯片的選擇。對于一個芯片來講,只有當片選信號有效時,才能對其進行讀/寫操作。片選信號一般由地址譯碼器的輸出及一些控制信號來形成,而讀/寫控制電路則用來控制對芯片的讀/寫操作。 5 I/O電路:I/O電路位于系統(tǒng)數(shù)據(jù)總線與被選中的存儲單元之間,用來控制信息的讀出與寫入,必要時,還可包含對I/O信號的驅(qū)動及放大處理功能。 6 集電極開路或三態(tài)輸出緩沖器:為了擴充存儲器系統(tǒng)的容量,常常需要將幾片RAM芯片的數(shù)據(jù)線并聯(lián)使用或與雙向的數(shù)據(jù)線相連,這就要用到集電極開路或三態(tài)輸出緩沖器。

26、 7 其它外圍電路:對不同類型的存儲器系統(tǒng),有時,還專門需要一些特殊的外圍電路,如動態(tài)RAM中的預(yù)充電及刷新操作控制電路等,這也是存儲器系統(tǒng)的重要組成部分。 nSRAM芯片61166116芯片的容量為2 K8 bit,有2048個存儲單元,需11根地址線,7根用于行地址譯碼輸入,4根用于列譯碼地址輸入,每條列線控制8位,從而形成了128128個存儲陣列,即16 384個存儲體。6116的控制線有三條,片選CS、輸出允許OE和讀寫控制WE。A71A62A53A44A35A26A17A08D09D110D211GND12242322212019181716151413VCCA8A9WEOEA10C

27、SD7D6D5D4D3行譯碼128128存儲矩陣A10A4列I/O列譯碼輸入數(shù)據(jù)控制邏輯D7D0CSWEOEA3A0nSRAM芯片6116nIntel 6116存儲器芯片的工作過程如下: 讀出時,地址輸入線A10A0送來的地址信號經(jīng)地址譯碼器送到行、列地址譯碼器,經(jīng)譯碼后選中一個存儲單元(其中有8個存儲位),由CS、OE、WE構(gòu)成讀出邏輯(CS=0,OE=0,WE=1),打開右面的8個三態(tài)門,被選中單元的8位數(shù)據(jù)經(jīng)I/O電路和三態(tài)門送到D7D0輸出。 nSRAM芯片6116nIntel 6116存儲器芯片的工作過程如下: 寫入時,地址選中某一存儲單元的方法和讀出時相同,不過這時CS=0,OE=

28、1,WE=0,打開左邊的三態(tài)門,從D7D0端輸入的數(shù)據(jù)經(jīng)三態(tài)門和輸入數(shù)據(jù)控制電路送到I/O電路,從而寫到存儲單元的8個存儲位中。當沒有讀寫操作時,CS=1,即片選處于無效狀態(tài),輸入輸出三態(tài)門至高阻狀態(tài),從而使存儲器芯片與系統(tǒng)總線“脫離”。 6116的存取時間在85150 ns之間。. 靜態(tài)RAM存儲器芯片Intel 2114Intel 2114是一種1K4的靜態(tài)RAM存儲器芯片,其最基本的存儲單元就是如上所述的六管存儲電路,其它的典型芯片有Ietel 6264/62256等。 芯片的內(nèi)部結(jié)構(gòu)如圖5-2所示,它包括下列幾個主要組成部分:圖5-3 Intel2114靜態(tài)存儲器芯片的內(nèi)部結(jié)構(gòu)框圖 存

29、儲矩陣:Intel2114內(nèi)部共有4096個存儲電路,排成6464的短陣形式; 地址譯碼器:輸入為10根線,采用兩級譯碼方式,其中6根用于行譯碼,4根用于列譯碼; I/O控制電路:分為輸入數(shù)據(jù)控制電路和列IO電路,用于對信息的輸入輸出進行緩沖和控制; 片選及讀寫控制電路:用于實現(xiàn)對芯片的選擇及讀寫控制。(2)Intel 2114的外部結(jié)構(gòu)Intel2114RAM存儲器芯片為雙列直插式集成電路芯片,共有18個引腳,引腳圖如圖5-3所示,各引腳的功能如下: A0-A9 A0-A9:10根地址信號輸入引腳。123456789181716151413121110A1A2A3A4A5A6A0CSGNDV

30、CCA7A8A9I/O1I/O2I/O3I/O4WE引腳圖 圖5-3 Intel 2114引腳圖 WE : 讀寫控制信號輸入引腳,當WE為低電平時,使輸入三態(tài)門導(dǎo)通,信息由數(shù)據(jù)總線通過輸入數(shù)據(jù)控制電路寫入被選中的存儲單元;反之從所選中的存儲單元讀出信息送到數(shù)據(jù)總線。 I/O1-I/O4 I/O1-I/O4 :4根數(shù)據(jù)輸入輸出信號引腳 CS CS :低電平有效,通常接地址譯碼器的輸出端。 +5V +5V:電源。 GND GND:地。2、動態(tài)隨機存取存儲器DRAM 動態(tài)RAM基本存儲單元靜態(tài)RAM的基本存儲單元是一個RS觸發(fā)器,因此,其狀態(tài)是穩(wěn)定的,但由于每個基本存儲單元需由6個MOS管構(gòu)成,就大

31、大地限制了RAM芯片的集成度。DRAM是依靠電容來存儲信息,電路簡單集成度高,但電容漏電,信息會丟失,故需要專用電路定期進行刷新。DRAM的主要性能是:容量大、功耗較小、速度較慢。它被廣泛地用作內(nèi)存貯器的芯片。 如圖5-4所示,就是一個動態(tài)RAM的基本存儲單元,它由一個MOS管Q和位于其柵極上的分布電容C構(gòu)成。當柵極電容C上充有電荷時,表示該存儲單元保存信息“1”。反之,當柵極電容上沒有電荷時,表示該單元保存信息“0”。由于柵極電容上的充電與放電是兩個對立的狀態(tài),因此,它可以作為一種基本的存儲單元。 圖5-4 單管動態(tài)存儲單元寫操作:行選擇線為高電平,Q管導(dǎo)通,寫信號通過位線存入電容C中;讀操

32、作:行選擇線仍為高電平,存儲在電容C上的電荷,通過Q輸出到數(shù)據(jù)線上,通過讀出放大器,即可得到所保存的信息。刷新:動態(tài)RAM存儲單元實質(zhì)上是依靠Q管柵極電容的充放電原理來保存信息的。時間一長,電容上所保存的電荷就會泄漏,造成了信息的丟失。因此,在動態(tài)RAM的使用過程中,必須及時地向保存“1”的那些存儲單元補充電荷,以維持信息的存在。這一過程,就稱為動態(tài)存儲器的刷新操作。 動態(tài)RAM存儲器芯片Intel 2164AIntel2164A是一種64K1的動態(tài)RAM存儲器芯片,它的基本存儲單元就是采用單管存儲電路,其它的典型芯片有Intel 21256/21464等。 Intel 2164A的內(nèi)部結(jié)構(gòu)如

33、圖5-5所示,其主要組成部分如下:8位地址鎖存器1/4I/O門 輸出緩沖器A0A1A2A3A4A5A6A7DOUTVDDVSS行時鐘緩沖器列時鐘緩沖器寫允許時鐘緩沖器數(shù)據(jù)輸入緩沖器RASCASWEDIN128128存儲矩陣1/128行譯碼器128128存儲矩陣128讀出放大器1/2(1/128列譯碼器)128讀出放大器128讀出放大器128讀出放大器1/2(1/128列譯碼器)128128存儲矩陣128128存儲矩陣1/128行譯碼器圖5-5 Intel 2164A內(nèi)部結(jié)構(gòu) 存儲體:64K1的存儲體由4個128128的存儲陣列構(gòu)成; 地址鎖存器:由于Intel 2164A采用雙譯碼方式,故其1

34、6位地址信息要分兩次送入芯片內(nèi)部。但由于封裝的限制,這16位地址信息必須通過同一組引腳分兩次接收,因此,在芯片內(nèi)部有一個能保存8位地址信息的地址鎖存器; 數(shù)據(jù)輸入緩沖器: 用以暫存輸入的數(shù)據(jù); 數(shù)據(jù)輸出緩沖器: 用以暫存要輸出的數(shù)據(jù); 1/4I/O門電路:由行、列地址信號的最高位控制,能從相應(yīng)的4個存儲矩陣中選擇一個進行輸入輸出操作; 行、列時鐘緩沖器:用以協(xié)調(diào)行、列地址的選通信號; 寫允許時鐘緩沖器:用以控制芯片的數(shù)據(jù)傳送方向; 128讀出放大器:與4個128128存儲陣列相對應(yīng),共有4個128讀出放大器,它們能接收由行地址選通的4128個存儲單元的信息,經(jīng)放大后,再寫回原存儲單元,是實現(xiàn)刷

35、新操作的重要部分; 1/128行、列譯碼器: 分別用來接收7位的行、列地址,經(jīng)譯碼后,從128128個存儲單元中選擇一個確定的存儲單元,以便對其進行讀/寫操作。 Intel 2164A的外部結(jié)構(gòu)Intel 2164A是具有16個引腳的雙列直插式集成電路芯片,其引腳安排如圖5-6所示。 A0 A0A7A7:地址信號的輸入引腳,用來分時接收CPU送來的8位行、列地址; RAS :行地址選通信號輸入引腳,低電平有效,兼作芯片選擇信號。當RAS為低電平時,表明芯片當前接收的是行地址; 12345678910111213141516N/CDINWERASA0A2A1VDDVSSCASDOUTA6A5A4

36、A3A7圖5-6 Intel 2164A引腳 CAS CAS :列地址選通信號輸入引腳,低電平有效,表明當前正在接收的是列地址(此時RAS應(yīng)保持為低電平);WE WE :寫允許控制信號輸入引腳,當其為低電平時,執(zhí)行寫操作;否則,執(zhí)行讀操作。 D DININ:數(shù)據(jù)輸入引腳; D DOUTOUT:數(shù)據(jù)輸出引腳;VDDVDD:十5V電源引腳; Css Css:地; N/C N/C:未用引腳。 Intel 2164A的工作方式與時序 讀操作在對Intel 2164A的讀操作過程中,它要接收來自CPU的地址信號,經(jīng)譯碼選中相應(yīng)的存儲單元后,把其中保存的一位信息通過DOUT數(shù)據(jù)輸出引腳送至系統(tǒng)數(shù)據(jù)總線。地

37、址WEDOUT有效數(shù)據(jù)輸出RASCAS高阻狀態(tài)列地址行地址tRAStCACtRACtASRtASC圖5-7 Intel 2164A讀操作的時序Intel 2164A的讀操作時序如圖5-7所示。從時序圖中可以看出,讀周期是由行地址選通信號RAS有效開始的,要求行地址要先于RAS信號有效,并且必須在有效后再維持一段時間。同樣,為了保證列地址的可靠鎖存,列地址也應(yīng)領(lǐng)先于列地址鎖存信號CAS有效,且列地址也必須在CAS有效后再保持一段時間。要從指定的單元中讀取信息,必須在RAS有效后,使CAS也有效。由于從RAS有效起到指定單元的信息讀出送到數(shù)據(jù)總線上需要一定的時間,因此,存儲單元中信息讀出的時間就與

38、CAS開始有效的時刻有關(guān)。存儲單元中信息的讀寫,取決于WE控制信號。為實現(xiàn)讀出操作,要求WE控制信號無效,且必須在CAS有效前變?yōu)楦唠娖健?寫操作在Intel 2164A的寫操作過程中,它同樣通過地址總線接收CPU發(fā)來的行、列地址信號,選中相應(yīng)的存儲單元后,把CPU通過數(shù)據(jù)總線發(fā)來的數(shù)據(jù)信息,保存到相應(yīng)的存儲單元中去。Intel2164A的寫操作時序如圖5-8所示。RASCAS地址WEDINDOUT高阻狀態(tài)列地址tRAStASRtASC行地址tWCStDHtDS圖5-8 Intel 2164A寫操作的時序 讀-修改-寫操作這種操作的性質(zhì)類似于讀操作與寫操作的組合,但它并不是簡單地由兩個單獨的讀

39、周期與寫周期組合起來,而是在RAS和CAS同時有效的情況下,由WE信號控制,先實現(xiàn)讀出,待修改之后,再實現(xiàn)寫入。其操作時序如圖5-9所示。CAS地址RASWEDINDOUT高阻狀態(tài)有效數(shù)據(jù)輸出有效行地址列地址tRACtCRPtCRWtASRtCWDtCACtOFF圖5-9 Intel 2164A讀-修改-寫操作的時序 刷新操作Intel 2164A內(nèi)部有4128個讀出放大器,在進行刷新操作時,芯片只接收從地址總線上發(fā)來的行地址(其中RA7不起作用),由RA0RA6共七根行地址線在四個存儲矩陣中各選中一行,共4128個單元,分別將其中所保存的信息輸出到4128個讀出放大器中,經(jīng)放大后,再寫回到原

40、單元,即可實現(xiàn)512個單元的刷新操作。這樣,經(jīng)過128個刷新周期就可完成整個存儲體的刷新。RASCAS地址行地址DOUTtRAStCRFtASR圖5-10 Intel 2164A唯RAS有效刷新操作的時序 數(shù)據(jù)輸出數(shù)據(jù)輸出具有三態(tài)緩沖器,它由CAS控制,當CAS為高電平時,輸出Dout呈高阻抗狀態(tài),在各種操作時的輸出狀態(tài)有所不同。 頁模式操作在這種方式下,維持行地址不變(RAS不變),由連續(xù)的CAS脈沖對不同的列地址進行鎖存,并讀出不同列的信息,而RAS脈沖的寬度有一個最大的上限值。在頁模式操作時,可以實現(xiàn)存儲器讀、寫以及讀-修改-寫等操作。有關(guān)上述時序圖中參數(shù)的具體值,請參考有關(guān)的技術(shù)手冊。

41、三、 高速緩沖存儲器Cache【回顧】 微型系統(tǒng)的存儲器組織,內(nèi)、外存的基本概念,存儲器系統(tǒng)的容量、存取速度及成本等項性能指標及其相互關(guān)系?!颈局v重點】高速緩沖存儲器Cache的基本概念與作用,Cache-主存存儲結(jié)構(gòu)及其實現(xiàn),Cache的基本操作,地址映象方式,替換策略,虛擬存儲器的基本概念及實現(xiàn)方法。1、問題的提出微機系統(tǒng)中的內(nèi)部存儲器通常采用動態(tài)RAM構(gòu)成,具有價格低,容量大的特點,但由于動態(tài)RAM采用MOS管電容的充放電原理來表示與存儲信息,其存取速度相對于CPU的信息處理速度來說較低。這就導(dǎo)致了兩者速度的不匹配,也就是說,慢速的存儲器限制了高速CPU的性能,影響了微機系統(tǒng)的運行速度,

42、并限制了計算機性能的進一步發(fā)揮和提高。高速緩沖存儲器就是在這種情況下產(chǎn)生的。2 2、存儲器訪問的局部性、存儲器訪問的局部性微機系統(tǒng)進行信息處理的過程就是執(zhí)行程序的過程,微機系統(tǒng)進行信息處理的過程就是執(zhí)行程序的過程,這時,這時,CPUCPU需要頻繁地與內(nèi)存進行數(shù)據(jù)交換,需要頻繁地與內(nèi)存進行數(shù)據(jù)交換,包括取指令代碼及數(shù)據(jù)的讀寫操作。包括取指令代碼及數(shù)據(jù)的讀寫操作。通過對大量典型程序的運行情況分析結(jié)果表明通過對大量典型程序的運行情況分析結(jié)果表明: :在一個較短的時間內(nèi),取指令代碼的操作往往集中在存儲器邏輯地址空在一個較短的時間內(nèi),取指令代碼的操作往往集中在存儲器邏輯地址空間的很小范圍內(nèi)(因為在多數(shù)情

43、況下,指令是順序執(zhí)行的,因此指令間的很小范圍內(nèi)(因為在多數(shù)情況下,指令是順序執(zhí)行的,因此指令代碼地址的分布就是連續(xù)的,再加上循環(huán)程序段和子程序段都需要重代碼地址的分布就是連續(xù)的,再加上循環(huán)程序段和子程序段都需要重復(fù)執(zhí)行多次,因此對這些局部存儲單元的訪問就自然具有時間上集中復(fù)執(zhí)行多次,因此對這些局部存儲單元的訪問就自然具有時間上集中分布的傾向);分布的傾向);數(shù)據(jù)讀寫操作的這種集中性傾向雖不如取指令代碼那么明顯,但對數(shù)組的存儲和訪問以及工作單元的選擇也可以使存儲器單元相對集中。這種對局部范圍的存儲器單元的防問比較頻繁,而對此范圍以外的存儲單元訪問相對甚少的現(xiàn)象,稱為程序訪問的局部性。3、Cach

44、e-主存存儲結(jié)構(gòu)及其實現(xiàn)為了解決存儲器系統(tǒng)的容量、存取速度及單位成本之間的矛盾,可以采用Cache-主存存儲結(jié)構(gòu),即在主存和CPU之間設(shè)置高速緩沖存儲器Cache,把正在執(zhí)行的指令代碼單元附近的一部分指令代碼或數(shù)據(jù)從主存裝入Cache中,供CPU在一段時間內(nèi)使用,由于存儲器訪問的局部性,在一定容量Cache的條件下,我們可以做到使CPU大部分取指令代碼及進行數(shù)據(jù)讀寫的操作都只要通過訪問Cache,而不是訪問主存而實現(xiàn)。【優(yōu)點】Cache的讀寫速度幾乎能夠與CPU進行匹配,所以微機系統(tǒng)的存取速度可以大大提高;Cache的容量相對主存來說并不是太大,所以整個存儲器系統(tǒng)的成本并沒有上升很多。采用了C

45、ache-主存存儲結(jié)構(gòu)以后,整個存儲器系統(tǒng)的容量及單位成本能夠主存相當,而存取速度可以與Cache的讀寫速度相當,這就很好地解決了存儲器系統(tǒng)的上述三個方面性能之間的矛盾。如圖5-21,是Cache-主存結(jié)構(gòu)示意圖,在主存和CPU之間增加了一個容量相對較小的雙極型靜態(tài)RAM作為高速緩沖存儲器Cache,為了實現(xiàn)Cache與主存之間的數(shù)據(jù)交換,系統(tǒng)中還相應(yīng)地增加了輔助的硬件電路。圖5-21 主存-Cache層次示意圖 管理這兩級存儲器的部件為Cache控制器,CPU與主存之間的數(shù)據(jù)傳輸必須經(jīng)過Cache 控制器(見圖5-22 (P108)進行,Cache控制器將來自CPU的數(shù)據(jù)讀寫請求,轉(zhuǎn)向Cac

46、he存儲器,如果數(shù)據(jù)在Cache中,則CPU對Cache進行讀寫操作,稱為一次命中一次命中。命中時,CPU從Cache中讀(寫)數(shù)據(jù)。由于Cache速度與CPU速度相匹配,因此不需要插入等待狀態(tài),故CPU處于零等待狀態(tài),也就是說也就是說CPU與Cache達到了同步,因此,有時稱高速緩存為同步Cache;若數(shù)據(jù)不在Cache中,則CPU對主存操作,稱為一次失敗一次失敗。失敗時, CPU必須在其總線周期中插入等待周期TW。CPU主存主存地址寄存器MA替 換控制部件主存-Cache地址變換機 構(gòu)Cache地址寄存器Cache存儲器地址總線數(shù)據(jù)總線不命中命中單字寬多字寬圖5-22 Cache存儲系統(tǒng)基

47、本結(jié)構(gòu)在主存Cache存儲體系中,所有的程序代碼和數(shù)據(jù)仍然都存放在主存中,Cache存儲器只是在系統(tǒng)運行過程中,動態(tài)地存放了主存中的一部分程序塊和數(shù)據(jù)塊的副本,這是一種以塊為單位的存儲方式。塊的大小稱為“塊長”,塊長一般取一個主存周期所能調(diào)出的信息長度。假設(shè)主存的地址碼為n位,則其共有2n個單元,將主存分塊(block),每塊有B個字節(jié),則一共可以分成2n/B塊。Cache也由同樣大小的塊組成,由于其容量小,所以塊的數(shù)目小得多,也就是說,主存中只有一小部分塊的內(nèi)容可存放在Cache中。在Cache中,每一塊外加有一個標記,指明它是主存中哪一塊的副本,所以該標記的內(nèi)容相當于主存中塊的編號。假定主

48、存地址為nMb位,其中M稱為主存的塊地址,而b則稱為主存的塊內(nèi)地址,即:主存的塊數(shù)為2,塊內(nèi)字節(jié)數(shù)為2b;同樣,假定Cache地址n十b位,其中N稱為Cache塊地址,而b為Cache的塊內(nèi)地址,即Cache的塊數(shù)為2N,塊內(nèi)字節(jié)數(shù)為2b,通常使主存與Cache的塊內(nèi)地址碼數(shù)量相同,即bb,即Cache的塊內(nèi)字節(jié)數(shù)與主存的塊內(nèi)字節(jié)數(shù)相同。當CPU發(fā)出讀請求時,將主存地址位(或位中的一部分)與Cache某塊的標記相比較,根據(jù)其比較結(jié)果是否相等而區(qū)分出兩種情況:當比較結(jié)果相等時,說明需要的數(shù)據(jù)已在Cache中,那么直接訪問Cache就行了,在CPU與Cache之間,通常一次傳送一個字;當比較結(jié)果不

49、相等時,說明需要的數(shù)據(jù)尚未調(diào)入Cache,那么就要把該數(shù)據(jù)所在的整個字塊從主存一次調(diào)進來。4 4、Cache-Cache-主存存儲結(jié)構(gòu)的命中率主存存儲結(jié)構(gòu)的命中率命中率指命中率指CPUCPU所要訪問的信息在所要訪問的信息在CacheCache中的比率,相應(yīng)地將所要訪問的中的比率,相應(yīng)地將所要訪問的信息不在信息不在CacheCache中的比率稱為失效率。中的比率稱為失效率。CacheCache的命中率除了與的命中率除了與CacheCache的容量有關(guān)外,還與地址映象的方式有關(guān)。的容量有關(guān)外,還與地址映象的方式有關(guān)。目前,目前,CacheCache存儲器容量主要有存儲器容量主要有256KB256K

50、B和和512KB512KB等。這些大容量的等。這些大容量的CacheCache存儲器,使存儲器,使CPUCPU訪問訪問CacheCache的命中率高達的命中率高達9090至至9999,大大提高了,大大提高了CPUCPU訪問數(shù)據(jù)的速度,提高了系統(tǒng)的性能。訪問數(shù)據(jù)的速度,提高了系統(tǒng)的性能。 5 5、兩級、兩級Cache-Cache-主存存儲結(jié)構(gòu)主存存儲結(jié)構(gòu)CPUCPU內(nèi)部的內(nèi)部的CacheCache與主機板上的與主機板上的CacheCache就形成兩級就形成兩級CacheCache結(jié)構(gòu)。結(jié)構(gòu)。CPUCPU工作時,首先在第一級工作時,首先在第一級Cache(Cache(微處理器內(nèi)的微處理器內(nèi)的Cac

51、he)Cache)中查找數(shù)據(jù),如果中查找數(shù)據(jù),如果找不到,則在第二級找不到,則在第二級Cache(Cache(主機板上的主機板上的Cache)Cache)中查找,若數(shù)據(jù)在第二中查找,若數(shù)據(jù)在第二級級CacheCache中,中,CacheCache控制器在傳輸據(jù)的同時,修改第一級控制器在傳輸據(jù)的同時,修改第一級CacheCache;如果;如果數(shù)據(jù)既不在第一級數(shù)據(jù)既不在第一級CacheCache也不在第二級也不在第二級CacheCache中,中,CacheCache控制器則從主控制器則從主存中獲取數(shù)據(jù),同時將數(shù)據(jù)提供給存中獲取數(shù)據(jù),同時將數(shù)據(jù)提供給CPUCPU并修改兩級并修改兩級CacheCach

52、e。兩級。兩級CacheCache結(jié)構(gòu),提高了命中率,加快了處理速度,使結(jié)構(gòu),提高了命中率,加快了處理速度,使CPUCPU對對CacheCache的操作命中率的操作命中率高達高達9898以上。圖以上。圖4-224-22給出了主板上給出了主板上CacheCache存儲器系統(tǒng)的基本結(jié)構(gòu)。存儲器系統(tǒng)的基本結(jié)構(gòu)。6 6、CacheCache的基本操作的基本操作讀操作讀操作當當CPUCPU發(fā)出讀操作命令時,要根據(jù)它產(chǎn)生的主存地址分兩種情形:發(fā)出讀操作命令時,要根據(jù)它產(chǎn)生的主存地址分兩種情形:一種是需要的數(shù)據(jù)已在一種是需要的數(shù)據(jù)已在CacheCache存儲器中,那么只需直接訪問存儲器中,那么只需直接訪問C

53、acheCache存儲器,從對應(yīng)單元中讀取信息到數(shù)據(jù)總線;另一種是所需要的存儲器,從對應(yīng)單元中讀取信息到數(shù)據(jù)總線;另一種是所需要的數(shù)據(jù)尚未裝入數(shù)據(jù)尚未裝入CacheCache存儲器,存儲器,CPUCPU在從主存讀取信息的同時,由在從主存讀取信息的同時,由CacheCache替換部件把該地址所在的那塊存儲內(nèi)容從主存拷貝到替換部件把該地址所在的那塊存儲內(nèi)容從主存拷貝到CacheCache中。中。CacheCache存儲器中保存的字塊是主存相應(yīng)字塊的副本。存儲器中保存的字塊是主存相應(yīng)字塊的副本。寫操作當CPU發(fā)出寫操作命令時,也要根據(jù)它產(chǎn)生的主存地址分兩種情形:其一,命中時,不但要把新的內(nèi)容寫入Ca

54、che存儲器中,必須同時寫入主存,使主存和Cache內(nèi)容同時修改,保證主存和副本內(nèi)容一致,這種方法稱寫直達法或稱通過式寫(Write-through,簡稱通寫法)。其二,未命中時,許多微機系統(tǒng)只向主存寫入信息,而不必同時把這個地址單元所在的主存中的整塊內(nèi)容調(diào)入Cache存儲器。7、地址映象及其方式我們知道,主存與Cache之間的信息交換,是以數(shù)據(jù)塊的形式來進行的,為了把信息從主存調(diào)入Cache,必須應(yīng)用某種函數(shù)把主存塊映象到Cache塊,稱作地址映象。當信息按這種映象關(guān)系裝入Cache后,系統(tǒng)在執(zhí)行程序時,應(yīng)將主存地址變換為Cache地址,這個變換過程叫做地址變換(由于Cache的存儲空間較小

55、,因此,Cache中的一個存儲塊要與主存中的若干個存儲塊相對應(yīng),即若干個主存塊將映象到同一個Cache塊)。根據(jù)不同的地址對應(yīng)方法,地址映象的方式通常有直接映象、全相聯(lián)映象和組相聯(lián)映象三種。直接映象每個主存塊映象到Cache中的一個指定塊的方式稱為直接映象。在直接映象方式下,主存中某一特定存儲塊只可調(diào)入Cache中的一個指定位置,如果主存中另一個存儲塊也要調(diào)入該位置,則將發(fā)生沖突。地址映象的方法:將主存塊地址對Cache的塊號取模,即可得到Cache中的塊地址,這相當于將主存的空間按Cache的大小進行分區(qū),每區(qū)內(nèi)相同的塊號映象到Cache中相同的塊的位置。一般來說,如果Cache被分成2N塊

56、,主存被分成同樣大小的2M塊,則主存與Cache中塊的對應(yīng)關(guān)系如圖4-23所示。直接映象函數(shù)可定義為:ji mod 2N 其中j是Cache中的塊號;i是主存中的塊號。在這種映象方式中,主存的第0塊,第2N塊,第2N+l塊,只能映象到Cache的第0塊,而主存的第1塊,第2N十l塊,第2N+1十1塊,只能映象到Cache的第1塊,依次類推。例如,一個Cache的大小為2K字,每個塊為16字,這樣Cache中共有128個塊。假設(shè)主存的容量是256K字,則共有16384個塊。主存的地址碼將有18位。在直接映象方式下,主存中的第1128塊映象到Cache中的第1128塊,第129塊則映象到Cache

57、中的第1塊,第130塊映象到Cache中的第2塊,依次類推。直接映象函數(shù)的優(yōu)點是實現(xiàn)簡單,缺點是不夠靈活,尤其是當程序往返訪問兩個相互沖突的塊中的數(shù)據(jù)時,Cache的命中率將急劇下降。全相聯(lián)映象如圖5-24所示,它允許主存中的每一個字塊映象到Cache存儲器的任何一個字塊位置上,也允許從確實已被占滿的Cache存儲器中替換出任何一個舊字塊當訪問一個塊中的數(shù)據(jù)時,塊地址要與Cache塊表中的所有地址標記進行比較以確定是否命中。在數(shù)據(jù)塊調(diào)入時,存在著一個比較復(fù)雜的替換策略問題,即決定將數(shù)據(jù)塊調(diào)入Cache中什么位置,將Cache中哪一塊數(shù)據(jù)調(diào)出到主存。全相聯(lián)方法塊沖突的概率低,Cache的利用率高

58、,是一種最理想的解決方案,但全相聯(lián)Cache中塊表查找的速度慢,由于Cache的速度要求高,因此全部比較和替換策略都要用硬件實現(xiàn),控制復(fù)雜,實現(xiàn)起來也比較困難。Cache主 存第 0 塊第 1 塊2N-1塊2N塊2N+1-1塊第 0 塊第 1 塊2N-1塊.第1區(qū)第2區(qū)Cache第 0 塊第 1 塊2N-1塊.主 存第 0 塊第 1 塊2M-1塊.圖5-23直接映像示意圖圖5-24全相聯(lián)映像示意圖組相聯(lián)映象組相聯(lián)映象方式是全相聯(lián)映象和直接映象的一種折衷方案。這種方法將存儲空間分成若干組,各組之間是直接映象,而組內(nèi)各塊之間則是全相聯(lián)映象。如圖5-25所示,在組相聯(lián)映象方式下,主存中存儲塊的數(shù)據(jù)可

59、調(diào)入Cache中一個指定組內(nèi)的任意塊中。它是上述兩種映象方式的一般形式,如果組的大小為1時就變成了直接映象;如果組的大小為整個Cache的大小時就變成了全相聯(lián)映象。主 存第 0 塊第2k-1塊第 0 塊第2k-1塊第2N-1塊.第2k塊.第2M-1塊第2k塊.第 0 組第 1 組第2M-R組第 0 組第 1 組第2C組圖5-25組相聯(lián)映像示意圖例如,把Cache子塊分成2C組,每組包含2R個字塊,那么,主存字塊MM(i)(0i2M-1)可以用下列映象函數(shù)映象到Cache字塊MN(j)( 0j2N-1)上:j(i mod 2C)2R十k ( 0k2R-1)例如, 設(shè)C3位,R1位,考慮主存字塊1

60、5可映象到Cache的哪一個字塊中。根據(jù)公式,可得:j (i mod 2C)2R十k (15 mod 23)21十k 72十k 14十k 又:0k2R-121-11 即: k0或1代入后得j14(k0)或15(k1)。所以主存模塊15可映象到Cache字塊14或15,在第7組。同樣可計算出主存字塊17可映象到Cache的第0塊或第1塊,在第1組。 組相聯(lián)映象方法在判斷塊命中以及替換算法上都要比全相聯(lián)映象方法簡單,塊沖突的概率比直接映象方法的低,其命中率介于直接映象和全相聯(lián)映象方法之間。8、替換策略主存與Cache之間的信息交換,是以存儲塊的形式來進行的,主存的塊長與Cache的塊長相同,但由于

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論