存儲(chǔ)器及其接口_第1頁(yè)
存儲(chǔ)器及其接口_第2頁(yè)
存儲(chǔ)器及其接口_第3頁(yè)
存儲(chǔ)器及其接口_第4頁(yè)
存儲(chǔ)器及其接口_第5頁(yè)
已閱讀5頁(yè),還剩147頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第三章 存儲(chǔ)器及其接口存儲(chǔ)器就是計(jì)算機(jī)中存儲(chǔ)計(jì)算程序、原始數(shù)據(jù)及中間結(jié)果的設(shè)備。計(jì)算機(jī)系統(tǒng)要求存儲(chǔ)器容量大、速度快和成本低,但往往這三者在同一個(gè)存儲(chǔ)器中不能同時(shí)取得。為了解決這一矛盾,采用了分級(jí)存儲(chǔ)器結(jié)構(gòu),通常把存儲(chǔ)器分為高速緩沖存儲(chǔ)器、主存儲(chǔ)器和外存儲(chǔ)器三級(jí)。其中高速緩存和主存統(tǒng)稱為內(nèi)存。 本章只討論處理器與內(nèi)存之間的接口。廣義而言,所謂微機(jī)接口是指微機(jī)系統(tǒng)中各部分之間的聯(lián)系,但對(duì)接口的研究常常是以處理器為核心的,所以一般地將接口理解為處理器與外界的聯(lián)系。從CPU的角度看,存儲(chǔ)器類似于外設(shè),是一種必不可少、占用地址最多、被CPU訪問最為頻繁的外部設(shè)備。因此在CPU與存儲(chǔ)器之間同樣存在接口的問

2、題,只不過兩者關(guān)系十分密切而其接口相對(duì)比較簡(jiǎn)單。習(xí)慣上把CPU和內(nèi)存儲(chǔ)器合稱為主機(jī)。微機(jī)中,內(nèi)存儲(chǔ)器由半導(dǎo)體存儲(chǔ)器組成。 3.1 概述3.1.1 對(duì)存儲(chǔ)設(shè)備的要求根據(jù)存儲(chǔ)器應(yīng)用場(chǎng)合的不同,對(duì)存儲(chǔ)器的要求也會(huì)有所差異,但總的來說,有以下幾方面需要考慮。1 存取速度要快存儲(chǔ)器存取速度的快慢直接關(guān)系到整個(gè)系統(tǒng)的工作效率,尤其是作為直接運(yùn)行程序場(chǎng)所的主存儲(chǔ)器,更是希望其存取速度快;否則,處理速度再快的CPU也無法充分發(fā)揮其性能。因此,存取速度的快慢,應(yīng)是首先要考慮的因素。2 存儲(chǔ)容量要大存儲(chǔ)器的存儲(chǔ)容量越大,可以存儲(chǔ)的信息越豐富。存儲(chǔ)容量的大小是選用存儲(chǔ)器的重要因素之一。3 可靠性要好對(duì)于易失性存儲(chǔ)器

3、,在供電期間數(shù)據(jù)在未修改的情況下存儲(chǔ)要穩(wěn)定;對(duì)于非易失性存儲(chǔ)器,非易失性要好,非易失性是指當(dāng)斷開電源后,存儲(chǔ)器存儲(chǔ)的數(shù)據(jù)仍然保持完好而不丟失的性能。只要對(duì)存儲(chǔ)的內(nèi)容不進(jìn)行修改就可以一直保存,能完整保存的時(shí)間越久越好,這有利于信息資料的保護(hù)。4 存取操作要方便對(duì)存儲(chǔ)器中信息的存取通常都是根據(jù)需要,有選擇地進(jìn)行,因此,希望存儲(chǔ)器的存取操作越方便越好,想要讀取或修改哪一部分的存儲(chǔ)內(nèi)容,很快就能找到選中的位置。5 體積小和重量輕通常都希望存儲(chǔ)設(shè)備盡量少占物理空間,易于移動(dòng),這對(duì)于便攜式的微機(jī)(筆記本電腦)來說,卻是一個(gè)重要因素。存儲(chǔ)器必須要盡量體積小、重量輕。6 性價(jià)比要好任何產(chǎn)品,在性能相同的情況下

4、,其價(jià)格越低,就越受用戶的歡迎,產(chǎn)品就越有競(jìng)爭(zhēng)力,存儲(chǔ)器也不例外,當(dāng)然應(yīng)考慮選擇性能價(jià)格比高的產(chǎn)品。以上對(duì)存儲(chǔ)器的要求,可能不會(huì)各方面都能同時(shí)滿足,但應(yīng)根據(jù)需要綜合考慮,選擇適當(dāng)?shù)拇鎯?chǔ)器產(chǎn)品。3.1.2 存儲(chǔ)設(shè)備的分類存儲(chǔ)設(shè)備的種類很多,按不同的考慮,可以有不同的分類。例如,按應(yīng)用場(chǎng)合的不同,可分為內(nèi)存儲(chǔ)器與外存儲(chǔ)器:按存儲(chǔ)器的工作原理,可分為半導(dǎo)體存儲(chǔ)器、磁介質(zhì)存儲(chǔ)器和光碟存儲(chǔ)器等:按存儲(chǔ)特性,又可分為易失性存儲(chǔ)器和非易失性存儲(chǔ)器;按尋址特性,還可以分為隨機(jī)尋址存儲(chǔ)器、順序?qū)ぶ反鎯?chǔ)器和直接尋址存儲(chǔ)器等。在下一節(jié)中再具體介紹。 3.2 半導(dǎo)體存儲(chǔ)器半導(dǎo)體存儲(chǔ)器具有體積小、速度快、耗電少、價(jià)格低

5、的優(yōu)點(diǎn),在微機(jī)中得到了廣泛的應(yīng)用。半導(dǎo)體器件種類繁多,性能各異,在進(jìn)行存儲(chǔ)器及其接口設(shè)計(jì)時(shí),必須首先了解各類存儲(chǔ)器件的性能及結(jié)構(gòu)特征。半導(dǎo)體存儲(chǔ)器根據(jù)其存儲(chǔ)信息的功能,分為易失性存儲(chǔ)器和非易失性存儲(chǔ)器。易失性存儲(chǔ)器指的是隨機(jī)存儲(chǔ)器 (隨意存取記憶) ,又稱為讀寫存儲(chǔ)器,是指一種在機(jī)器運(yùn)行期間可讀也可寫的存儲(chǔ)器,其在關(guān)閉電源后所存的信息將會(huì)全部丟失,通常被用于暫存運(yùn)行的程序和數(shù)據(jù)。非易失性存儲(chǔ)器則是一種在機(jī)器運(yùn)行期間,只能讀出信息而不能隨時(shí)寫入信息的存儲(chǔ)器,其在掉電后所存的信息不會(huì)丟失,通常用來存放固定不變的程序和數(shù)據(jù),如引導(dǎo)程序與基本輸入輸出系統(tǒng)程序等。3.2.1 易失性存儲(chǔ)器易失性存儲(chǔ)器主要

6、是指隨機(jī)訪問存儲(chǔ)器RAM(Random Access Memory)。RAM是計(jì)算機(jī)中用來存放數(shù)據(jù)、程序及運(yùn)算結(jié)果,直接與CPU進(jìn)行信息交換的場(chǎng)所。易失性存儲(chǔ)器按存儲(chǔ)電路的性質(zhì)或者存儲(chǔ)元件在運(yùn)行中能否長(zhǎng)時(shí)間保存信息,可分為靜態(tài)隨機(jī)存取儲(chǔ)存器和動(dòng)態(tài)隨機(jī)存取儲(chǔ)存器。1 靜態(tài)隨機(jī)存取儲(chǔ)存器(SRAM)(1)SRAM的主要特點(diǎn)所謂靜態(tài)隨機(jī)存取儲(chǔ)存器,是用雙穩(wěn)態(tài)觸發(fā)器來作存儲(chǔ)元件的,不存在電容的刷新問題,只要電源正常供電,觸發(fā)器就能穩(wěn)定地存儲(chǔ)數(shù)據(jù),因此稱為靜態(tài)隨機(jī)存取儲(chǔ)存器。其存儲(chǔ)單元的每一位都是由雙穩(wěn)觸發(fā)器和選通門電路組成的;而整個(gè)存儲(chǔ)器由存儲(chǔ)單元組成的陣列和控制電路組成。單個(gè)存儲(chǔ)器芯片的存儲(chǔ)容量,因

7、型號(hào)不同而異。SRAM 的主要特點(diǎn)是:連接使用方便(不需要刷新電路),工作穩(wěn)定,存取速度快(約為動(dòng)態(tài)隨機(jī)存取儲(chǔ)存器DRAM的 3 5 倍),使用簡(jiǎn)單;但由于每一位的存儲(chǔ),都用好幾個(gè)晶體管,因此功耗較大,單片的存儲(chǔ)容量不易做得很高,集成度較低,價(jià)格較貴。近些年來,SRAM在降低功耗、提高集成度和存取速度方面,都得到了很大改進(jìn)。由于價(jià)格相對(duì)較高,計(jì)算機(jī)主存用得很少,主要用作高速緩沖存儲(chǔ)器(Cache)。(2)雙端口SRAM雙端口SRAM具有兩個(gè)可以獨(dú)立訪問存儲(chǔ)器任意存儲(chǔ)單元的端口。在某些系統(tǒng)中有時(shí)存在著兩個(gè)或兩個(gè)以上的主控模塊(如CPU與DMA控制器等),這些主控模塊之間有時(shí)需要相互通信或共享存儲(chǔ)

8、器,雙端口SRAM對(duì)此提供了方便,從而可以簡(jiǎn)化控制邏輯電路。雙端口SRAM有下列基本特點(diǎn):兩個(gè)端口有各自獨(dú)立的地址線,數(shù)據(jù)輸入/輸出線以及口選信號(hào),讀/寫控制,輸出使能等信號(hào)線。兩個(gè)端口共同使用存儲(chǔ)單元,統(tǒng)一供電。允許兩個(gè)端口同時(shí)訪問不同的地址單元,但不允許兩個(gè)端口同時(shí)訪問同一地址單元。片內(nèi)有裁決邏輯,任何一個(gè)單元,在某一時(shí)刻只許一個(gè)端口訪問。當(dāng)一個(gè)端口被訪問時(shí),另一端口則被封鎖,前者訪問操作完成后,才允許后者訪問。為此,兩個(gè)端口各有一個(gè)輸出標(biāo)志信號(hào),作為聯(lián)絡(luò)信號(hào)。 (3)FIFO存儲(chǔ)器FIFO(First-In First-Out)存儲(chǔ)器即先進(jìn)先出存儲(chǔ)器,也是SRAM的一種。FIFO存儲(chǔ)器可

9、以看成為另一種形式的雙端口SRAM,但兩個(gè)端口中,一個(gè)端口只能寫入數(shù)據(jù),而另一端口只能輸出數(shù)據(jù)。寫入的數(shù)據(jù)是存放在指定的單元中,若不斷電可以一直保持不變,除非被新寫入的數(shù)據(jù)所更改。這些存儲(chǔ)單元的內(nèi)容可以反復(fù)被讀出。通過FIFO算法進(jìn)行內(nèi)部尋址,讀/寫操作會(huì)自動(dòng)訪問存儲(chǔ)器中的連續(xù)存儲(chǔ)單元,讀出的數(shù)據(jù)順序與寫入的順序相同。操作時(shí)不需要外部地址,先寫入的先讀出。FIFO存儲(chǔ)器可以被看成是具有兩個(gè)獨(dú)立同步時(shí)鐘的數(shù)字子系統(tǒng)之間的“通道窗口”。當(dāng)兩個(gè)子系統(tǒng)傳輸數(shù)據(jù)的速率不同時(shí),F(xiàn)IFO存儲(chǔ)器可以為它們提供并行輸入/輸出的有彈性的緩沖,彈性的大小取決于FIFO存儲(chǔ)器的容量深度(即容量大小)。 2 動(dòng)態(tài)存儲(chǔ)器

10、DRAM(1)DRAM的基本特點(diǎn)DRAM的存儲(chǔ)原理是基于電容能存儲(chǔ)電荷的特性。存儲(chǔ)單元的每一位可用一個(gè)晶體管和一個(gè)與之相連的小電容來實(shí)現(xiàn)。若寫入位為“1”,則電容被充電:若寫入位為“0”,則電容不被充電。讀出時(shí),用晶體管來讀與之相連的電容的電荷狀態(tài)。若電容被充電,則該位為“1”;若電容沒有被充電,則該位為“0”。由于用來存儲(chǔ)數(shù)據(jù)的電容極其微小及電容漏電阻的存在,會(huì)使電容存儲(chǔ)的電荷逐漸泄放掉,從而造成存儲(chǔ)數(shù)據(jù)的丟失。因此,這種存儲(chǔ)器的每個(gè)位單元,每隔一定時(shí)間(如若干毫秒)就要重新充電一次,以維持原來的數(shù)據(jù)不丟失,稱之為刷新。為了保持存儲(chǔ)器中的數(shù)據(jù),必須不斷地、周期性地對(duì)所有存儲(chǔ)單元中的所有位進(jìn)行

11、刷新,這也正是動(dòng)態(tài)存儲(chǔ)器的含義。刷新按行進(jìn)行,不需要列地址,在同一行的所有位同時(shí)被刷新。DRAM由于每一個(gè)存儲(chǔ)位僅用一個(gè)晶體管和一個(gè)小電容,因此集成度比較高。就單個(gè)芯片的存儲(chǔ)容量而言,DRAM可以遠(yuǎn)遠(yuǎn)超過SRAM。就相同容量的芯片而言,DRAM的價(jià)格也大大低于SRAM。這兩個(gè)優(yōu)點(diǎn)使DRAM成為計(jì)算機(jī)內(nèi)存的主要角色。DRAM的各存儲(chǔ)單元通常按方陣排列。為減少芯片的引腳數(shù),地址引腳采用了分時(shí)復(fù)用,尋址時(shí)除了要交叉地輸入行地址和列地址以外,還要使行地址選通和列地址選通分別有效。先鎖存行地址,后輸入列地址,它們的建立和保持有嚴(yán)格的定時(shí)要求。由于DRAM需要刷新控制和行列地址分時(shí)復(fù)用控制,使得它比SRA

12、M的接口要復(fù)雜一些。另外,DRAM的存取速度,一般比SRAM要慢,通常都要幾十納秒(ns),這樣的存取速度已遠(yuǎn)遠(yuǎn)不能滿足高速系統(tǒng)的需要,使之成為系統(tǒng)的“瓶須”。DRAM的主要特點(diǎn):集成度較高,地址引腳信號(hào)分時(shí)復(fù)用,數(shù)據(jù)輸入和輸出信號(hào)分離,需要刷新電路,接口電路復(fù)雜,存取速度比SRAM慢。在PC中主要作為內(nèi)存(主存) 。(2)DRAM的改進(jìn)技術(shù)為提高DRAM的存取速度,人們采用了多種方法,近幾年來,使存取速度有了很大提高,取得了突破性進(jìn)展。DRAM的存取過程包括初選的行地址、隨后的列地址以及接下來的數(shù)據(jù)傳送。選擇行地址和列地址需要一定的等待時(shí)間,是一種必要的系統(tǒng)開銷,但都延緩了數(shù)據(jù)存取的時(shí)間。存

13、取時(shí)間是數(shù)據(jù)傳送的周期時(shí)間加上選擇行地址和列地址的等待時(shí)間。隨著提高存取速度技術(shù)的發(fā)展,相繼出現(xiàn)了幾種類型的DRAM。 快頁(yè)式FPM DRAM(Fast Page Mode DRAM) 擴(kuò)展數(shù)據(jù)輸出動(dòng)態(tài)隨機(jī)存儲(chǔ)器EDO DRAM 突發(fā)式(Bust)EDO DRAM 同步動(dòng)態(tài)存儲(chǔ)器(SDRAM) 和DDR SDRAM SLDRAM RDRAM 帶有高速緩存的動(dòng)態(tài)存儲(chǔ)器CDRAM (3)內(nèi)存條及其接口各種各樣的動(dòng)態(tài)存儲(chǔ)器,無論如何,當(dāng)作為PC機(jī)的內(nèi)存使用時(shí),都必須按一定的接口方法與PC機(jī)的主板連接。內(nèi)存儲(chǔ)器不是以單個(gè)的存儲(chǔ)器芯片的形式,而是以模塊的形式與主板連接。按照類型和存儲(chǔ)器容量的要求,首先將

14、若干片DRAM芯片焊接在一小塊條形印制電路板上,將印制電路板以插件板的形式,插入到PC機(jī)主板的內(nèi)存標(biāo)準(zhǔn)插座上。該內(nèi)存儲(chǔ)器的電路板就是一個(gè)存儲(chǔ)器模塊,通常稱為內(nèi)存條。按內(nèi)存條的引腳線數(shù)分為30線、72線和168線3種,前兩種內(nèi)存條為單列直插內(nèi)存模塊SIMM(Single Inline Memory Module),其中30線的SIMM只能提供8位有效數(shù)據(jù),現(xiàn)在已基本淘汰了。72線的SIMM提供32位的有效數(shù)據(jù)。168線的內(nèi)存條為雙列直插內(nèi)存模塊DIMM(Double Inline Memory Module),提供64位有效數(shù)據(jù)。(4) 內(nèi)存條存儲(chǔ)器芯片的識(shí)別內(nèi)存芯片一般標(biāo)記了生產(chǎn)廠家、芯片的容

15、量、存取速度、類型和數(shù)據(jù)寬度等指標(biāo)。每個(gè)廠家的標(biāo)記方式都不太一樣。 3 偽靜態(tài)隨機(jī)存儲(chǔ)器PSRAM偽靜態(tài)隨機(jī)存儲(chǔ)器PSRAM是一種在片內(nèi)集成了刷新控制電路的DRAM。這種存儲(chǔ)器芯片既集中了DRAM存儲(chǔ)密度高、功耗低與價(jià)格低等優(yōu)點(diǎn),又同時(shí)避免了刷新控制接口的設(shè)計(jì),用較低的成本提供了一些SRAM的特性,引腳與用法可以像SRAM一樣。這類芯片有些具有同步和異步兩種工作方式,特別適用于地址與數(shù)據(jù)總線復(fù)用的微處理器和微控制器系統(tǒng) 。3.2.2 非易失性存儲(chǔ)器前面介紹的DRAM和SRAM均為可任意讀寫的隨機(jī)存儲(chǔ)器,當(dāng)?shù)綦姇r(shí),所存儲(chǔ)的內(nèi)容會(huì)立即消失,所以是易失性存儲(chǔ)器。下面介紹的非易失性存儲(chǔ)器,即使停電,所

16、存儲(chǔ)的內(nèi)容也不會(huì)丟失。根據(jù)半導(dǎo)體制作工藝的不同,可分為ROM、OTPROM、EPROM、EEPROM和Flash存儲(chǔ)器等。 1 只讀存儲(chǔ)器ROMROM由芯片制造商在制造時(shí)寫入內(nèi)容,以后只能讀而不能再寫入。其基本存儲(chǔ)原理是以元件的 “有/無”來表示該存儲(chǔ)單元的信息(“1”或“0”),可以用二極管或晶體管作為元件,顯而易見,其存儲(chǔ)內(nèi)容是不會(huì)改變的。現(xiàn)在計(jì)算機(jī)中現(xiàn)已很少使用。 2 一次性編程的OTPROMOTPR0M(One Time Programmable ROM)即可以一次性編程寫入的ROM,只能一次性編程寫入。過去多采用雙極性熔絲式。用每位熔絲是否斷開表示“l(fā)”或“0”。由于編程寫入后各位熔

17、絲狀態(tài)就無法再改變,因此只能讀出,不能再寫入。這種ROM因只能被編程一次,在測(cè)試階段不能對(duì)產(chǎn)品進(jìn)行編程性能檢測(cè),所以可靠性和可信度不高,也是逐漸淘汰的產(chǎn)品。后來不少?gòu)S家采用了EPROM技術(shù)來生產(chǎn)OTPROM,即將所有芯片在生產(chǎn)過程中都進(jìn)行編程檢驗(yàn),同時(shí)進(jìn)行性能測(cè)試,合格芯片在封裝前再將程序擦除,這樣就保證了產(chǎn)品都有合格的性能。用戶使用時(shí)可以重新編程寫入,但寫入后就不能再被擦除了。3 可多次編程寫入的只讀存儲(chǔ)器為了便于對(duì)ROM的內(nèi)容進(jìn)行修改,人們推出了可以多次編程寫入的只讀存儲(chǔ)器。(1)用紫外線擦除的可編程的UV-EPROM通常簡(jiǎn)稱EPROM。以NMOS工藝的MOS器件為例,未寫入時(shí),各單元的每

18、一位都呈“1”狀態(tài)。編程寫入時(shí),根據(jù)編程需要,使相關(guān)位的浮柵注入電子,使其呈“0”狀態(tài),這可通過在該位的源漏極之間加高壓并在漏極上加一定寬度的正脈沖,造成雪崩擊穿來實(shí)現(xiàn)。當(dāng)電壓撤除后,注入浮柵的電荷就駐留在浮柵上,從而保持了寫入的“0”。擦除時(shí),是用紫外線通過芯片頂部的石英窗口對(duì)芯片進(jìn)行照射(約20分鐘),就可以使浮柵上注人的電子釋放掉,使有關(guān)的位從“0”變?yōu)椤?”,使各單元變?yōu)閷懭肭暗娜?”狀態(tài)。EPROM芯片的可靠性和使用壽命都與使用方法有關(guān)。不同廠家的產(chǎn)品對(duì)編程寫入時(shí)所加電壓的要求可能不同,一定要按廠家的要求來使用,否則會(huì)縮短芯片的使用壽命,甚至報(bào)廢??捎脤iT的編程器對(duì)EPROM進(jìn)行編

19、程寫入,寫入完成后,應(yīng)將芯片上的石英窗口遮蓋起來,以防止被紫外線照射后丟失數(shù)據(jù)或程序。EPROM擦除時(shí),必須脫機(jī)進(jìn)行紫外線照射,而且一次擦除必須將整個(gè)芯片存儲(chǔ)的全部?jī)?nèi)容都擦掉,因此要修改程序很不方便。(2)電可擦除的可編程存儲(chǔ)器EEPROM稱為E2PROM。不像EPROM那樣必須脫機(jī)用紫外線來擦除,而是用電來擦除,可以直接由計(jì)算機(jī)聯(lián)機(jī)進(jìn)行編程和修改。它既可以整片擦除,也可以按字節(jié)進(jìn)行擦除和再編程,從而克服了一般EPROM的缺點(diǎn)。4 Flash存儲(chǔ)器由Intel公司于1988年首先推出的。所謂Flash可譯為快閃或閃存,實(shí)際上Flash 存儲(chǔ)器就是可用電快速擦寫的非易失性存儲(chǔ)器,簡(jiǎn)稱Flash。

20、快速是相對(duì)于E2PROM而言的。從原理上看,F(xiàn)lash存儲(chǔ)器屬于ROM型存儲(chǔ)器,但它可以隨時(shí)改寫所存信息;從功能上看,它又相當(dāng)于RAM,使以前對(duì)RAM與ROM的劃分變得模糊起來。但從存取速度和擦寫的壽命兩方面來衡量,它還趕不上DRAM,因此,在計(jì)算機(jī)中,目前它還是作為ROM的一種來應(yīng)用。在工業(yè)控制與辦公設(shè)備等領(lǐng)域,F(xiàn)lash可用來作為在線改寫的ROM。近幾年Flash Memory發(fā)展迅速。 5 鐵電存儲(chǔ)器FRAM是一種非易失性存儲(chǔ)器新技術(shù)。它克服了Flash存儲(chǔ)器的擦寫速度慢,以及可寫次數(shù)壽命不太長(zhǎng)等缺點(diǎn)而倍受人們的關(guān)注。1992年美國(guó)Ramtron公司首先推出了高位數(shù)的產(chǎn)品。FRAM有可能

21、成為一種理想的存儲(chǔ)器。FRAM的結(jié)構(gòu)與DRAM有些相像,但其對(duì)數(shù)據(jù)的存儲(chǔ)不是利用電容對(duì)電荷的存儲(chǔ),而是利用鐵電電容被電場(chǎng)極化后的雙穩(wěn)特性,來表示數(shù)據(jù)為“1”或?yàn)椤?”。FRAM有如下主要優(yōu)點(diǎn)。(1)寫入數(shù)據(jù)的速度快:數(shù)據(jù)寫入時(shí)間比前面所介紹的幾種非易失性存儲(chǔ)器快若干數(shù)量級(jí)。(2)擦寫次數(shù)壽命長(zhǎng):可重寫次數(shù)也遠(yuǎn)遠(yuǎn)高于前面幾種非易失性存儲(chǔ)器,讀寫次數(shù)可以高達(dá)1億次。(3)功耗低(4)體積?。号c其他非易失性存儲(chǔ)器相比,F(xiàn)RAM的體積更小??傊?,F(xiàn)RAM是一種正在大力開發(fā)的新型非易失性存儲(chǔ)器,它優(yōu)越的特性,使其獨(dú)具魅力,雖然目前產(chǎn)品的品種還不多,單個(gè)芯片的存儲(chǔ)容量也還不夠大,但它有著廣闊的發(fā)展前景。隨

22、著制造工藝的不斷改進(jìn),一定會(huì)有性能更好的FRAM產(chǎn)品占領(lǐng)市場(chǎng)。3.3 內(nèi)存的管理80X86系列CPU有兩種內(nèi)存管理模式,即實(shí)地址模式和保護(hù)虛地址模式。下面分別進(jìn)行介紹。1 實(shí)地址模式實(shí)地址方式是為了與8086兼容而設(shè)置的工作方式。在實(shí)地址方式下,具有32位地址線的80X86只有低20位地址線起作用,能尋址1MB的物理地址。在此工作方式下,80X86只相當(dāng)于一個(gè)快速的8086。在此方式下,內(nèi)存被分成段來進(jìn)行管理,每段的長(zhǎng)度被限定為64KB。在8086中,物理地址的計(jì)算方法為:物理地址段寄存器的內(nèi)容16(左移4位) + 偏移量具有32位地址線的80X86的最大邏輯地址為FFFFH:FFFFH,因而

23、相應(yīng)的最大物理地址為:FFFF0H+FFFFH=10FFEFH,即內(nèi)存實(shí)空間10FFF0H個(gè)字節(jié),這只比1088KB只少16個(gè)字節(jié),一般算作1088KB。對(duì)于8086/8088,由于其沒有A20地址線,最大物理地址限定為FFFFFH,相應(yīng)于最大物理地址的邏輯地址只是F000:FFFFH(或FFFF:000FH等,實(shí)模式允許多個(gè)邏輯地址映射成同一物理地址),即內(nèi)存實(shí)空間只有1024KB(1MB)??梢钥闯?,當(dāng)工作在實(shí)模式下,80X86因?yàn)橛蠥20地址線,其內(nèi)存(1088KB)比8086(1MB)多64KB。在實(shí)地址方式下,處理器的物理地址實(shí)質(zhì)上也是這樣產(chǎn)生的。在實(shí)地址方式下,段寄存器的內(nèi)容會(huì)自動(dòng)

24、乘16,并放在段描述符寄存器的基地址中。段界限也固定為0FFFFH,即64KB。80 x86處理器其他屬性也是固定的。這種物理地址的形成與8086在本質(zhì)上沒有區(qū)別。在實(shí)地址方式下,Pentium、486、386和286提供的內(nèi)存空間只有1MB,段界限為64KB,當(dāng)偏移量超出此界限時(shí),會(huì)發(fā)生異常。因此,可以說在實(shí)地址方式下,Pentium、486、386和286是一個(gè)高速的8086,他們的許多優(yōu)秀性能,如多任務(wù)與多級(jí)保護(hù)等,均無法實(shí)現(xiàn)。2 保護(hù)虛地址模式只有當(dāng)CPU工作于保護(hù)虛地址模式下時(shí), 80X86才能充分發(fā)揮其功能。存儲(chǔ)單元地址仍然由段基址:偏移地址構(gòu)成。與實(shí)模式相比,根本的區(qū)別在于如何確

25、定段基址。P107。在保護(hù)方式下,內(nèi)存中的每個(gè)邏輯段對(duì)應(yīng)一個(gè)8個(gè)字節(jié)的段描述符,多個(gè)描述符構(gòu)成一張段描述符表。由描述符表中的段基址結(jié)合偏移地址才能得到線性地址和物理地址。由段基址和偏移地址轉(zhuǎn)換得到的地址稱為線性地址。當(dāng)啟用分頁(yè)機(jī)制時(shí),線性地址轉(zhuǎn)換為物理地址;不啟用時(shí),線性地址就是物理地址。為了加快尋址速度,每個(gè)段寄存器增加了一個(gè)段描述符高速緩沖器。段寄存器中的值是該段的描述符在表中的索引值,所以段寄存器又稱為段選擇符。地址轉(zhuǎn)換以80286為例。邏輯地址的表達(dá)式是“段選擇符:段內(nèi)偏移量”,兩部分仍各為16位長(zhǎng)。在具體訪問內(nèi)存前,選段符也是裝入四個(gè)16位的段寄存器CS、DS、ES和SS中的某一個(gè)。

26、選段符的高13位是描述符表的索引值 (這也是每個(gè)描述符表最多有8192個(gè)表項(xiàng)的原因),實(shí)際上就是所說的段號(hào)。將此索引值擴(kuò)大8倍,則此16位的值就是被選中描述符項(xiàng)在全局描述符表(GDT)或當(dāng)前局部描述符表(LDT)中的表內(nèi)字節(jié)偏移量,并判斷它是否超出表限。然后由GDTR或LDTR給出的描述符表的基址(24位)加上合法的16位的表內(nèi)偏移量,為訪問內(nèi)存的24位物理地址,讀取由此位置開始的8個(gè)字節(jié)。實(shí)際上只是把被選中描述符的未保留的6個(gè)字節(jié)讀入CPU。這是地址轉(zhuǎn)換的第一步,即訪問段表。為寄存讀取的描述符的6字節(jié),80286為四個(gè)段寄存器的每個(gè)都擴(kuò)展了48位的段描述符高速緩沖寄存器。在保護(hù)模式下,段寄存

27、器及其擴(kuò)展部分的結(jié)構(gòu)如圖3.3所示。地址轉(zhuǎn)換的第二步,是將取來的描述符給出的24位段基址與邏輯地址中給出的16位段內(nèi)偏移量(當(dāng)然,要與段限比較后是合法值)相加,最終得到由“選段符:段內(nèi)偏移量”邏輯地址轉(zhuǎn)換來的24位物理地址。3.3.2 PC系列微機(jī)的存儲(chǔ)器空間在當(dāng)前PC機(jī)中多使用80286CPU以上的芯片,與8086不同的是,80X86CPU至少有24根地址線,可訪問的地址空間至少可達(dá)到16MB。在PC機(jī)中可以專門對(duì)80X86CPU的A20地址線進(jìn)行控制。當(dāng)A20=1時(shí),允許訪問1MB以上的64K地址空間,這個(gè)地址空間稱為高位存儲(chǔ)區(qū)(HMA),這是在實(shí)模式下可以訪問的保護(hù)模式的存儲(chǔ)器區(qū)域。在保

28、護(hù)模式下80X86CPU可以訪問至少16MB地址空間,1MB以上的地址空間稱作擴(kuò)展存儲(chǔ)區(qū)(XMS),圖3.4給出了其存儲(chǔ)空間分配情況.(1)基本內(nèi)存基本內(nèi)存(Conventional Memory)是指地址范圍在00000-A0000內(nèi)的這一連續(xù)區(qū)域內(nèi)的內(nèi)存(共640KB),也稱為常規(guī)內(nèi)存,在這一內(nèi)存地址空間內(nèi),DOS不需要任何內(nèi)存管理程序即可直接訪問.一般情況下,如果沒有其他內(nèi)存管理程序,在DOS下的各種程序和數(shù)據(jù),包括DOS本身,都是在此范圍內(nèi)運(yùn)行,在基本內(nèi)存中的各種程序都是以實(shí)模式方式運(yùn)行。由于常規(guī)內(nèi)存只有640KB,而系統(tǒng)在運(yùn)行某個(gè)DOS應(yīng)用程序時(shí)一般都要將該程序調(diào)入到常規(guī)內(nèi)存中,因此

29、這一內(nèi)存就顯得格外緊張.直到現(xiàn)在,為保持向下兼容性,一般DOS應(yīng)用程序直接使用的也是這部分內(nèi)存,因而這是最寶貴也是最緊張的內(nèi)存資源.對(duì)常規(guī)存儲(chǔ)器進(jìn)行管理的目標(biāo)是在滿足系統(tǒng)需求的基礎(chǔ)上盡可能少的利用常規(guī)存儲(chǔ)器,使這段存儲(chǔ)器能剩余更多的空間為用戶運(yùn)行程序而使用。在這640KB中,分為中斷向量區(qū),BIOS數(shù)據(jù)區(qū),DOS核心部分(IO.SYS,MSDOS.SYS),COMMAND.COM程序區(qū)和用戶可利用空間,其中系統(tǒng)程序就已占用了110KB以上的空間,留給用戶的不足600KB.DOS運(yùn)行在實(shí)模式下,而實(shí)模式的地址空間是1MB,那么是什么限制了常規(guī)內(nèi)存只有640KB?是DOS自己,確切地說,是系統(tǒng)的硬

30、件結(jié)構(gòu)。系統(tǒng)硬件把A0000以上的地址留給了接口板的數(shù)據(jù)區(qū)和ROM BIOS等. (2)上位內(nèi)存(Upper Memory)從640K到1024K的這384K的內(nèi)存叫做上位內(nèi)存,又稱為保留內(nèi)存。上位內(nèi)存具體又可分為以下一些區(qū)域:A0000-AFFFF(640K-704K)是VGA/EGA的ROM和數(shù)據(jù)區(qū),共64K;B0000-B7FFF(704K-736K)是MDA數(shù)據(jù)區(qū),共32K;B8000-C3FFF(736K-812K)由CGA/EGA使用,共76K,其中736K-752K是CGA數(shù)據(jù)區(qū),768K-784K為EGA的ROM區(qū);C4000-DFFFF(812K-896K)沒有使用,共84K

31、B;E0000-EFFFF(896K-960K)供其他ROM使用,共64K;F0000-FFFFF(960K-1024K)為系統(tǒng)ROM BIOS使用,共64K。在上位內(nèi)存已占用的塊中,總有一些沒用的塊,對(duì)于這些沒用的區(qū)域不能直接用來存取數(shù)據(jù),要利用一些專門軟件(如EMM386.EXE)來使這個(gè)區(qū)域再生,將未用的那些區(qū)域變成所謂的上位內(nèi)存塊(Upper Memory Block)。上位內(nèi)存塊有兩個(gè)特點(diǎn):UMB的位置和大小隨系統(tǒng)配置不同而不同;不宜用RAM芯片來填充UMB,主要是實(shí)現(xiàn)比較困難(3)擴(kuò)展內(nèi)存(Extended Memory)DOS所能直接管理和使用的內(nèi)存共計(jì)1MB,擴(kuò)展內(nèi)存就是指超過

32、這1MB以上的內(nèi)存區(qū)。擴(kuò)展內(nèi)存的大小與CPU的尋址能力有關(guān),或者說取決于CPU地址總線的寬度。如8086可管理1MB的物理內(nèi)存,而80386/486則可管理4GB的物理內(nèi)存。因此,擴(kuò)展內(nèi)存數(shù)量就是在上述內(nèi)存上限的基礎(chǔ)上減去1MB。其中,位于1024K1088K的這64K存儲(chǔ)區(qū)被稱為高位內(nèi)存區(qū)(HMA),HMA的特殊性在于可以用實(shí)模式方式來訪問這一段擴(kuò)展內(nèi)存。在DOS下有一個(gè)擴(kuò)展內(nèi)存管理與控制程序:HIMEM.SYS,只要運(yùn)行該程序,就可以把物理的擴(kuò)展內(nèi)存納入到XMS規(guī)范的管理和擴(kuò)展之下,并實(shí)現(xiàn)對(duì)HMA的訪問。(4)擴(kuò)充內(nèi)存擴(kuò)充內(nèi)存(Expanded Memory)是早期為了系統(tǒng)內(nèi)存的不足(當(dāng)時(shí)

33、只有640KB),而在系統(tǒng)中增加的內(nèi)存,并且是滿足EMS規(guī)范的一種非線性內(nèi)存,就是說,它是一種在CPU尋址之外的物理存儲(chǔ)器,也稱為EMS內(nèi)存。它是利用內(nèi)存換頁(yè)(Banking Paging)的方式來處理DOS基本內(nèi)存1MB之外的內(nèi)存。實(shí)際中,需要加載一個(gè)“擴(kuò)充內(nèi)存管理程序EMM(Expanded Memory Manager)”,它會(huì)在DOS的保護(hù)模式下在上位內(nèi)存中開一個(gè)64KB的空間,來記錄要“換頁(yè)”的位置。早期是用專門制作的擴(kuò)充內(nèi)存卡作EMS內(nèi)存,現(xiàn)在多數(shù)是用擴(kuò)展內(nèi)存來仿真EMS內(nèi)存。擴(kuò)充內(nèi)存的重要意義在于CPU不必切換到保護(hù)模式就能訪問多于1MB的RAM。 3.3.3 常規(guī)內(nèi)存的管理DO

34、S實(shí)現(xiàn)內(nèi)存管理的重要數(shù)據(jù)結(jié)構(gòu)是內(nèi)存控制塊MCB(Memory Control Block)。通過MCB把全部?jī)?nèi)存塊(已分配和空閑的)按位置順序連成鏈,使DOS能掌握常規(guī)內(nèi)存的分配使用情況。但是,DOS對(duì)MCB鏈的保護(hù)幾乎沒有采取任何措施,不少類型的病毒就是通過非法修改MCB鏈而把自己藏匿于內(nèi)存之中的。 3.3.4 擴(kuò)展內(nèi)存的管理擴(kuò)展內(nèi)存是地址高于1MB的線形地址存儲(chǔ)空間,只能被運(yùn)行在保護(hù)模式的80X86所訪問。對(duì)于運(yùn)行于實(shí)地址模式下的DOS及它控制下的程序通常不能在擴(kuò)展內(nèi)存上運(yùn)行,甚至也不能為存取數(shù)據(jù)而訪問這部分內(nèi)存。為了對(duì)實(shí)模式程序提供某種訪問擴(kuò)展內(nèi)存的途徑,產(chǎn)生了XMM(XMS內(nèi)存管理程序

35、)。XMS最基本的功能是使兩個(gè)或多個(gè)應(yīng)用程序,以及設(shè)備驅(qū)動(dòng)程序能夠互不干擾地訪問擴(kuò)展內(nèi)存(含HMA)和上位內(nèi)存。程序存放數(shù)據(jù)到延伸內(nèi)存之前,先要訪問XMS內(nèi)存管理程序(如HIMEM.SYS),請(qǐng)求留出一塊空間。如果有可用內(nèi)存,XMS內(nèi)存管理程序就返回一個(gè)句柄給請(qǐng)求程序,供它訪問擴(kuò)展內(nèi)存使用。一旦某程序已擁有一塊內(nèi)存區(qū),那么在它未釋放之前,XMS內(nèi)存管理程序?qū)⒔谷魏蝿e的程序使用這塊內(nèi)存。3.4 存儲(chǔ)器接口技術(shù)存儲(chǔ)器接口也和其他接口一樣,主要完成三大總線的連接任務(wù),即實(shí)現(xiàn)與地址總線、控制總線和數(shù)據(jù)總線的連接。下面對(duì)存儲(chǔ)器接口設(shè)計(jì)中應(yīng)考慮的幾個(gè)主要問題以及總線連接的具體方法進(jìn)行討論。 3.4.1

36、存儲(chǔ)器接口中應(yīng)考慮的幾個(gè)問題 1.與CPU之間的時(shí)序配合存儲(chǔ)器與CPU之間的時(shí)序配合問題是整個(gè)微型計(jì)算機(jī)系統(tǒng)可靠和高效地工作的關(guān)鍵。CPU訪問存儲(chǔ)器是有固定時(shí)序的,由此確定了對(duì)存儲(chǔ)器存取速度的要求。在早期的計(jì)算機(jī)中,CPU和存儲(chǔ)器是作為一個(gè)整體統(tǒng)一設(shè)計(jì)的,所以時(shí)序匹配問題已在設(shè)計(jì)時(shí)協(xié)調(diào)解決。但隨著大規(guī)模集成電路的發(fā)展,現(xiàn)有的CPU和存儲(chǔ)器一般都是分別設(shè)計(jì)和制造的,因而時(shí)序配合問題便成為接口設(shè)計(jì)中應(yīng)考慮的問題之一。為了使CPU能與不同速度的存儲(chǔ)器相連,一種常用的方法是使用“等待申請(qǐng)”信號(hào)。當(dāng)CPU不能在正常的讀寫周期內(nèi)完成對(duì)慢速存儲(chǔ)器的操作時(shí),等待信號(hào)發(fā)生器向CPU發(fā)出等待申請(qǐng)信號(hào),使CPU在正

37、常的讀寫周期外插入一個(gè)或者幾個(gè)等待周期,以便通過改變指令的時(shí)鐘周期數(shù)使系統(tǒng)速度變慢,從而達(dá)到與慢速存儲(chǔ)器匹配的目的。例如,8086CPU中的READY(準(zhǔn)備就緒)輸入線就是為協(xié)調(diào)CPU與存儲(chǔ)器或I/O端口之間的速度而設(shè)計(jì)的一條等待狀態(tài)請(qǐng)求線。8086的系統(tǒng)總線周期由4個(gè)時(shí)鐘周期T1T4(又稱為T狀態(tài))組成。正常情況下CPU要求存儲(chǔ)器讀/寫操作在4個(gè)T周期內(nèi)完成,并規(guī)定在T1周期發(fā)送地址,T2周期發(fā)送讀/寫命令,T3周期將數(shù)據(jù)送數(shù)據(jù)總線,T4周期結(jié)束讀/寫操作。當(dāng)存儲(chǔ)器不能滿足CPU速度要求時(shí),則在T3周期開始時(shí)通過READY向CPU發(fā)出等待請(qǐng)求信號(hào),CPU在T3周期前沿采樣該信號(hào),若有等待請(qǐng)求

38、(READY為低),則在T3和T4之間插入一個(gè)或多個(gè)等待周期Tw(又稱為等待狀態(tài))。在Tw周期內(nèi)總線上的活動(dòng)與T3周期相同,所有控制信息、狀態(tài)信息、地址信息和數(shù)據(jù)信息均保持不變。因此,在進(jìn)行8086與存儲(chǔ)器接口設(shè)計(jì)時(shí),應(yīng)分析所選存儲(chǔ)器的讀/寫速度能否滿足CPU的時(shí)序要求。若需要插入等待周期TW,則應(yīng)該設(shè)計(jì)一個(gè)等待信號(hào)發(fā)生器,使之按規(guī)定向CPU發(fā)出READY信號(hào)。設(shè)計(jì)等待信號(hào)發(fā)生器的注意事項(xiàng):(1) 產(chǎn)生等待申請(qǐng)的條件。每當(dāng)有存儲(chǔ)器操作時(shí)即發(fā)生等待申請(qǐng)。該條件可以是存儲(chǔ)器訪問信號(hào)、存儲(chǔ)器讀寫控制信號(hào)或者地址譯碼信號(hào)。(2) CPU檢測(cè)時(shí)刻的要求。CPU檢測(cè)有無等待申請(qǐng)的時(shí)刻是固定的(如8086C

39、PU是在T3周期的前沿),所以發(fā)出的等待申請(qǐng)信號(hào)必須保證在相應(yīng)時(shí)刻有效。(3) 等待周期長(zhǎng)度的控制插入等待周期。插入等待周期的個(gè)數(shù)取決于等待申請(qǐng)信號(hào)的寬度,當(dāng)需要插入多個(gè)等待周期時(shí),可以增加觸發(fā)器的級(jí)數(shù)。2.CPU總線負(fù)載能力任何系統(tǒng)總線的負(fù)載能力總是有限的。在CPU設(shè)計(jì)時(shí),一般輸出線的直流負(fù)載能力為一個(gè)TTL負(fù)載。當(dāng)采用MOS存儲(chǔ)器時(shí),由于直流負(fù)載很小,主要的負(fù)載是電容負(fù)載,故在小型系統(tǒng)中,CPU可以直接與存儲(chǔ)器相連。但對(duì)于較大的系統(tǒng),當(dāng)CPU的總線不能直接帶動(dòng)所有存儲(chǔ)器芯片時(shí),就要加上緩沖器或驅(qū)動(dòng)器,以提高總線負(fù)載能力。采用不同的存儲(chǔ)芯片組織一個(gè)存儲(chǔ)器,就會(huì)有不同的結(jié)構(gòu),總線上也就有不同的

40、負(fù)載。一般當(dāng)總線負(fù)載數(shù)超過限定時(shí)應(yīng)當(dāng)加接驅(qū)動(dòng)器。3.存儲(chǔ)芯片的選用存儲(chǔ)芯片的選用不僅和存儲(chǔ)器結(jié)構(gòu)相關(guān),而且和存儲(chǔ)器接口設(shè)計(jì)直接相關(guān)。采用不同類型和不同型號(hào)的芯片構(gòu)造的存儲(chǔ)器,其接口的方法和復(fù)雜程度不同。一般應(yīng)根據(jù)存儲(chǔ)器的存放對(duì)象、總體性能、芯片的類型和特征等方面綜合考慮。 (1) 對(duì)芯片類型的選用。存儲(chǔ)芯片類型的選擇與對(duì)存儲(chǔ)器總體性能的要求以及用來存放的具體內(nèi)容相關(guān)。高速緩沖存儲(chǔ)器是為了提高CPU訪問存儲(chǔ)器速度而設(shè)置的,存放的內(nèi)容是當(dāng)前CPU訪問最多的程序和數(shù)據(jù),要求既能讀出又能隨時(shí)更新,所以是一種可讀可寫的高速小容量存儲(chǔ)器。一般選用雙極型RAM或者高速M(fèi)OS靜態(tài)RAM芯片構(gòu)成。主存儲(chǔ)器要兼顧

41、速度和容量?jī)煞矫嫘阅?,存放的?nèi)容一般既有永久性的程序和數(shù)據(jù),又有需要隨時(shí)修改的程序和數(shù)據(jù),故通常由ROM和RAM兩類芯片構(gòu)成。其中,對(duì)RAM芯片類型的選擇又與容量要求相關(guān),當(dāng)容量要求不太大(如64K字節(jié)以內(nèi))時(shí)用靜態(tài)RAM組成較好,因?yàn)殪o態(tài)RAM狀態(tài)穩(wěn)定,不需要?jiǎng)討B(tài)刷新,接口簡(jiǎn)單。相反,當(dāng)容量要求很大時(shí)適合于用動(dòng)態(tài)RAM組成,因?yàn)閯?dòng)態(tài)RAM比靜態(tài)RAM集成度高、功耗小和價(jià)格低。對(duì)ROM芯片的選擇則一般從靈活性考慮選EPROM和EEPROM的較多。(2) 對(duì)芯片型號(hào)的選用芯片類型確定以后,在進(jìn)行具體芯片型號(hào)選擇時(shí),一般應(yīng)考慮存取速度、存儲(chǔ)容量、結(jié)構(gòu)和價(jià)格等因素。存取速度最好選用與CPU時(shí)序相匹配

42、的芯片。否則,若速度慢了,則需增加時(shí)序匹配電路;若速度太快,又將使成本增加,造成不必要的浪費(fèi)。存儲(chǔ)芯片的容量和結(jié)構(gòu)直接關(guān)系到系統(tǒng)的組成形式、負(fù)載大小和成本高低。一般在滿足存儲(chǔ)系統(tǒng)總?cè)萘康那疤嵯拢瑧?yīng)盡可能選用集成度高和存儲(chǔ)容量大的芯片。這樣不僅可降低成本,而且有利于減輕系統(tǒng)負(fù)載,縮小存儲(chǔ)模塊的幾何尺寸。存儲(chǔ)芯片容量越大,總線負(fù)載越小??偩€上芯片接得很多時(shí),不但系統(tǒng)中要加接更多的總線驅(qū)動(dòng)器,而且可能由于負(fù)載電容變得很大而使信號(hào)產(chǎn)生畸變。存儲(chǔ)芯片的構(gòu)成地址譯碼器:讀寫控制邏輯電路:數(shù)據(jù)緩沖器:存儲(chǔ)體:存儲(chǔ)芯片的主體,由基本存儲(chǔ)元按照一定的排列規(guī)律構(gòu)成。存儲(chǔ)元的排列方式分為字結(jié)構(gòu)方式、位結(jié)構(gòu)方式。字結(jié)

43、構(gòu)方式是指將芯片上所有存儲(chǔ)元排列成不同的存儲(chǔ)單元,每個(gè)單元一個(gè)字,每個(gè)字的各位在同一個(gè)芯片內(nèi)。例如1K*8位的芯片。位結(jié)構(gòu)方式是指將芯片上所有存儲(chǔ)元排列成不同的存儲(chǔ)單元,每個(gè)單元一位,即將所有存儲(chǔ)元排列成不同字的同一位。例如8K*1位的芯片。大量芯片采用兩種方式相結(jié)合,例如2K*4位的芯片。顯然,存儲(chǔ)單元的數(shù)量與地址線多少有關(guān),每個(gè)單元的位數(shù)與數(shù)據(jù)線多少有關(guān)。3.4.2 存儲(chǔ)器地址譯碼方法 存儲(chǔ)器的地址譯碼是任何存儲(chǔ)器設(shè)計(jì)的核心,目的是保證CPU能對(duì)所有存儲(chǔ)單元實(shí)現(xiàn)正確尋址。由于目前每一片存儲(chǔ)芯片的容量是有限的,所以一個(gè)存儲(chǔ)器總是由若干存儲(chǔ)芯片構(gòu)成。地址譯碼分為片選控制譯碼和片內(nèi)地址譯碼。其中

44、,片選控制譯碼電路對(duì)高位地址進(jìn)行譯碼后產(chǎn)生存儲(chǔ)芯片的片選信號(hào);片內(nèi)地址譯碼電路對(duì)低位地址譯碼實(shí)現(xiàn)片內(nèi)存儲(chǔ)單元的尋址。接口電路中主要完成片選控制譯碼以及低位地址總線的連接。 1.片選控制的譯碼方法常用的片選控制譯碼方法有線選法、全譯碼法、部分譯碼法和混合譯碼法等。 片選譯碼時(shí)應(yīng)該考慮CPU能夠?qū)ぶ返奈锢淼刂房臻g大小與實(shí)際配置的主存儲(chǔ)器容量大小的關(guān)系。 (1)線選法當(dāng)存儲(chǔ)器容量不大,所使用的存儲(chǔ)芯片數(shù)量不多,而CPU尋址空間遠(yuǎn)大于存儲(chǔ)器容量時(shí),可用高位地址線直接作為存儲(chǔ)芯片的片選信號(hào),每一根地址線選通一塊芯片,這種方法稱為線選法。 例如,假定某微機(jī)系統(tǒng)的存儲(chǔ)容量為4KB,CPU尋址空間為64KB(

45、即地址總線為16位),所用芯片容量為1KB(即片內(nèi)地址為10位)。那么,可用線選法從高6位地址中任選4位作為4塊存儲(chǔ)芯片的片選控制信號(hào)。圖3.5所示為選用A10A13作為片選控制的結(jié)構(gòu)示意圖。 圖中,存儲(chǔ)器地址分布如表3.1所示。 圖中,存儲(chǔ)器地址分布如表3.1所示。 芯片地址空間A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0十六進(jìn)制 地 址 碼(1)0 0 0 1 0 0 0 0 0 0 0 0 0 00 0 0 1 1 1 1 1 1 1 1 1 1 10400H07FFH(2)0 0 1 0 0 0 0 0 0 0 0 0 0 00 0 1 0

46、 1 1 1 1 1 1 1 1 1 10800H0BFFH(3)0 1 0 0 0 0 0 0 0 0 0 0 0 00 1 0 0 1 1 1 1 1 1 1 1 1 11000H13FFH(4)1 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 1 1 1 1 1 1 1 1 1 12000H23FFH優(yōu)點(diǎn)是連線簡(jiǎn)單,片選控制無需專門的譯碼電路。但該方法有兩個(gè)缺點(diǎn),一是當(dāng)存在空閑地址線時(shí),由于空閑地址線可隨意取值0或1,故將可能導(dǎo)致地址重疊(同一個(gè)存儲(chǔ)單元對(duì)應(yīng)多個(gè)不同地址)。例如,上例中,當(dāng)?shù)刂肪€A15、A14取不同值時(shí),各芯片將對(duì)應(yīng)不同的地址編碼;二是整個(gè)存儲(chǔ)器地址分

47、布不連續(xù),使可尋址范圍減小。(2)全譯碼法全譯碼法除了將低位地址總線直接與各芯片的地址線相連接之外,其余高位地址總線全部譯碼后作為各芯片的片選信號(hào)。 例如,CPU地址總線為16位,存儲(chǔ)芯片容量為8KB。采用全譯碼方式尋址64KB容量存儲(chǔ)器的結(jié)構(gòu)示意圖如圖3.6所示。 全譯碼法可以提供對(duì)全部存儲(chǔ)空間的尋址能力。當(dāng)存儲(chǔ)器容量小于可尋址的存儲(chǔ)空間時(shí),可從譯碼器輸出線中選出連續(xù)的幾根作為片選控制,多余的令其空閑,以便需要時(shí)擴(kuò)充。 優(yōu)點(diǎn):存儲(chǔ)器的地址惟一確定(無重疊)且是連續(xù)的,既無地址間斷也無地址重疊現(xiàn)象。(3) 部分譯碼法部分譯碼法是將高位地址線中的一部分進(jìn)行譯碼,產(chǎn)生片選信號(hào)。該方法常用于不需要全

48、部地址空間的尋址能力,但采用線選法地址線又不夠用的情況。例如,CPU地址總線為16位,存儲(chǔ)器由4片容量為8KB的芯片構(gòu)成時(shí),采用部分譯碼法的結(jié)構(gòu)示意圖如圖3.7所示。 采用部分譯碼法時(shí),由于未參加譯碼的高位地址與存儲(chǔ)器地址無關(guān),即這些地址的取值可隨意,所以存在地址重疊的問題。此外,如果從高位地址中選擇不同的地址位參加譯碼,將對(duì)應(yīng)不同的地址空間。 即:地址可能不惟一(有重疊) 且可能不連續(xù)。(4)混合譯碼法混合譯碼法是將線選法與部分譯碼法相結(jié)合的一種方法 。用于片選控制的高位地址分為兩組:其中一組的地址(通常為較低位)采用部分譯碼法,經(jīng)譯碼后的每一個(gè)輸出作為一塊芯片的片選信號(hào);另一組地址(通常為

49、較高位)則采用線選法,每一位地址線作為一塊芯片的片選信號(hào)。缺點(diǎn):可能會(huì)地址重疊;地址不連續(xù)。例如,當(dāng)CPU地址總線為16位,存儲(chǔ)器由10片容量為2KB的芯片構(gòu)成時(shí),可用混合譯碼法實(shí)現(xiàn)片選控制,圖3.8給出了采用該方法的結(jié)構(gòu)示意圖。 2.地址譯碼電路的設(shè)計(jì) 存儲(chǔ)器地址譯碼電路的設(shè)計(jì)一般遵循如下步驟: 1)根據(jù)系統(tǒng)中實(shí)際存儲(chǔ)器的容量,確定存儲(chǔ)器在整個(gè)地址空間的地址范圍; 2)根據(jù)每個(gè)芯片的實(shí)際容量,畫出地址分配表/分配圖;3)確定譯碼方法并畫出地址位圖;4)選用合適的器件,畫出譯碼電路圖。例1:某微機(jī)系統(tǒng)地址總線為16位,實(shí)際存儲(chǔ)器容量為16KB,ROM區(qū)和RAM區(qū)各占8KB。其中,ROM區(qū)采用容

50、量為2KB的EPROM芯片,RAM區(qū)采用容量為1KB的靜態(tài)RAM芯片。試設(shè)計(jì)該存儲(chǔ)器的地址譯碼電路。按照設(shè)計(jì)的一般步驟,設(shè)計(jì)過程如下: 該系統(tǒng)的尋址空間最大為64KB,假定實(shí)際存儲(chǔ)器占用最低16KB的存儲(chǔ)空間,即地址為0000H3FFFH。其中0000H1FFFH為EPROM區(qū),2000H3FFFH為RAM區(qū)。 根據(jù)所采用的存儲(chǔ)芯片容量,可畫出地址分配圖如3.9所示;地址分配表如表3.2所示。 確定譯碼方法并畫出相應(yīng)的地址位圖。地址分配圖和分配表給出了實(shí)際存儲(chǔ)器的地址空間以及各存儲(chǔ)芯片對(duì)應(yīng)的地址范圍。由于EPROM芯片與RAM芯片的存儲(chǔ)容量不同,所以用于片內(nèi)尋址的地址位數(shù)也不同。EPROM芯片

51、容量為2KB,需要11位地址;RAM芯片容量為1KB,只需要10位地址,這就使得用于片選控制譯碼的地址位也不相同。對(duì)這類譯碼問題通常有兩種解決方法:第一種方法是用各自的譯碼電路分別譯碼產(chǎn)生各自的片選信號(hào)。第二種方法是分兩次譯碼,即先按芯片容量大的進(jìn)行一次譯碼直接產(chǎn)生較大容量芯片的片選信號(hào),然后結(jié)合小容量芯片剩余的高位地址線進(jìn)行二次譯碼最后產(chǎn)生小容量芯片的片選信號(hào)。這種方法可推廣到多種不同容量的芯片一起使用的場(chǎng)合,這時(shí)可通過多層譯碼相繼產(chǎn)生容量從大到小的不同芯片的片選信號(hào)。 本例采用第二種方法,即二次譯碼法。先進(jìn)行一次譯碼產(chǎn)生區(qū)分8個(gè)2KB的信號(hào),將其中的4個(gè)輸出作為4片EPROM的片選信號(hào)。另

52、外4個(gè)輸出則和與1KB RAM芯片相關(guān)的另一位地址一起進(jìn)行二次譯碼,產(chǎn)生8片1KBRAM芯片的片選信號(hào)。此外,對(duì)于取值固定不變的高位地址可令其作為譯碼允許控制。據(jù)此,可得到相應(yīng)的地址位圖如圖3.10所示。 根據(jù)地址位圖,可考慮用3-8譯碼器完成一次譯碼,用適當(dāng)邏輯門完成二次譯碼。假定選用74LS138和或門,則相應(yīng)地址譯碼電路如圖3.11所示。 存儲(chǔ)器與數(shù)據(jù)總線的連接:字節(jié)/字節(jié)/雙字存儲(chǔ)器與控制總線的連接:ROM:只有讀操作,可把片選和讀信號(hào)合并作為片選信號(hào)。RAM:讀寫信號(hào)可以合并為一個(gè)引腳,也可以分開。等待申請(qǐng)電路:3.5 主存儲(chǔ)器接口在微機(jī)系統(tǒng)中,組成主存儲(chǔ)器的存儲(chǔ)芯片類型不同,其接口

53、特性不同。下面EPROM、SRAM和DRAM為例分別進(jìn)行討論。 3.5.1 EPROM與CPU的接口 目前廣泛使用的EPROM芯片有Intel公司生產(chǎn)的2716、2732、2764、27128、27256和27512等,其容量分別為2K8位至64K8位。前兩種為24腳雙列直插式封裝,后幾種為28腳雙列直插式封裝。現(xiàn)以Intel公司2716為例對(duì)EPROM的芯片特性和接口方法進(jìn)行介紹。 1.芯片特性Intel 2716是一種存儲(chǔ)容量為16K位(2K8位),存取時(shí)間約450ns的EPROM芯片。它只要求單一的+5V電源即可正常工作。其外部引腳排列圖和內(nèi)部結(jié)構(gòu)框圖如圖3.12所示。Intel 271

54、6芯片各引腳功能參見教材表3.3所示。Intel 2716芯片的16K位基本存儲(chǔ)電路排列成128128的陣列,它們被分成8個(gè)16128的矩陣,每個(gè)16128的矩陣代表2K字節(jié)中的某一位。從圖3.12可知,芯片內(nèi)部采用雙譯碼方式,11條地址線中7條用于X譯碼,產(chǎn)生128條行選擇線;4條用于Y譯碼,產(chǎn)生16條列選擇線。當(dāng)某個(gè)單元被選中時(shí),同時(shí)產(chǎn)生8位輸出數(shù)據(jù)。信號(hào)線的不同組合決定了2716芯片的不同工作方式,表3.4列出了該芯片工作方式的選擇。 2.接口方法Intel2716芯片與8位CPU的連接方法如下:低位地址線,數(shù)據(jù)線直接相連;工作電源Vcc直接與+5V電源相連,編程電源通常由開關(guān)控制;CE

55、和OE信號(hào)分別由CPU高位地址總線和控制總線譯碼后產(chǎn)生,通常采用圖3.13所示的3種方法。 3.接口舉例(1) 要求:用2716 EPROM芯片為某8位微處理器設(shè)計(jì)一個(gè)16KB的ROM存儲(chǔ)器。已知該微處理器地址線A0A15,數(shù)據(jù)線為D0D7,“允許訪存”控制信號(hào)為M,讀出控制信號(hào)為RD。畫出EPROM與CPU的連接框圖。(2) 分析:每一片2716芯片的容量為2KB,構(gòu)造一個(gè)16KB的EPROM存儲(chǔ)器共需8片2716。2716芯片需要A0A10共11根地址線實(shí)現(xiàn)片內(nèi)尋址,可與地址總線的低11位A0A10直接相連。8個(gè)芯片的片選信號(hào)由3-8譯碼器74LS138對(duì)地址A11A13譯碼產(chǎn)生,輸出允許

56、信號(hào)OE和讀信號(hào)R相連接。這樣除了被選中芯片CE為低,由RD信號(hào)控制進(jìn)行讀出外,其他7個(gè)芯片的全為高電平,使其工作在“功耗下降”方式。(3) 實(shí)現(xiàn):據(jù)分析,可畫出EPROM與CPU的連接框圖如圖3.14所示。當(dāng)系統(tǒng)中還有RAM時(shí),可由A14A15實(shí)現(xiàn)分組控制,統(tǒng)一編址。 3.5.2 SRAM與CPU的接口 常用的SRAM芯片有Intel公司生產(chǎn)的2114、2128、6116和6264等?,F(xiàn)以2114芯片為例對(duì)SRAM的芯片特性和接口方法進(jìn)行介紹。1.芯片特性Intel2114是一種存儲(chǔ)容量為1K4位,存取時(shí)間最大為450ns的SRAM芯片。其外部引腳排列圖、引腳名及內(nèi)部結(jié)構(gòu)框圖分別如圖3.15

57、(a),(b)和圖3.16所示。該芯片內(nèi)部將4096個(gè)基本存儲(chǔ)電路排列成6464的矩陣,由10根地址線A0A9經(jīng)雙譯碼后對(duì)其進(jìn)行單元選擇。其中,A3A8 6位地址線用于行譯碼,產(chǎn)生64根行選擇線;A0,A1,A2,A9 4根用于列譯碼,產(chǎn)生64/4根列選擇線(即16根列選擇線,每根同時(shí)接至4位)。從而將4096個(gè)存儲(chǔ)元構(gòu)成1K4位的存儲(chǔ)器。存儲(chǔ)芯片的內(nèi)部數(shù)據(jù)通過I/O電路以及輸入三態(tài)門和輸出三態(tài)門同數(shù)據(jù)總線相連。由片選信號(hào)CS和寫允許信號(hào)WE一起控制這些三態(tài)門。當(dāng)CS和WE均有效(低電平)時(shí),輸入三態(tài)門打開,數(shù)據(jù)信息由外部數(shù)據(jù)總線寫入存儲(chǔ)器;當(dāng)CS低電平有效,而WE無效(高電平)時(shí),輸出三態(tài)門

58、打開,從存儲(chǔ)器讀出的數(shù)據(jù)信息送至外部數(shù)據(jù)總線。 2.接口方法從連接特性看,2114芯片與前面介紹的EPROM2716相比只增加了一個(gè)讀/寫控制功能,故其接口方法大同小異。具體如下:地址線A0A9與地址總線的低10位直接相連;數(shù)據(jù)輸入/輸出線I/O1I/O4與數(shù)據(jù)總線的連續(xù)4位相連;片選信號(hào)CS可在訪存控制信號(hào)控制下由高位地址譯碼產(chǎn)生;寫允許信號(hào)WE與CPU發(fā)出的有關(guān)讀/寫控制信號(hào)直接相連或者由有關(guān)控制信號(hào)組合形成。 3.接口舉例(1)要求某8位微機(jī)有地址總線16根,雙向數(shù)據(jù)總線8根,控制總線中與主存相關(guān)的有“允許訪問”信號(hào)MREQ(低電平有效)和讀/寫控制信號(hào)R/W(高電平讀,低電平寫)。試用

59、SRAM芯片2114為該機(jī)設(shè)計(jì)一個(gè)8KB的存儲(chǔ)器并畫出連接框圖。(2)分析2114芯片容量為1K4位,構(gòu)造一個(gè)8KB的存儲(chǔ)器共需16片2114,每?jī)善M成1KB,共分8組;2114芯片需10根地址線實(shí)現(xiàn)片內(nèi)尋址,可令其與地址總線的低10位對(duì)應(yīng)相連;片選信號(hào)可在控制下由74LS138對(duì)高位地址A10A12譯碼產(chǎn)生,譯碼器每個(gè)輸出信號(hào)同時(shí)選中同一組的兩塊芯片;寫允許信號(hào)WE可與讀/寫控制信號(hào)R/W直接相連。 (3)實(shí)現(xiàn)根據(jù)以上分析,可畫出存儲(chǔ)器與CPU的連接框圖如圖3.17所示。 目前常用的其他SRAM芯片,如6116(4K8位)和6264(8K8位)等,工作原理和接口特性與2114基本一樣。盡管

60、它們?nèi)萘坎煌?,但在引腳的排列上相互是兼容的,因而大大提高了這些芯片使用的靈活性。3.5.3 DRAM與CPU的接口 DRAM與SRAM相比,由于存儲(chǔ)原理和芯片結(jié)構(gòu)上的區(qū)別,使之在與CPU接口時(shí)有兩個(gè)特殊問題需要考慮。一是由于DRAM芯片中的存儲(chǔ)元是靠柵極電容上的電荷存儲(chǔ)信息的,時(shí)間一長(zhǎng)將會(huì)引起信息丟失,所以必須定時(shí)刷新;二是由于DRAM芯片集成度高,存儲(chǔ)容量大,使引腳數(shù)量不夠用,所以地址輸入一般采用兩路復(fù)用鎖存方式。正是由于這兩個(gè)問題,尤其是定時(shí)刷新問題,決定了DRAM接口比SRAM接口要復(fù)雜得多。目前市場(chǎng)上的DRAM芯片種類很多,常用的有Intel公司生產(chǎn)的2116、2118和2164等?,F(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論