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

下載本文檔

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

文檔簡(jiǎn)介

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

2、才能使計(jì)算機(jī)系統(tǒng)脫離人的干預(yù)u而自動(dòng)完成信息處理的功能而自動(dòng)完成信息處理的功能一、按用途分類一、按用途分類內(nèi)部存儲(chǔ)器、外部存儲(chǔ)器內(nèi)部存儲(chǔ)器、外部存儲(chǔ)器1 1、內(nèi)部存儲(chǔ)器、內(nèi)部存儲(chǔ)器 也稱內(nèi)存,是主存儲(chǔ)器,位于主機(jī)內(nèi)部,存放當(dāng)前正在使用或經(jīng)常使也稱內(nèi)存,是主存儲(chǔ)器,位于主機(jī)內(nèi)部,存放當(dāng)前正在使用或經(jīng)常使用的程序和數(shù)據(jù),可供用的程序和數(shù)據(jù),可供CPUCPU直接訪問(wèn)。一般由半導(dǎo)體存儲(chǔ)器件構(gòu)成。直接訪問(wèn)。一般由半導(dǎo)體存儲(chǔ)器件構(gòu)成。特點(diǎn):存取速度較快特點(diǎn):存取速度較快; ;容量大小受到地址總線位數(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)和當(dāng)前要)和當(dāng)前要運(yùn)行的應(yīng)用程序運(yùn)行的應(yīng)用程序2 2、外部存儲(chǔ)器、外部存儲(chǔ)器 也稱外存,是輔助存儲(chǔ)器,一般由磁表面存儲(chǔ)器件構(gòu)成。也稱外存,是輔助存儲(chǔ)器,一般由磁表面存儲(chǔ)器件構(gòu)成。特點(diǎn):存取速度較慢特點(diǎn):存取速度較慢; ;存儲(chǔ)容量大,要由專用的

4、設(shè)備來(lái)管理,配存儲(chǔ)容量大,要由專用的設(shè)備來(lái)管理,配置專門(mén)的驅(qū)動(dòng)設(shè)備才能訪問(wèn)外存置專門(mén)的驅(qū)動(dòng)設(shè)備才能訪問(wèn)外存( (軟盤(pán)驅(qū)動(dòng)器、硬盤(pán)驅(qū)動(dòng)器、軟盤(pán)驅(qū)動(dòng)器、硬盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器等光盤(pán)驅(qū)動(dòng)器等) )微機(jī)中常見(jiàn)的外存有:軟盤(pán)、硬盤(pán)、光盤(pán)、微縮膠片等微機(jī)中常見(jiàn)的外存有:軟盤(pán)、硬盤(pán)、光盤(pán)、微縮膠片等計(jì)算機(jī)啟動(dòng)一般由內(nèi)存計(jì)算機(jī)啟動(dòng)一般由內(nèi)存ROMROM中的引導(dǎo)程序啟動(dòng)系統(tǒng),再?gòu)耐獯嬷兄械囊龑?dǎo)程序啟動(dòng)系統(tǒng),再?gòu)耐獯嬷凶x取系統(tǒng)程序和應(yīng)用程序,送到內(nèi)存的讀取系統(tǒng)程序和應(yīng)用程序,送到內(nèi)存的RAMRAM,程序運(yùn)行的中間,程序運(yùn)行的中間結(jié)果放在結(jié)果放在RAMRAM中,程序運(yùn)行結(jié)束時(shí)將最后結(jié)果存入外存。中,程序運(yùn)行結(jié)束時(shí)將

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

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

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

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

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

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

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

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

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

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

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

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

17、。其中T1T1、T2T2為控制管,為控制管,T3T3、T4T4為負(fù)載管。這個(gè)電路具有兩個(gè)相對(duì)的穩(wěn)態(tài)狀態(tài),若為負(fù)載管。這個(gè)電路具有兩個(gè)相對(duì)的穩(wěn)態(tài)狀態(tài),若TlTl管截管截止則止則A A“l(fā)”(l”(高電平高電平) ),它使,它使T2T2管開(kāi)啟,于是管開(kāi)啟,于是B B“0”(0”(低電平低電平) ),而而B(niǎo) B“0”0”又進(jìn)一步保證了又進(jìn)一步保證了T1T1管的截止。所以,這種狀態(tài)在沒(méi)有管的截止。所以,這種狀態(tài)在沒(mé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)定的。因此,可以用這個(gè)電路的兩個(gè)相對(duì)穩(wěn)定的狀態(tài)也是穩(wěn)定的。因此,可以用這個(gè)電路的兩個(gè)相對(duì)穩(wěn)定的狀態(tài)來(lái)分別表示邏輯的狀態(tài)來(lái)分別表示邏輯“1”1”和邏輯和邏輯“0”0”。當(dāng)把觸發(fā)器作為存儲(chǔ)電路時(shí),就要使其能夠接收外界來(lái)的觸發(fā)控制信號(hào),用當(dāng)把觸發(fā)器作為存儲(chǔ)電路時(shí),就要使其能夠接收外界來(lái)的觸發(fā)控制信號(hào),用以讀出或改變?cè)摯鎯?chǔ)單元的狀態(tài),這樣就形成了如圖以讀出或改變?cè)摯鎯?chǔ)單元的狀態(tài),這樣就形成了如圖5-l(b)5-l(b)所示的六管所示的六管基本存儲(chǔ)電路。其中基本存儲(chǔ)電路。其中T5T5、T6T6為門(mén)控管。為門(mén)控管。當(dāng)當(dāng)X X譯碼輸出線為高電平時(shí),譯碼輸出線為高電平時(shí),T5T5、T6T6管

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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ù)相同。當(dāng)CPU發(fā)出讀請(qǐng)求時(shí),將主存地址位(或位中的一部分)與Cache某塊的標(biāo)記相比較,根據(jù)其比較結(jié)果是否相等而區(qū)分出兩種情況:當(dāng)比較結(jié)果相等時(shí),說(shuō)明需要的數(shù)據(jù)已在Cache中,那么直接訪問(wèn)Cache就行了,在CPU與Cache之間,通常一次傳送一個(gè)字;當(dāng)比較結(jié)果不

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

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

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

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

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

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

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

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

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

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

59、調(diào)入Cache中一個(gè)指定組內(nèi)的任意塊中。它是上述兩種映象方式的一般形式,如果組的大小為1時(shí)就變成了直接映象;如果組的大小為整個(gè)Cache的大小時(shí)就變成了全相聯(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個(gè)字塊,那么,主存字塊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的哪一個(gè)字塊中。根據(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組。同樣可計(jì)算出主存字塊17可映象到Cache的第0塊或第1塊,在第1組。 組相聯(lián)映象方法在判斷塊命中以及替換算法上都要比全相聯(lián)映象方法簡(jiǎn)單,塊沖突的概率比直接映象方法的低,其命中率介于直接映象和全相聯(lián)映象方法之間。8、替換策略主存與Cache之間的信息交換,是以存儲(chǔ)塊的形式來(lái)進(jìn)行的,主存的塊長(zhǎng)與Cache的塊長(zhǎng)相同,但由于

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論