微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件_第1頁
微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件_第2頁
微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件_第3頁
微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件_第4頁
微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件_第5頁
已閱讀5頁,還剩281頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

7.1概述7.2讀寫存儲器RAM7.3只讀存儲器ROM7.4存儲器的組成7.5高速緩沖存儲器7.6磁盤存儲器第7章存儲器系統(tǒng)返回主目錄7.1概述第7章存儲器系統(tǒng)返回主目錄1第7章存儲器系統(tǒng)

7.1概述通過前幾章的討論,我們對存儲器的功能已經(jīng)有了初步的了解。有了存儲器,計(jì)算機(jī)才具有記憶功能,從而實(shí)現(xiàn)程序存儲,使計(jì)算機(jī)能夠自動高速地進(jìn)行各種復(fù)雜的運(yùn)算。存儲器系統(tǒng)是微機(jī)系統(tǒng)中重要的分系統(tǒng)。存儲器系統(tǒng)由內(nèi)存儲器和外存儲器兩部分組成。圖7.1是微機(jī)系統(tǒng)中存儲器系統(tǒng)組成的示意圖。內(nèi)存儲器用來存放當(dāng)前運(yùn)行的程序和數(shù)據(jù),一般由一定容量的速度較高的存儲器組成,CPU可直接用指令對內(nèi)存儲器進(jìn)行讀/寫操作。在微機(jī)中,內(nèi)存儲器是由半導(dǎo)體存儲器芯片組成。內(nèi)存儲器也稱為主存儲器,或簡稱為存儲器。第7章存儲器系統(tǒng)

7.1概述2微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件3外存儲器是CPU通過I/O接口電路才能訪問的存儲器,其特點(diǎn)是存儲容量大、速度較低,又稱海量存儲器或二級存儲器。外存儲器用來存放當(dāng)前暫時(shí)不用的程序和數(shù)據(jù)。CPU不能直接用指令對外存儲器進(jìn)行讀/寫操作,如要執(zhí)行外存儲器存放的程序,必須先將該程序由外存儲器調(diào)入內(nèi)存儲器。在微機(jī)中常用硬磁盤、軟磁盤和磁帶作為外存儲器。目前微機(jī)中作為內(nèi)存儲器的半導(dǎo)體存儲器,其主要特點(diǎn)是采用大規(guī)模集成電路技術(shù)構(gòu)成單個芯片形式或者大容量的條形動態(tài)存儲器(SIMMDRAM)形式,因而使用方便,價(jià)格較低。半導(dǎo)體存儲器按存取方式不同,分為讀寫存儲器RAM(RandomAccessMemory)和只讀存儲器ROM(ReadOnlyMemory)。讀寫存儲器指機(jī)器運(yùn)行期間可讀、可寫的存儲器。外存儲器是CPU通過I/O接口電路才能訪問的4只讀存儲器指機(jī)器運(yùn)行期間只能讀出信息,而不能寫入信息的存儲器。RAM是隨機(jī)存取存儲器的意思,“隨機(jī)存取”含意是指對存儲器任何一個單元中信息的存取時(shí)間與其所在位置無關(guān)。它是相對于“順序存取”而言的。對順序存取(或串行存取)的存儲器(如磁帶),必須按順序訪問各單元,即信息的存取時(shí)間與其所在位置有關(guān)。對內(nèi)存儲器而言,隨機(jī)存取存儲器和讀寫存儲器是一回事,讀寫存儲器的英文縮寫應(yīng)為RWM(ReadWriteMomery)。由于拼讀困難,都稱作RAM。讀寫存儲器按信息存儲方式可分為靜態(tài)RAM(StaticRAM,簡稱SRAM)和動態(tài)RAM(DynamicRAM,簡稱DRAM)。只讀存儲器有3種類型:只讀存儲器指機(jī)器運(yùn)行期間只能讀出信息,而不能5掩模式ROM(簡稱ROM)、可編程只讀存儲器PROM(ProgrammaleROM)和可擦可編程只讀存儲器EPROM(ErasableProgrammableROM)。只讀存儲器電路比RAM簡單,故集成度高,成本也低。其最大優(yōu)點(diǎn)是所存信息能長期保存,當(dāng)電源斷電時(shí),ROM中的信息不會消失,通電后立即可以使用,是非易失性的。因此,通常用ROM存放引導(dǎo)裝入程序,系統(tǒng)每次加電立即進(jìn)入ROM區(qū)的程序,在執(zhí)行引導(dǎo)裝入程序時(shí)把存在磁盤或其它外存儲器上的程序和數(shù)據(jù)裝入內(nèi)存并啟動其它程序運(yùn)行。ROM還可以存放一些不需改變的其它程序和數(shù)據(jù)。在微型計(jì)算機(jī)的存儲器中,既有RAM模塊,又有ROM模塊。掩模式ROM(簡稱ROM)、可編程只讀存6半導(dǎo)體存儲器的制造工藝多種多樣。根據(jù)工藝不同,半導(dǎo)體存儲器又分為雙極型TTL邏輯、發(fā)射極耦合(ECL)邏輯、NMOS、CMOS、HMOS等幾種存儲電路形式。半導(dǎo)體存儲器技術(shù)性能指標(biāo)主要有以下幾項(xiàng):1)存儲容量存儲容量是存儲器的一個重要指標(biāo)。存儲容量是指存儲器可以存儲的二進(jìn)制信息量,它一般是以能存儲的字?jǐn)?shù)乘以字長表示的。即存儲容量=字?jǐn)?shù)×字長如一個存儲器能存4096個字,字長16位,則存儲容量可用4096×16表示。微型計(jì)算機(jī)中的存儲器幾乎都是以字節(jié)(8位)進(jìn)行編址的,也就是說總認(rèn)為一個字節(jié)是“基本”的字長,所以常常只用可能存儲的字節(jié)數(shù)來表示存儲容量。半導(dǎo)體存儲器的制造工藝多種多樣。根據(jù)工藝不同7存儲器存儲的字節(jié)數(shù)常常很大,如16384、32768、65536,為了表示方便,常常以1024為1K,以KB為存儲容量的單位,這樣上述3個存儲器的存儲容量可分別表示為16KB、32KB和64KB。顯然,存儲容量是反映存儲器存儲能力的指標(biāo)。2)最大存取時(shí)間存儲器的存取時(shí)間定義為存儲器從接收到尋找存儲單元的地址碼開始,到它取出或存入數(shù)據(jù)為止所需的時(shí)間。通常手冊上給出這個參數(shù)的上限值,稱為最大存取時(shí)間。顯然,它是說明存儲器工作速度的指標(biāo)。最大存取時(shí)間愈短,計(jì)算機(jī)的工作速度就愈快。半導(dǎo)體存儲器的最大存取時(shí)間為十幾ns到幾百ns。存儲器存儲的字節(jié)數(shù)常常很大,如1638483)可靠性可靠性是指存儲器對電磁場及溫度等變化的抗干擾性,半導(dǎo)體存儲器由于采用大規(guī)模集成電路結(jié)構(gòu),可靠性高,平均無故障時(shí)間為幾千小時(shí)以上。4)其它指標(biāo)體積小、重量輕、價(jià)格便宜、使用靈活是微型計(jì)算機(jī)的主要特點(diǎn)及優(yōu)點(diǎn),所以存儲器的體積大小、功耗、工作溫度范圍、成本高低等也成為人們關(guān)心的指標(biāo)。上述指標(biāo),有些是互相矛盾的。這就需要在設(shè)計(jì)和選用存儲器時(shí),根據(jù)實(shí)際需要,盡可能滿足主要要求且兼顧其它。3)可靠性97.2讀寫存儲器RAM

由于MOS集成電路工藝簡單、功耗低、集成度高、價(jià)格便宜,所以廣泛地用作半導(dǎo)體存儲器。下面我們介紹MOS器件的讀寫存儲器RAM,按其信息存儲方式可分為靜態(tài)RAM和動態(tài)RAM兩大類。

7.2.1靜態(tài)RAM

1.基本存儲電路基本存儲電路用來存儲1位二進(jìn)制信息(0或1),它是組成存儲器的基礎(chǔ)。圖7.2給出了靜態(tài)MOS6管基本存儲電路。T-1,T-3及T-2,T-4兩個NMOS反相器交叉耦合組成雙穩(wěn)態(tài)觸發(fā)器電路。其中T-3,T-4為負(fù)載管,T-1,T-2為反相管,T-5,T-6為選通管。T-1和T-2的狀態(tài)決定了存儲的1位二進(jìn)制信息。7.2讀寫存儲器RAM

由于MOS集10微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件11這對交叉耦合晶體管的工作狀態(tài)是,當(dāng)一個晶體管導(dǎo)通時(shí),另一個就截止;反之亦然。假設(shè)T1導(dǎo)通,T2截止時(shí)的狀態(tài)代表1;相反的狀態(tài)即T2導(dǎo)通,T1截止時(shí)的狀態(tài)代表0,即A點(diǎn)的電平高低分別代表1或0。當(dāng)行線X和列線Y都為高電平時(shí),開關(guān)管T5,T6,T7,T8均導(dǎo)通,該單元被選中,于是便可以對它進(jìn)行讀或?qū)懖僮?。讀操作:當(dāng)讀控制信號為高電平而寫控制信號為低電平時(shí),三態(tài)門1和2斷開,三態(tài)門3導(dǎo)通,于是觸發(fā)器的狀態(tài)(A點(diǎn)的電平)便通過T6,T8和三態(tài)門3讀出至數(shù)據(jù)線上,且觸發(fā)器的狀態(tài)不因讀出操作而改變。這對交叉耦合晶體管的工作狀態(tài)是,當(dāng)一個晶體管12寫操作:當(dāng)寫控制信號為高電平而讀控制信號為低電平時(shí),三態(tài)門1和2導(dǎo)通,三態(tài)門3斷開,可進(jìn)行寫操作。若數(shù)據(jù)線為高電平,則三態(tài)門2輸出的高電平通過T8,T6加至T1的柵極,具有反相的三態(tài)門1輸出低電平通過T7,T5加至T2的柵極。不管T1,T2原來狀態(tài)如何,迫使T1導(dǎo)通、T2截止,使觸發(fā)器置成1狀態(tài)。若數(shù)據(jù)線為低電平時(shí),則與上述情況相反,迫使T1截止,T2導(dǎo)通,使觸發(fā)器置成0狀態(tài)。

2.RAM原理利用基本存儲電路排成陣列,再加上地址譯碼電路和讀寫控制電路就可以構(gòu)成讀寫存儲器。下面以4行4列的16個基本存儲電路構(gòu)成16×1靜態(tài)RAM為例來說明RAM原理,見圖7.3。這是一個16×1的存儲器(即一共16個字,而每個字僅為1位),它由以下幾部分組成:寫操作:當(dāng)寫控制信號為高電平而讀控制信號為低13微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件14(1)16個基本存儲電路(圖7.2中虛線以上部分)組成的4×4存儲矩陣;(2)2套(行與列)地址譯碼電路;(3)4套列開關(guān)管(即圖7.2中的T7,T8,這里每個列方向4個基本存儲電路共用一套);(4)一套讀寫控制電路。該存儲器的控制信號有兩個,一個為片選信號(ChipSelect),低電平有效,用來選擇應(yīng)訪問的芯片。有效時(shí),該芯片被選中,才能進(jìn)行讀寫操作。另一個是寫允許信號(WriteEnable)或讀寫控制信號R/(Read/Write),規(guī)定低電平時(shí)存儲器進(jìn)行寫操作;高電平時(shí)存儲器進(jìn)行讀操作。數(shù)據(jù)線為一條,雙向,三態(tài)。(1)16個基本存儲電路(圖7.2中15當(dāng)給定地址碼以后,例如A3A2A1A0=0000,則A1A0經(jīng)行地址譯碼電路使0行線為高電平,A3A2經(jīng)列地址譯碼電路使0列線為高電平,于是0基本存儲電路被選中。這時(shí)若為高電平,不管為什么狀態(tài),讀控制、寫控制均為低電平,三態(tài)門1、2、3均斷開,該片不工作;若為低電平且為低電平時(shí),寫控制為高電平,可進(jìn)行寫操作;若為低電平且為高電平時(shí),讀控制為高電平,可進(jìn)行讀操作。同理,當(dāng)?shù)刂反aA3A2A1A0=0100時(shí),4基本存儲電路被選中;當(dāng)A3A2A1A0=1100時(shí),12基本存儲電路被選中。當(dāng)給定地址碼以后,例如A3A2A1A0=016總之給定一個地址碼,就唯一地選中一個基本存儲電路。由上可知,地址碼的位數(shù)n與存儲器的字?jǐn)?shù)W的關(guān)系為:W=2n。若地址碼位數(shù)n為4,則存儲器字?jǐn)?shù)W=16;若n=10,則W=1024=1K;若n=16,則W=64K,或者說當(dāng)?shù)刂肪€為16條時(shí),尋址范圍為0~65535(0000H~FFFFH)。以上結(jié)果不難推廣到32×32存儲矩陣,從而得到1024×1RAM。在一個靜態(tài)RAM器件中,基本存儲單元的數(shù)目和它們的排列方式千變?nèi)f化,就構(gòu)成了各種容量的RAM芯片。例如一個256×4的RAM有256個存儲單元,每個單元有4位;8K×8的RAM有8K個存儲單元,每個單元有8位;而16K×4的RAM則有16K個存儲單元,每個單元有4位。通常對一個靜態(tài)RAM芯片,有一組地址輸入端,地址線的條數(shù)決定了該芯片的存儲單元個數(shù)??傊o定一個地址碼,就唯一地選中一個基本存儲17有一組數(shù)據(jù)線,有的芯片輸入輸出數(shù)據(jù)線是共用的(雙向、三態(tài)),有的芯片輸入數(shù)據(jù)線和輸出數(shù)據(jù)線是分開的(單向、三態(tài))。共用數(shù)據(jù)線或者輸入(或輸出)數(shù)據(jù)線的條數(shù)決定每個存儲單元的位數(shù)。芯片的控制信號線通常有片選信號(ChipSelect)或片允許信號(ChipEnable);輸出允許信號(OutputEnable);讀/寫控制信號(Read/Write)或?qū)懺试S信號(WriteEnable)。當(dāng)存儲器模塊由多個RAM芯片組成時(shí),(或)用來選擇應(yīng)訪問的存儲器芯片;用來控制存儲器芯片的輸出三態(tài)緩沖器,從而使微處理器(作為存儲器的控制部件)能直接管理存儲器是否輸出,避免爭奪總線。(或)用來控制被(或)信號選中的存儲器芯片是進(jìn)行讀操作還是寫操作。有一組數(shù)據(jù)線,有的芯片輸入輸出數(shù)據(jù)線是共用的18通常符號、、等都表示低電平有效,而符號CE、CS、OE等都表示高電平有效。至于(或)信號,高電平時(shí)存儲器進(jìn)行讀操作,低電平時(shí)存儲器進(jìn)行寫操作。各種存儲器芯片的控制信號設(shè)置情況常常不同,使用時(shí)必須參照產(chǎn)品使用手冊進(jìn)行具體分析。

3.Intel2114NMOS靜態(tài)RAMIntel2114為1K×4SRAM,單一的+5V電源,所有的輸入端和輸出端都與TTL電路兼容。它的結(jié)構(gòu)框圖、引腳排列和邏輯符號見圖7.4。通常符號、、19微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件202114SRAM芯片的地址輸入端10個(A0~A9),在片內(nèi)可以尋址210=1K個存儲單元。4位共用的數(shù)據(jù)輸入/輸出端(I/O1~I/O4)采用三態(tài)控制,即每個存儲單元可存儲4位二進(jìn)制信息,故2114芯片的容量為1K×4。芯片中共有4096個6管NMOS靜態(tài)基本存儲電路,它們排成64×64矩陣。10條地址線中的A3~A8通過行地址譯碼電路產(chǎn)生64條行選擇線,對存儲矩陣的行線進(jìn)行控制;另外4條地址線A0,A1,A2和A9通過列地址譯碼電路對存儲矩陣的列線進(jìn)行控制(共16條列線,但每條列線同時(shí)接至4位,所以實(shí)際為64列)。2114SRAM芯片的地址輸入端10個21該芯片只有一個片選端和一個寫允許控制端。存儲器芯片內(nèi)部數(shù)據(jù)線通過I/O電路以及輸入、輸出三態(tài)門與外部數(shù)據(jù)總線相連,并受片選信號和寫允許信號的控制。當(dāng)和為低電平時(shí),輸入三態(tài)門導(dǎo)通,信息由外部數(shù)據(jù)總線寫入存儲器;當(dāng)為低電平,而為高電平時(shí),則輸出三態(tài)門打開,從存儲器讀出的信息送至外部數(shù)據(jù)總線。而當(dāng)為高電平時(shí),不管為何種狀態(tài),該存儲器芯片不讀出也不寫入,而是處于靜止?fàn)顟B(tài)并與外部總線完全隔斷。該芯片只有一個片選端和一個寫允22

4.存儲器訪問周期的時(shí)序由于存儲器芯片內(nèi)部有支持電路,所以它們之間的連接是很方便的。但是存儲器芯片對輸入信號的時(shí)序要求卻是很嚴(yán)格的,而且各種存儲器芯片的時(shí)序要求也不相同。為確保正常工作,存儲器板上的控制邏輯提供的地址輸入和控制信號必須滿足該器件制造廠家所規(guī)定的時(shí)序參數(shù)。存儲器的讀操作與寫操作時(shí)序是不同的。在選擇存儲器器件時(shí),須考慮的最重要的參數(shù)是存取時(shí)間。從地址輸入穩(wěn)定到數(shù)據(jù)輸出的最大時(shí)延大于從芯片片選有效到數(shù)據(jù)輸出的時(shí)延。所以前一個時(shí)延參數(shù)稱為存取時(shí)間。常用的MOSRAM的存取時(shí)間一般在15~500ns之間。4.存儲器訪問周期的時(shí)序23對于讀操作而言,輸出數(shù)據(jù)有效后不能立即改變地址輸入信號而開始另一次讀操作。這是因?yàn)樵谙乱淮未鎯ζ鞑僮髦?,器件需要一定的時(shí)間來完成內(nèi)部操作,這段時(shí)間叫作讀恢復(fù)時(shí)間。存取時(shí)間和讀恢復(fù)時(shí)間之和叫作存儲器讀周期時(shí)間。從一次讀操作的開頭到下一個存儲器周期開始之間的時(shí)間不應(yīng)小于存儲器讀周期時(shí)間。圖7.5(a)是存儲器讀周期的時(shí)序。在讀周期開始處的A點(diǎn),加上地址信號并保持穩(wěn)定,直到讀周期結(jié)束。為了減小存取時(shí)間,在B點(diǎn)前應(yīng)提供信號。在C點(diǎn)后數(shù)據(jù)輸出變?yōu)橛行В⒁恢北3值降刂泛托酒x信號變化為止。寫允許信號在讀周期時(shí)序圖中未給出,它在整個讀周期中應(yīng)保持為高電平。對于讀操作而言,輸出數(shù)據(jù)有效后不能立即改變24存儲器寫周期時(shí)間的定義與讀周期時(shí)間相似,但不完全相同。圖7.5(b)所示為典型寫周期的時(shí)序。寫周期中除了要加地址輸入信號和芯片片選信號外,還要在線上加一個低電平有效的寫入脈沖,并提供要寫入的數(shù)據(jù)。數(shù)據(jù)輸入的時(shí)序要求不太嚴(yán)格,只要在整個寫周期中保持穩(wěn)定即可。但對于寫脈沖卻有兩個嚴(yán)格的時(shí)序要求:地址建立時(shí)間和寫脈沖寬度。地址建立時(shí)間就是地址狀態(tài)達(dá)到穩(wěn)定的時(shí)間,在經(jīng)過這段時(shí)間之后才能加入寫脈沖。圖7.5(b)中,地址建立時(shí)間是A點(diǎn)和B點(diǎn)之間的那段時(shí)間。寫脈沖寬度定義為寫脈沖必須保持有效(低電平)狀態(tài)的那段時(shí)間。寫周期時(shí)間是A點(diǎn)和D點(diǎn)之間的那段時(shí)間,是地址穩(wěn)定時(shí)間、脈沖寬度及寫恢復(fù)時(shí)間之和。有些存儲器器件的讀寫恢復(fù)時(shí)間可以為零。存儲器寫周期時(shí)間的定義與讀周期時(shí)間相似,但不25微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件26這里要注意,上述存取時(shí)間和讀寫周期時(shí)間是存儲器器件本身的最小時(shí)序要求。由于I/O控制邏輯、系統(tǒng)總線邏輯和存儲器接口邏輯均會造成延時(shí),所以從整個存儲系統(tǒng)來考慮存取時(shí)間和讀、寫周期時(shí)間還要長。這里要注意,上述存取時(shí)間和讀寫周期時(shí)間是存儲27

7.2.2動態(tài)RAM與上面介紹的靜態(tài)RAM相似,動態(tài)RAM存儲器器件內(nèi)的基本存儲電路也是按行和列組成矩陣的,基本區(qū)別在于存儲電路不同。與靜態(tài)RAM中信息的存儲方式不同,動態(tài)RAM是利用MOS管柵源間的極間電容來存儲信息的。當(dāng)電容充有電荷時(shí),稱存儲的信息為1;電容上沒有電荷時(shí),稱存儲的信息為0。由于電容上存儲的電荷不能長時(shí)間保存,總會泄漏,因此必須定時(shí)地給電容補(bǔ)充電荷,這稱為“刷新”或“再生”。1.動態(tài)RAM基本存儲電路常用的動態(tài)基本存儲電路有4管型和單管型兩種,其中單管型由于集成度高而愈來愈被廣泛采用。我們這里以單管基本存儲電路為例說明。7.2.2動態(tài)RAM28圖7.6所示為一個NMOS單管動態(tài)基本存儲電路,它由一個管子T和一個電容C構(gòu)成。這個基本存儲電路所存儲的內(nèi)容是0還是1是由電容上是否充有電荷來決定。圖中刷新放大器為同一列所有基本存儲電路共用。在執(zhí)行讀操作時(shí),譯碼器對行地址(低位地址)譯碼,使對應(yīng)行選擇線變?yōu)楦唠娖?。處于該行選擇線控制下的該行上所有基本存儲電路的開關(guān)管T都導(dǎo)通。這樣,各列的刷新放大器便可讀取相應(yīng)電容上的電壓電平,形成1或0信號。列地址(高位地址)允許選中的一行中的一個基本存儲電路輸出。在這個過程中,整個一行上所有的電容都會受到干擾。為保持存儲的信息不變,由刷新放大器對該行中的各基本存儲電路按讀取的狀態(tài)進(jìn)行重寫。在執(zhí)行寫操作時(shí)也與此類似,只是輸入數(shù)據(jù)被存入選中的那個基本存儲電路中,而該行的其它基本存儲電路只單純地進(jìn)行刷新。圖7.6所示為一個NMOS單管動態(tài)基本存29微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件302.Intel2118HMOS動態(tài)RAMIntel2118為16K×1動態(tài)RAM,采用HMOS工藝,單管動態(tài)基本存儲電路,單一的+5V電源,最大的工作/維持功耗為150/110mW,所有的輸入、輸出引腳都與TTL電路兼容2118共有16個引腳,其結(jié)構(gòu)框圖、引腳排列及邏輯符號如圖7.7所示。它的地址碼的輸入和控制方式不同于前面討論的靜態(tài)RAM。2118是16K×1的芯片,要有14位地址碼對其控制,所以芯片本應(yīng)有14個引腳作為地址線,但實(shí)際上只有7個引腳用作地址引線。為了實(shí)現(xiàn)14位地址控制,采用分時(shí)技術(shù)將14位地址碼分兩次從7條地址引線上送入芯片內(nèi)部,而在片內(nèi)設(shè)置兩個7位鎖存器,分別稱為行鎖存器和列鎖存器。14位地址碼也分成行地址(低7位地址)和列地址(高7位地址),在兩次輸入后分別寄存在行鎖存器內(nèi)和列鎖存器內(nèi)?;敬鎯﹄娐芬舶葱泻土信懦?28×128的存儲矩陣。2.Intel2118HMOS動態(tài)RA31

32地址選擇操作是這樣的:由行地址選通信號把先出現(xiàn)的7位地址送到行地址鎖存器,由隨后出現(xiàn)的列地址選通信號把后出現(xiàn)的7位地址送到列地址鎖存器。行譯碼器和列譯碼器把存于行鎖存器和列鎖存器的地址碼分別譯碼,形成128條行選擇線和128條列選擇線,對128×128存儲矩陣進(jìn)行選址。讀寫操作時(shí):當(dāng)全部地址碼輸入后,128行中必有一行被選中,這一行中的128個基本存儲電路的信息都被選通到各自的讀出放大器,在那里每個基本存儲電路存儲的邏輯電平都被鑒別、放大和刷新。列譯碼器的作用是選通128個讀出放大器中的一個,從而唯一地確定欲讀/寫的基本存儲電路。并將被選中的基本存儲電路通過讀出放大器、I/O控制門與輸入數(shù)據(jù)鎖存器或輸出數(shù)據(jù)鎖存器及緩沖器相連,以便完成對該基本存儲電路的讀/寫操作。地址選擇操作是這樣的:由行地址選通信號33讀出與寫入操作是由寫允許信號控制的,當(dāng)為高電平時(shí),進(jìn)行讀操作,數(shù)據(jù)從引腳DOUT輸出;當(dāng)為低電平時(shí),進(jìn)行寫操作,數(shù)據(jù)從DIN引腳輸入并鎖存于輸入鎖存器中,再寫入選定的基本存儲電路。三態(tài)數(shù)據(jù)輸出端受信號控制而與信號無關(guān)。對2118DRAM的刷新方法是對128行逐行進(jìn)行選擇,同時(shí)行選通信號加低電平,但列選通信號為高電平。這樣,雖然對基本存儲電路進(jìn)行了讀操作,把一行中128個基本存儲電路存儲的信息被選通到各自的讀出放大器進(jìn)行放大鎖存,但不進(jìn)行列選擇,沒有真正的輸出,而是把鎖存的信息再寫回原來的基本存儲電路,實(shí)現(xiàn)刷新。讀出與寫入操作是由寫允許信號34

3.動態(tài)RAM的刷新在圖7.6中,行選擇線為低電平時(shí),T管截止,電容C上的電荷無放電回路而保存下來。然而,雖然MOS管入端阻抗很高,但總有一定的泄漏電流,這樣引起電容放電。為此必須定時(shí)重復(fù)地對動態(tài)RAM的基本存儲電路存儲的信息進(jìn)行讀出和恢復(fù),這個過程叫存儲器刷新。器件工作溫度增高會使放電速度變快。刷新時(shí)間間隔一般要求在1~100ms內(nèi),工作溫度為70℃時(shí),典型的刷新時(shí)間間隔為2ms。一般C=0.2pF,若允許C兩端電壓變化差為ΔV=1V,泄漏電流I=10-10A,則ΔT=3.動態(tài)RAM的刷新35因此,2ms以內(nèi)必須對存儲信息進(jìn)行刷新。盡管一行中的各個基本存儲電路在讀出或?qū)懭霑r(shí)都進(jìn)行了刷新,但對存儲器中各行的訪問具有隨機(jī)性,無法保證一個存儲器模塊中的每一個存儲單元都能在2ms內(nèi)進(jìn)行一次刷新。只有通過專門的存儲器刷新周期對存儲器進(jìn)行定時(shí)刷新才能保證存儲器刷新的系統(tǒng)性。在存儲器刷新周期中,將一個行地址發(fā)送給存儲器器件,然后執(zhí)行一次讀操作,便可完成對選中的行中各基本存儲電路的刷新。刷新周期和正常的存儲器讀周期的不同之處主要有以下幾點(diǎn):(1)在刷新周期中輸入至存儲器器件的地址一般并不來自地址總線,而是由一個以計(jì)數(shù)方式工作的寄存器提供。因此,2ms以內(nèi)必須對存儲信息進(jìn)行刷新。36每經(jīng)過一次(即一行)存儲器刷新,該計(jì)數(shù)器加1,所以它可以順序提供所有的行地址,每一行中各個基本存儲電路的刷新是同時(shí)進(jìn)行的,所以不需要列地址。而在正常的讀周期中,地址來自地址總線,既有行地址,又有列地址。(2)在存儲器刷新周期中,存儲器模塊中每塊芯片的刷新是同時(shí)進(jìn)行的,這樣可以減少刷新周期數(shù)。而在正常的讀周期中,只能選中一行存儲器芯片。(3)在存儲器刷新周期中,存儲器模塊中各芯片的數(shù)據(jù)輸出呈高阻狀態(tài),即片內(nèi)數(shù)據(jù)線與外部數(shù)據(jù)線完全隔離。從用于刷新的時(shí)間來說,刷新可采用“集中”或“分散”兩種方式的任何一種。每經(jīng)過一次(即一行)存儲器刷新,該計(jì)數(shù)器加37集中刷新方式是在信息保存允許的時(shí)間范圍(2ms)內(nèi),集中一段時(shí)間對所有基本存儲電路一行一行地順序進(jìn)行刷新,刷新結(jié)束后再開始工作周期。散刷新方式是把各行的刷新分散在2ms的期間內(nèi)完成。動態(tài)RAM的缺點(diǎn)是需要刷新邏輯,而且刷新周期存儲器模塊不能進(jìn)行正常讀/寫操作。但由于動態(tài)RAM集成度高、功耗低和價(jià)格便宜,所以在大容量的存儲器中普遍采用。以上我們介紹了動態(tài)RAM刷新的基本方法。至于具體實(shí)現(xiàn)刷新的有關(guān)支持邏輯和器件已超出本課程要求,這里就不介紹了。集中刷新方式是在信息保存允許的時(shí)間范圍(2387.3只讀存儲器ROMROM的特點(diǎn)是其內(nèi)容一旦設(shè)定就不能改變,至少不借助于特別的設(shè)備是不能改變的。由于它的結(jié)構(gòu)比較簡單(不需寫入電路),所以位密度高。ROM是非易失性存儲器,而且十分可靠。因此大部分存儲器系統(tǒng)既含有RAM模塊,又含有ROM模塊。一般在ROM中存放諸如引導(dǎo)裝入程序和不變的數(shù)據(jù)表之類的信息。有時(shí)用ROM存入常駐監(jiān)控程序和操作系統(tǒng)的其它適當(dāng)部分(這樣可省去引導(dǎo)裝入程序),甚至可存放永久性的語言解釋程序。ROM中內(nèi)容的建立過程有時(shí)稱為編程,但與前幾章中產(chǎn)生指令序列的過程不是一回事。按內(nèi)容的設(shè)定方式,ROM基本上分為3種類型。7.3只讀存儲器ROMROM的特點(diǎn)是其內(nèi)容39第1類ROM,其中的內(nèi)容是在廠家制造時(shí)采用掩模操作或稱掩模編程而建立的,用戶無法改變這種ROM器件中的內(nèi)容,這類ROM稱為掩模ROM,簡稱ROM。第2類ROM中的內(nèi)容是由用戶根據(jù)需要借助于專門的設(shè)備來建立的,這類ROM稱為可編程只讀存儲器(PROM)。如同掩模編程的ROM一樣,PROM一旦編程后,其中的內(nèi)容就再也不能改變了。第3類ROM不僅可由用戶編程,而且還可以用特殊的設(shè)備擦除其中的內(nèi)容并重復(fù)編程多次,它們被稱為可擦可編程只讀存儲器(EPROM)。根據(jù)擦去信息的方式不同,EPROM分為紫外線擦除的EPROM(簡稱EPROM)和電擦除的EPROM(ElectricallyEPROM)兩種,后者簡稱EEPROM(即E2PROM)。EEPROM用電信號擦除信息的時(shí)間為若干毫秒,比紫外線擦除信息的時(shí)間短得多。EEPROM的主要優(yōu)點(diǎn)是可按字節(jié)進(jìn)行擦除和重新編程。本節(jié)介紹掩模ROM、PROM和EPROM的基本原理。第1類ROM,其中的內(nèi)容是在廠家制造時(shí)采40

7.3.1掩模只讀存儲器ROM掩模只讀存儲器的基本組成原理可用圖7.8給出的4×4MOSROM來說明。地址輸入端A0和A1經(jīng)譯碼后輸出4條行選擇線,我們稱為字線。每條字線選中一個字,而每個字的4位由列線輸出,列線稱為位線。這種結(jié)構(gòu)稱為字位結(jié)構(gòu),即行線決定字,列線決定位。在字線(W0~W3)和位線(B0~B3)之間根據(jù)字的內(nèi)容需要跨接MOS管,如該位的信息為0,則跨接MOS管;如該位的信息為1,則不跨接MOS管。這樣,就構(gòu)成了一個簡單的ROM。在進(jìn)行讀出操作時(shí),根據(jù)地址碼A1A0狀態(tài)譯碼后,對應(yīng)字線為高電平,與該字線相連的MOS管導(dǎo)通,相應(yīng)位線為低電平,其它位線輸出高電平。7.3.1掩模只讀存儲器ROM41微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件42這樣位線的狀態(tài)組合代表了該字的內(nèi)容,即A1A0=00,B3B2B1B0=0110;A1A0=01,B3B2B1B0=0010;A1A0=10,B3B2B1B0=1001;A1A0=11,B3B2B1B0=0101。若在位線上加上讀出控制邏輯,4條位線就可連至外部數(shù)據(jù)線上。由于這種ROM中字線和位線之間是否跨接MOS管是根據(jù)存儲內(nèi)容在制造時(shí)的“掩?!惫に囘^程來決定的,所以稱為掩模ROM。這種ROM制造完畢后用戶不能更改所存信息。至于存儲矩陣的內(nèi)部結(jié)構(gòu),除上面介紹的字位結(jié)構(gòu)外,還有類似于RAM中雙譯碼或復(fù)合譯碼結(jié)構(gòu),這里不再說明。這樣位線的狀態(tài)組合代表了該字的內(nèi)容,即A143

7.3.2可編程只讀存儲器PROM可編程只讀存儲器PROM的基本存儲電路為一個晶體管。這里仍以字位結(jié)構(gòu)進(jìn)行說明。晶體管的集電極接VCC,它的基極連接字線,發(fā)射極通過一個熔絲與位線相連,見圖7.9?;敬鎯﹄娐分圃鞎r(shí),每條字線與所有位線之間都跨接一個帶熔絲的雙極性晶體管,就構(gòu)成了可編程只讀存儲器PROM。用戶編程時(shí),輸入地址碼,通過地址譯碼,選擇相應(yīng)的字線呈高電平,同時(shí),若要寫入信息0,則將相應(yīng)位線送上低電平,于是管子導(dǎo)通,只要適當(dāng)控制導(dǎo)通電流的強(qiáng)弱,可將熔絲燒斷;若要寫入1,則將相應(yīng)位線送上高電平,于是管子截止,熔絲不被燒斷。這樣可按地址完成字的內(nèi)容寫入。7.3.2可編程只讀存儲器PROM44微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件45讀出操作時(shí),首先給定地址,通過地址譯碼器使相應(yīng)字線呈高電平,從而選定該單元的各位。若某一位晶體管熔絲沒有斷,則位線被拉到VCC高電平,讀出信息為1;如果熔絲被燒斷,則位線仍為低電平,讀出信息為0。很顯然,熔絲在編程時(shí)一旦被燒斷后,不能再復(fù)原。因此,這種PROM用戶只能進(jìn)行一次編程。讀出操作時(shí),首先給定地址,通過地址譯碼器使相應(yīng)46

7.3.3可擦可編程只讀存儲器EPROM紫外線擦除EPROM的基本存儲電路由一個浮置柵雪崩注入MOS(FAMOS)管和一個普通MOS管串聯(lián)組成,如圖7.10所示。圖中FAMOS管作為存儲器件用,而另一個MOS管則作為地址選擇用,它的柵極受字線控制,漏極接位線并經(jīng)負(fù)載管到電源VCC。P溝道FAMOS管的結(jié)構(gòu)如圖7.11所示。FAMOS管的多晶硅柵浮置在絕緣的SiO2層中,與四周無電的接觸,稱為浮置柵。FAMOS管存儲器件是以浮置柵是否積存電荷來區(qū)分信息0與信息1的。對P溝道FAMOS管,在制造之后,浮置柵沒有電荷,則管子無導(dǎo)電溝道,D和S之間是不導(dǎo)通的。7.3.3可擦可編程只讀存儲器EPROM47微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件487.11P溝道FAMOS管結(jié)構(gòu)7.11P溝道FAMOS管結(jié)構(gòu)49所以字線被選中為高電平時(shí),位線也輸出高電平。如采用這樣的基本存儲電路組成存儲矩陣,可以認(rèn)為它存儲的信息全都為1。編程時(shí),根據(jù)需要可將選中的某些基本電路的D和S之間加一個25V高壓(正常為5V),另外加上編程脈沖(其寬度為50ms),它們的D和S之間就會瞬時(shí)擊穿并有電子通過絕緣層注入浮置柵。當(dāng)高壓去掉后,注入浮置柵的電子因有絕緣層包圍無處泄漏,浮置柵就為負(fù),形成導(dǎo)電溝道,F(xiàn)AMOS管導(dǎo)通。這時(shí)我們就認(rèn)為這些基本存儲電路被寫入了0。所以字線被選中為高電平時(shí),位線也輸出高電平。50在EPROM存儲器芯片上方有一個石英玻璃窗口,當(dāng)用紫外線照射這個窗口時(shí),所有基本存儲電路的浮置柵上的電荷會形成光電流泄漏掉,使電路恢復(fù)初始狀態(tài),從而把寫入的信息擦除。這樣就可以對其再次編程。這樣的EPROM芯片常用的有2708(1K×8)、2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)和27512(64K×8),還有各種容量的CMOSEPROM,如27C64(8K×8)、27C256(32K×8)、27C512(64K×8)、27C010(128K×8)、27C020(256K×8)和27C040(512K×8)等。編程高壓有12.5V,21V和25V,各種芯片的編程規(guī)范和工作速度也差別較大,應(yīng)用時(shí)應(yīng)參照有關(guān)廠家提供的技術(shù)資料,借助專門的編程器可方便地完成對EPROM的編程。在EPROM存儲器芯片上方有一個石英玻璃窗口51紫外線擦除EPROM的時(shí)間較長,并且不能只擦除個別單元的信息。近幾年來,電可改寫的可編程只讀存儲器E2PROM已被廣泛應(yīng)用。其主要特點(diǎn)是能在應(yīng)用系統(tǒng)中進(jìn)行在線讀寫,并可按字節(jié)進(jìn)行擦除和改寫。E2PROM除了并行傳送數(shù)據(jù)芯片外,還有各種容量串行傳送數(shù)據(jù)芯片。串行E2PROM具有體積小、成本低、電路連接簡單、占用系統(tǒng)地址線和數(shù)據(jù)線少等優(yōu)點(diǎn),但數(shù)據(jù)傳送速度較慢。紫外線擦除EPROM的時(shí)間較長,并且不能只527.4存儲器的組成

7.4.1存儲器芯片的擴(kuò)充在組成微機(jī)系統(tǒng)的存儲器模塊時(shí),需要位數(shù)少、容量小的存儲器芯片來組成存儲器模塊。下面我們討論存儲器芯片的位數(shù)和容量的擴(kuò)充問題。

1.位數(shù)的擴(kuò)充在微機(jī)中存儲器是以字節(jié)(8位)為單位進(jìn)行編址的。用1位或4位的存儲器芯片組成8位的存儲器模塊,可以用位并聯(lián)的方法。7.4存儲器的組成7.4.1存儲器芯片53例如,我們用2片Intel2114(1K×4位)芯片可以組成1K×8位存儲器模塊,如圖7.12所示。圖中芯片U1的4位數(shù)據(jù)線作為模塊的數(shù)據(jù)線D0~D3,芯片U2的4位數(shù)據(jù)線作為模塊的數(shù)據(jù)線D4~D7。而兩個芯片的地址線按同名引腳并接后作為模塊的地址線A0~A9,兩個芯片的控制線和分別并接后作為模塊的控制線和。這樣兩片1K×4位芯片經(jīng)過位擴(kuò)充成為1K×8位存儲器芯片組,對外等效于1個單片的1K×8位存儲器芯片。

2.容量的擴(kuò)充存儲器的容量與地址線的條數(shù)有關(guān)。由于一片存儲器芯片的容量是有限的,因此要組成一個大容量的存儲器模塊,通常需要幾片或幾十片存儲器芯片。例如,我們用2片Intel2114(54微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件55地址譯碼器是一種可以將地址碼翻譯成相應(yīng)控制信號的電路。它可以是2-4譯碼器或3-8譯碼器,也可以由組合邏輯電路構(gòu)成。譯碼電路可以將全部高位地址線作為輸入,也可以將部分高位地址線作為輸入,對應(yīng)的譯碼器分別稱為全譯碼器和部分譯碼器。全譯碼器的輸出有效狀態(tài)對應(yīng)唯一的高位地址,部分譯碼器由于有的高位地址線沒有參加譯碼,其0和1的取值為無關(guān)項(xiàng),因此高位地址不是唯一的,這就產(chǎn)生地址重迭問題。在這種情況下,存儲器模塊的任一存儲單元都可以用幾個不同的地址碼進(jìn)行訪問。沒有參加地址譯碼的地址線取值為0時(shí)對應(yīng)的一組地址為存儲器模塊的基本地址。其它的重迭地址稱為映像地址。有時(shí)利用部分譯碼簡化譯碼器邏輯。譯碼器電路邏輯決定了各芯片(或經(jīng)過位擴(kuò)充的芯片組)以及存儲器模塊的地址范圍。地址譯碼器是一種可以將地址碼翻譯成相應(yīng)控制信56下面我們以Intel2114SRAM構(gòu)成4K×8存儲器模塊為例,說明存儲器芯片的擴(kuò)充問題。由2114SRAM芯片構(gòu)成的4K×8存儲器模塊如圖7.13所示。若其中某一芯片有效,則由寫允許信號規(guī)定該片執(zhí)行讀操作還是寫操作。若無效,則信號對該片不起作用,其數(shù)據(jù)輸入/輸出端呈高阻狀態(tài)。這樣就可以把同一行4個2114芯片的相應(yīng)數(shù)據(jù)輸入/輸出端直接連在一起提供數(shù)據(jù)字節(jié)的4位。8片2114芯片排成2行4列。每一行由2片2114芯片進(jìn)行位擴(kuò)充構(gòu)成1K×8芯片組。4列將用地址串聯(lián)的方法構(gòu)成4K×8存儲器模塊。采用這種辦法時(shí),存儲器模塊中哪一列的芯片被選中,取決于哪一列的芯片片選信號即列選通0~列選通3中哪一個有效而被選中的一列中的芯片內(nèi)哪個存儲單元被選中,取決于A0~A9提供的地址碼。下面我們以Intel2114SRAM構(gòu)成57微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件58列選通信號由高位地址(本例中為A10和A11)控制,如果某一列選通信號有效,則該列被選中,該列上的兩片2114中對應(yīng)A0~A9地址碼的存儲單元都被選中。根據(jù)狀態(tài)決定進(jìn)行寫操作還是讀操作。概括地說,如果地址有16位,則A15~A12用來選擇存儲器模塊,A11和A10用來選擇該存儲器模塊中的一列,A9~A0用來選擇該列芯片中對應(yīng)的存儲單元。若該存儲器模塊占用的存儲器地址為4000H~4FFFH,則地址譯碼電路如圖7.14所示。圖中為存儲器請求信號,低電平有效,表明CPU和存儲器之間進(jìn)行讀寫操作。各列芯片組的地址范圍在列選通信號輸出線下方已有說明。列選通信號由高位地址(本例中為A10和A159微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件60

7.4.28位微機(jī)系統(tǒng)中存儲器組成

1.8位微機(jī)系統(tǒng)中存儲器組成特點(diǎn)在微機(jī)系統(tǒng)中,存儲器是按8位二進(jìn)制數(shù)(字節(jié))來構(gòu)成的。8位CPU的數(shù)據(jù)總線為8位,在每一個存儲器讀寫周期中只能完成一個字節(jié)的讀寫操作。16位數(shù)(字)的讀寫操作是用兩個讀寫周期完成的。8位CPU的地址總線為16位,它的64K存儲空間同屬一個單一的存儲體,即存儲體為64K×8位。圖7.15給出了8位微機(jī)系統(tǒng)中存儲器組成原理圖(圖中省略了控制信號)。7.4.28位微機(jī)系統(tǒng)中存儲器組成61微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件62在8位CPU組成的微機(jī)系統(tǒng)中,CPU可以訪問的存儲器地址空間為64K,地址范圍為0000H~FFFFH。其內(nèi)存儲器由ROM和RAM兩大模塊組成,而RAM又分為系統(tǒng)區(qū)(監(jiān)控程序或操作系統(tǒng)占用的內(nèi)存區(qū)域)和用戶區(qū)。組成存儲器時(shí),要根據(jù)CPU的特點(diǎn)合理安排ROM模塊的地址范圍和RAM模塊的地址范圍,這就是存儲器的地址分配。在組成存儲器時(shí),根據(jù)微機(jī)系統(tǒng)的需要來決定ROM模塊和RAM模塊的存儲容量,選定具體ROM和RAM的芯片,按照ROM模塊和RAM模塊各自的地址范圍決定存儲器具體組成。在具體設(shè)計(jì)時(shí),還要考慮CPU時(shí)序和存儲器芯片存取速度的配合。CPU在取指和存儲器讀或?qū)懖僮鲿r(shí),是有固定時(shí)序的,由此可以確定對存儲器的存取時(shí)間的要求,選擇滿足要求的芯片。在8位CPU組成的微機(jī)系統(tǒng)中,CPU可以63或者在存儲器芯片已經(jīng)確定情況下,考慮是否需要TW周期、TW周期的個數(shù)以及具體實(shí)現(xiàn)問題。也就是說CPU在存儲器讀寫周期中讀寫時(shí)間要大于所選擇的存儲器芯片規(guī)定的存取時(shí)間,否則,需要設(shè)計(jì)一個插入等待TW周期電路,使之CPU時(shí)序能與存儲器存取速度匹配。另外,CPU不同,存儲器控制信號名稱也不完全相同,不同的存儲器芯片的控制信號設(shè)置情況也不相同,在存儲器設(shè)計(jì)時(shí)根據(jù)CPU引腳和存儲器芯片引腳的功能描述正確連接。

2.8位微機(jī)系統(tǒng)中存儲器組成舉例這里我們以Z80CPU為例,說明8位微機(jī)系統(tǒng)中存儲器的組成?;蛘咴诖鎯ζ餍酒呀?jīng)確定情況下,考慮是否需要64Z80CPU地址總線為A0~A15},數(shù)據(jù)總線為D0~D7,對SRAM存儲器的控制信號有、、和。為存儲器請示信號,低電平有效,有效表明CPU和存儲器進(jìn)行數(shù)據(jù)傳送。為讀信號,低電平有效,有效時(shí)表明CPU正在執(zhí)行從存儲器或I/O端口輸入操作。為寫信號,低電平有效,有效時(shí)表明CPU正在執(zhí)行向存儲器或I/O端口的輸出操作。是存儲器或I/O設(shè)備向CPU發(fā)出的等待信號,低電平有效,CPU檢查其有效時(shí),將插入一個TW周期。由于Z80CPU加電復(fù)位后啟動地址為0000H,因此ROM模塊的地址分配在低端。Z80CPU地址總線為A0~A15},65我們選用的ROM模塊芯片為EPROM2764,容量為8K×8。該片引腳說明如下:A-0~A-{12}為地址線,O-0~O-7為數(shù)據(jù)線,CE為片選信號,為數(shù)據(jù)輸出允許信號。為編程控制信號,為編程電壓,正常讀出時(shí)和VPP均接+5V。工作電源VCC為+5V。我們選用的RAM模塊芯片為SRAM6264,容量為8K×8。該片引腳說明如下:A0~A12為地址線,D0~D7為數(shù)據(jù)線,為第1片選信號,低電平有效,CS2為第2片選信號,高電平有效,只有和CS2同時(shí)有效時(shí),芯片才被選中。為寫允許信號,低電平時(shí)為寫入,高電平時(shí)為讀出。為數(shù)據(jù)輸出允許信號,有效時(shí)選中單元的數(shù)據(jù)才從D0~D7輸出。工作電源VCC為+5V。我們選用的ROM模塊芯片為EPROM276466系統(tǒng)要求存儲器由16KB的ROM和16KB的RAM組成,ROM模塊的地址為0000H~3FFFH,RAM模塊的地址為8000H~BFFFH,時(shí)鐘頻率為2MHz。存儲器芯片2764和6264的速度均能滿足Z80CPU的讀/寫周期時(shí)序要求,因此不需要插入TW周期。16KBROM需要兩片2764芯片,16KBRAM需要兩片6264芯片。圖7.16給出了Z80CPU系統(tǒng)中16KBROM和16KBRAM存儲器邏輯圖。圖中U1和U2兩片2764構(gòu)成16KBROM,U3和U4兩片6264構(gòu)成16KBRAM。Z80CPU的地址總線A0~A12作為片內(nèi)地址分別連接到U1、U2、U3和U4芯片的相應(yīng)地址線引腳上。數(shù)據(jù)總線D0~D7分別連接到U1、U2、U3和U4芯片的相應(yīng)數(shù)據(jù)線引腳上。系統(tǒng)要求存儲器由16KB的ROM和67微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件68數(shù)據(jù)總線D0~D7分別連接到U1、U2、U3和U4芯片的相應(yīng)數(shù)據(jù)線引腳上。讀信號連接到U1、U2、U3、U4的引腳上,寫信號連接到兩片6264芯片的引腳上。6264的第2片選引腳CS2接+5V。4個芯片的片選信號由74LS138(U5)3-8譯碼器產(chǎn)生。74LS138的邏輯關(guān)系如表7.1所示。該片有3個片選端G1,及,必須使G1=1,=0及=0時(shí),允許譯碼輸出,芯片才有效工作,否則輸出全為高電平。A、B、C為3位輸入端,輸出為8根選擇線~,由邏輯關(guān)系表7.1可知,僅僅與輸入代碼對應(yīng)的選擇線為低電平有效,其它的選擇線為高電平。數(shù)據(jù)總線D0~D7分別連接到U1、U2、U369微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件70在圖7.16中,74LS138的片選信號引腳G1接+5V,接地,接Z80CPU控制信號,因而只有為有效低電平時(shí),譯碼器才允許譯碼輸出。參加譯碼控制是必要的,它保證了只有CPU訪問存儲器時(shí)譯碼器輸出才能有效。高位地址A13,A14,A15分別連到74LS138的A、B和C輸入端,輸出作為U1的片選信號,作為U2的片選信號,作為U3的片選信號,作為U4的片選信號。兩片2764和兩片6264的地址范圍如表7.2所示。在圖7.16中,74LS138的片71微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件72

7.4.38086系統(tǒng)中存儲器組成

1.8086系統(tǒng)中存儲器組成特點(diǎn)8086CPU的地址總線有20條,它的存儲器是以字節(jié)為存儲單元組成的,每個字節(jié)對應(yīng)一個唯一的地址碼,所以具有1MB(1048576B)的尋址能力。8086CPU數(shù)據(jù)總線16位,與8086CPU對應(yīng)的1MB存儲空間可分為兩個512KB(524288B)的存儲體。其中一個存儲體由奇地址的存儲單元(高字節(jié))組成,另一個存儲體由偶地址的存儲單元(低字節(jié))組成。前者稱為奇地址的存儲體,后者稱為偶地址的存儲體,如圖7.17所示(圖中省略了讀寫控制信號)。7.4.38086系統(tǒng)中存儲器組成73微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件74偶地址存儲體的數(shù)據(jù)線與16位數(shù)據(jù)總線的低8位(D7~D0)連接,地址存儲體的數(shù)據(jù)線與16位數(shù)據(jù)總線的高8位(D15~D8)連接。20位地址總線中的19條線(A19~A1)同時(shí)對這兩個存儲體尋址,地址總線中的另一條線(A0)只與偶地址存儲體相連接,用于對偶地址存儲體的選擇。當(dāng)A0為0時(shí),選中偶地址存儲體,當(dāng)A0為1時(shí),不能選中偶地址存儲體。奇地址存儲體的選擇信號為。在第6章我們介紹引腳功能時(shí)已說明了A0和的組合狀態(tài)所對偶地址存儲體的數(shù)據(jù)線與16位數(shù)據(jù)總線的75應(yīng)的傳送類型。從表7.3可以看出,A0和兩個信號相互配合,可同時(shí)對兩個存儲體進(jìn)行讀/寫操作,也可對其中一個存儲體單獨(dú)進(jìn)行讀/寫操作。當(dāng)進(jìn)行16位數(shù)據(jù)(字)操作時(shí),若這個數(shù)據(jù)的低8位存放在偶地址存儲體中,而高8位存放在奇地址存儲體中,則可同時(shí)訪問奇偶地址兩個存儲體,在一個總線周期內(nèi)可完成16位數(shù)據(jù)的存取操作。若16位數(shù)據(jù)在存儲器中的存放格式與上述格式相反,即低8位存放在奇地址存儲體中,而高8位存放在偶地址存儲體中,則需兩個總線周期才能完成此16位數(shù)據(jù)的存取操作第1個總線周期完成奇地址存儲體中低8位字節(jié)的數(shù)據(jù)傳送,然后地址自動加1;在第2個總線周期中完成偶地址存儲體中高8位字節(jié)的數(shù)據(jù)傳送。應(yīng)的傳送類型。從表7.3可以看出,A76微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件77上述從奇地址開始的16位(字)數(shù)據(jù)的兩步操作是由CPU自動完成的。除增加一個總線周期(4個時(shí)鐘周期)外,其它與從偶地址開始的16位數(shù)據(jù)操作完全相同。若傳送的是8位數(shù)據(jù)(字節(jié)),則每個總線周期可在奇地址或偶地址存儲體中完成一個數(shù)據(jù)的傳送操作。根據(jù)8086系統(tǒng)中存儲器組成原理,ROM模塊和RAM模塊都要由奇偶兩個地址存儲體來組織。8086CPU加電復(fù)位后啟動地址為FFFF0H,8086的中斷向量表放在存儲器地址的最低端00000H到003FFH之間,占有1K字節(jié)的存儲空間。因此8086系統(tǒng)中ROM模塊地址分配在存儲器地址空間高端。RAM模塊地址分配在存儲器地址空間的低端。上述從奇地址開始的16位(字)數(shù)據(jù)的兩步78在存儲器設(shè)計(jì)時(shí)同樣要考慮總線讀寫時(shí)序和存儲器芯片的存取速度的配合問題。

2.8086系統(tǒng)中存儲器組成舉例為了對8086系統(tǒng)中存儲器的組成有一個完整的了解,下面我們說明8086最小方式系統(tǒng)中存儲器組成的實(shí)例。在8086最小方式下,若系統(tǒng)要求16KB的ROM和16KB的RAM,那么ROM區(qū)的地址為FC000H~FFFFFH,RAM區(qū)地址為00000H~03FFFH,ROM采用兩片2764(8K×8)EPROM芯片,RAM采用兩片6264(8K×8)靜態(tài)SRAM芯片。時(shí)鐘頻率為4.77MHz。EPROM和SRAM芯片均能滿足總線周期時(shí)序的要求。在存儲器設(shè)計(jì)時(shí)同樣要考慮總線讀寫時(shí)序和存儲器79在6.1節(jié)已介紹了8086最小方式下系統(tǒng)總線結(jié)構(gòu)。8086最小方式系統(tǒng)與存儲器讀寫操作有關(guān)的信號線有:地址總線A0~A19,數(shù)據(jù)總線D0~D15,控制信號M/,,和。圖7.18給出了8086最小方式系統(tǒng)16KBROM和16KBRAM存儲器邏輯圖。在圖7.18中,U1和U2兩片2764EPROM芯片構(gòu)成16KBROM模塊,U3和U4兩片6264SRAM芯片構(gòu)成16KBRAM模塊。U1U3為偶地址存儲體,U2和U4為奇地址存儲體。ROM地址譯碼器的譯碼功能是由8輸入端與非門74LS30(U5)完成的,當(dāng)A14~A19和M/信號均為高電平時(shí),其輸出端為低電平,用它作為2764的片選信號。在6.1節(jié)已介紹了8086最小方式80圖7.188086最小方式系統(tǒng)16KBROM和16KBRAM存儲器邏輯圖圖7.188086最小方式系統(tǒng)16KBROM81對ROM只有讀操作,當(dāng)讀操作時(shí),無論從奇地址讀,還是從偶地址讀,無論是讀字節(jié),還是讀字,存儲器總是從偶地址開始讀出一個字回送給CPU,由CPU根據(jù)指令決定接收高位字節(jié),低位字節(jié)或者一個字。從奇地址開始的字的讀取則是由兩個總線周期完成的。RAM地址譯碼由兩個3輸入或非門74LS27(U6∶A和U6∶B)和一個3輸入與非門74LS10(U7∶A)完成。當(dāng)A14~A19均為低電平、M/信號為高電平時(shí),譯碼輸出為低電平。譯碼輸出和A0均為低電平時(shí),2輸入或門74LS32(U8∶A)輸出低電平,用它作為偶地址RAM芯片(U3)的片選信號。譯碼輸出和信號均為低電平時(shí),對ROM只有讀操作,當(dāng)讀操作時(shí),無論從奇地址822輸入或門74LS32(U8∶B)輸出低電平,用它作為奇地址RAM芯片(U4)的片選信號。兩片6264的第2片選信號引腳CS2均接+5V。在圖7.18中,控制總線中寫信號與6264的連接。讀信號與2764、6264的引腳連接。如將圖7.18中M/信號改為+5V,信號改為,改為,于是就組成8086最大方式系統(tǒng)16KBROM和16KBRAM存儲器邏輯圖,其地址分配與最小方式系統(tǒng)相同。2輸入或門74LS32(U8∶B)輸出837.5高速緩沖存儲器

7.5.1概述由于動態(tài)RAM(DRAM)集成度高且價(jià)格低,因此微機(jī)系統(tǒng)中主存儲器均采用DRAM構(gòu)成。近幾年來推出的高檔CPU的速度越來越快,而一般的低價(jià)DRAM速度很難滿足CPU對速度的要求。靜態(tài)RAM(SRAM)雖速度高,但價(jià)格高,用它構(gòu)成大容量主存儲器是根本不可能的。高速緩沖存儲器(CacheMomery,以下簡稱高速緩存)由小容量的高速SRAM和高速緩存控制器組成。它的功能是把CPU將要使用的指令和數(shù)據(jù)從DRAM主存儲器中復(fù)制到高速緩存SRAM中,而由高速緩存SRAM向CPU直接提供它所需要的大多數(shù)的指令和數(shù)據(jù),實(shí)現(xiàn)零等待狀態(tài)。7.5高速緩沖存儲器7.5.1概述84DRAM構(gòu)成的主存儲器和高速緩存一起構(gòu)成了動態(tài)存儲器系統(tǒng)。這種動態(tài)存儲器系統(tǒng)可以構(gòu)成模擬大量高速緩存的方式,使得整個系統(tǒng)以近乎DRAM的價(jià)格,提供近乎大容量SRAM的性能。命中率高的高速緩沖存儲器系統(tǒng)的存取速度接近于SRAM存儲器系統(tǒng)。在高速緩沖存儲器系統(tǒng)中,所有信息都存儲于主存儲器內(nèi),而其中一部分則拷貝一份存儲在高速緩存內(nèi)。每當(dāng)CPU要存取存儲器時(shí),都先檢查高速緩存。若所要的指令或數(shù)據(jù)在高速緩存內(nèi),則CPU直接存取高速緩存。這種情況稱為高速命中。反之,若CPU所要的指令或數(shù)據(jù)不在高速緩存內(nèi),則需存取較慢速的主存儲器,這種情況稱為高速未命中。在高速未命中,CPU在等待存取主存儲器時(shí),高速緩存控制器就將這些數(shù)據(jù)由主存儲器取入高速緩存內(nèi)。DRAM構(gòu)成的主存儲器和高速緩存一起構(gòu)成了動85由于使用高速緩存的主要目的在于提高訪問存儲器的速度,因而高速命中率愈高,高速緩沖存儲器系統(tǒng)的性能愈好理想的情況是如果我們能完全預(yù)測CPU未來要存取的存儲位置,而預(yù)先將這些存儲位置的內(nèi)容送入高速緩存內(nèi),則高速緩存的命中率可達(dá)百分之百。不過,這是不可能的。但是,絕大多數(shù)計(jì)算機(jī)程序都有一個基本特性,即程序緊接著需存取的存儲位置通常都位于目前其所存取的存儲位置附近。這一原則即稱為程序局部性(programlocality)或存取局部性(localityofreference)原理。由于使用高速緩存的主要目的在于提高訪問存儲器86程序局部性是明顯的。例如,一般程序的執(zhí)行都是順序地一一執(zhí)行相鄰的指令,因而彼此都很靠近。還有循環(huán)的執(zhí)行亦是CPU在一段期間內(nèi)均一直重復(fù)執(zhí)行同一組在一起的指令。此外,諸如數(shù)據(jù)變量的存取亦經(jīng)常是連續(xù)存取幾次。堆棧只能由棧頂一端存取,故一串的壓棧與彈出操作均存取距離目前棧頂不遠(yuǎn)的存儲位置。字符串或數(shù)組的存取亦經(jīng)常是循序地一一經(jīng)過每一元素。因此,根據(jù)局部性原理,在預(yù)測程序的存取類型不可能的情況下,提高高速命中率最可靠的方法即以高速緩存存取CPU在最近的過去一直在使用的指令與數(shù)據(jù)。因?yàn)?,根?jù)局部性原理,這些指令與數(shù)據(jù),亦是在最近的未來CPU所最可能用到的。在CPU第1次存取到某些位置時(shí),我們即將這些位置以及附近位置的內(nèi)容送入高速緩存內(nèi),若無意外,則這些新送入的存儲內(nèi)容應(yīng)當(dāng)是CPU稍后就會再存取到的。程序局部性是明顯的。例如,一般程序的執(zhí)行都是順87每次在CPU存取到不在高速緩存里面的新存儲區(qū)時(shí),我們都這樣做。而在高速緩存已經(jīng)存滿時(shí),我們即把現(xiàn)有高速緩存內(nèi)很久沒用到的部分刪除,讓高速緩存永遠(yuǎn)保存著最新的最常用的數(shù)據(jù)內(nèi)容。高速緩存控制器將主存儲器分成若干個塊,每一塊為2、4、8、16或32個字節(jié),并在需要時(shí),每次取入一個塊,而不是一個字節(jié)。這樣的塊可以包含處在所需字節(jié)前后的數(shù)據(jù)。塊的大小要適宜,否則影響系統(tǒng)的性能。高速SRAM均含有兩部分。其中,數(shù)據(jù)部分即含由主存儲器取入的存儲內(nèi)容。另外,標(biāo)志部分則含這些已取入的存儲內(nèi)容在主存儲器中的地址。常所指的高速緩存大小,即指其存儲數(shù)據(jù)那一部分的大小,而忽略標(biāo)志部分。高速緩存的大小也影響系統(tǒng)的性能。每次在CPU存取到不在高速緩存里面的新存儲區(qū)88另外,在CPU更新了高速緩存中某一存儲位置的內(nèi)容后,若對應(yīng)的主存儲器相應(yīng)位置的內(nèi)容未立即更新,則稍后新取入高速緩存的數(shù)據(jù)很可能正好存入剛被CPU更新過的高速緩存位置。這種情況稱為高速緩存更新內(nèi)容丟失。為防止此種現(xiàn)象發(fā)生,可采用通寫(writethrough)與回寫(writeback)兩種方式處理。對于通寫方式,每當(dāng)CPU對高速緩存某一位置進(jìn)行寫操作時(shí),高速緩存控制器會立即將這項(xiàng)新內(nèi)容寫入主存儲器所對應(yīng)的位置內(nèi)。對于回寫方式,高速緩存的每一存儲塊的標(biāo)志字段上都附有一更新位。若高速緩存某一存儲塊所含的數(shù)據(jù)曾被CPU更新過,但未同時(shí)更新主存儲器的對應(yīng)位置內(nèi)容時(shí),則該塊的更新位的值置為1。另外,在CPU更新了高速緩存中某一存儲位置的內(nèi)89每當(dāng)要將新的內(nèi)容寫入高速緩存任一存儲塊時(shí),高速緩存控制器即檢查該塊的更新位。若為0,則直接寫入;否則,先將該存儲塊現(xiàn)有內(nèi)容寫回主存儲器對應(yīng)位置后,再將新內(nèi)容寫入該存儲塊。高速緩存有3種類型,即全相關(guān)式高速緩存、直接映像式高速緩存和多路成組相關(guān)式高速緩存。后面我們將介紹直接映像式和多路成組相關(guān)式高速緩存的組成和原理。每當(dāng)要將新的內(nèi)容寫入高速緩存任一存儲塊時(shí),高速90

7.5.2內(nèi)部高速緩存80486CPU設(shè)置了8KB的內(nèi)部高速緩存,用于存儲指令和數(shù)據(jù)。CPU訪問內(nèi)部高速緩存比訪問主存儲器要大大節(jié)省時(shí)間,減少了對外部總線的使用,因而提高了系統(tǒng)的性能。Pentium片內(nèi)設(shè)置了兩個8KB內(nèi)部高速緩存,一個作為指令高速緩存,另一個作為數(shù)據(jù)高速緩存。指令和數(shù)據(jù)分別使用不同的高速緩存,使Pentium的性能大大超過80486。下面我們簡要介紹80486內(nèi)部高速緩存的結(jié)構(gòu)及操作。

1.內(nèi)部高速緩存的結(jié)構(gòu)80486CPU內(nèi)部高速緩存采用4路成組相關(guān)式結(jié)構(gòu)。存放指令數(shù)據(jù)的8KB高速SRAM分成4組,每組2KB。7.5.2內(nèi)部高速緩存91每組分成128行,行位置號為0~127,每行存儲16字節(jié)。與每組相對應(yīng)的存放標(biāo)志部分的SRAM為128×22位,每行對應(yīng)22位,其中1位為有效位(V),指示該行存儲的指令數(shù)據(jù)是否有效。另外21位為地址標(biāo)志,用于存放該行存儲的指令數(shù)據(jù)在主存儲器中的物理地址的高21位(位31~位11)。而物理地址的位10~位4共7位指明該地址標(biāo)志所在的行位置號,共指示128行。圖7.19給出了內(nèi)部高速緩存的結(jié)構(gòu)示意圖。2.內(nèi)部高速緩存的操作開機(jī)時(shí)高速緩存中無任何內(nèi)容,當(dāng)CPU執(zhí)行程序發(fā)出地址去讀主存儲器時(shí),讀取的內(nèi)容一方面供CPU去譯碼分析和執(zhí)行,同時(shí)還要將其內(nèi)容按塊(16字節(jié))“拷貝”到高速緩存的某行中,行號由該內(nèi)容在主存儲器中物理地址的位10~位4決定。每組分成128行,行位置號為0~1292微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件93與此同時(shí),還要將該內(nèi)容在主存儲器中物理地址的高21位登記在該行對應(yīng)的地址標(biāo)志中。此后,CPU每次讀取主存儲器時(shí),首先去高速緩存中查找,如果存于高速緩存中,則可快速從高速緩存中讀取指令數(shù)據(jù)。否則,須到主存儲器中去讀取所需的內(nèi)容。80486CPU訪問內(nèi)部高速緩存的命中率很高。如圖7.20所示,CPU訪問主存儲器時(shí)首先必須計(jì)算出32位的物理地址,然后按圖示順序進(jìn)行操作。其操作過程為:(1)根據(jù)物理地址的位10~位4的值確定4個組中對應(yīng)的行號;(2)將物理地址的高21位(位31~位11)分別與4個組中對應(yīng)行的地址標(biāo)志的內(nèi)容進(jìn)行比較;與此同時(shí),還要將該內(nèi)容在主存儲器中物理地址的94微型計(jì)算機(jī)原理與應(yīng)用第7章存儲器系統(tǒng)課件95(3)如某組(例如組3)對應(yīng)行的地址標(biāo)志的內(nèi)容與物理地址的高21位相一致,則高速命中,組3的該行被選中。(4)按物理地址低4位(位3~位0)確定對組3選中行的16個字節(jié)中規(guī)定字節(jié)進(jìn)行讀/寫操作。若組0~組3對應(yīng)行的地址標(biāo)志內(nèi)容都與物理地址高21位不一致,則未高速命中,此時(shí)需訪問CPU外的主存儲器,且同時(shí)還要將包含訪問內(nèi)容的數(shù)據(jù)塊從主存儲器中送入內(nèi)部高速緩存中,以提高后續(xù)訪問的高速命中率。在READ未命中周期中,CPU從主存儲器讀取數(shù)據(jù),其數(shù)據(jù)也被寫入高速緩存的行組部分,其行號由數(shù)據(jù)的物理地址位10~位4決定。數(shù)據(jù)的物理地址的高21位被登記在所選擇行組的地址

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論