




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第三章 存儲器及其接口存儲器就是計算機中存儲計算程序、原始數(shù)據(jù)及中間結(jié)果的設備。計算機系統(tǒng)要求存儲器容量大、速度快和成本低,但往往這三者在同一個存儲器中不能同時取得。為了解決這一矛盾,采用了分級存儲器結(jié)構(gòu),通常把存儲器分為高速緩沖存儲器、主存儲器和外存儲器三級。其中高速緩存和主存統(tǒng)稱為內(nèi)存。 本章只討論處理器與內(nèi)存之間的接口。廣義而言,所謂微機接口是指微機系統(tǒng)中各部分之間的聯(lián)系,但對接口的研究常常是以處理器為核心的,所以一般地將接口理解為處理器與外界的聯(lián)系。從CPU的角度看,存儲器類似于外設,是一種必不可少、占用地址最多、被CPU訪問最為頻繁的外部設備。因此在CPU與存儲器之間同樣存在接口的問
2、題,只不過兩者關系十分密切而其接口相對比較簡單。習慣上把CPU和內(nèi)存儲器合稱為主機。微機中,內(nèi)存儲器由半導體存儲器組成。 3.1 概述3.1.1 對存儲設備的要求根據(jù)存儲器應用場合的不同,對存儲器的要求也會有所差異,但總的來說,有以下幾方面需要考慮。1 存取速度要快存儲器存取速度的快慢直接關系到整個系統(tǒng)的工作效率,尤其是作為直接運行程序場所的主存儲器,更是希望其存取速度快;否則,處理速度再快的CPU也無法充分發(fā)揮其性能。因此,存取速度的快慢,應是首先要考慮的因素。2 存儲容量要大存儲器的存儲容量越大,可以存儲的信息越豐富。存儲容量的大小是選用存儲器的重要因素之一。3 可靠性要好對于易失性存儲器
3、,在供電期間數(shù)據(jù)在未修改的情況下存儲要穩(wěn)定;對于非易失性存儲器,非易失性要好,非易失性是指當斷開電源后,存儲器存儲的數(shù)據(jù)仍然保持完好而不丟失的性能。只要對存儲的內(nèi)容不進行修改就可以一直保存,能完整保存的時間越久越好,這有利于信息資料的保護。4 存取操作要方便對存儲器中信息的存取通常都是根據(jù)需要,有選擇地進行,因此,希望存儲器的存取操作越方便越好,想要讀取或修改哪一部分的存儲內(nèi)容,很快就能找到選中的位置。5 體積小和重量輕通常都希望存儲設備盡量少占物理空間,易于移動,這對于便攜式的微機(筆記本電腦)來說,卻是一個重要因素。存儲器必須要盡量體積小、重量輕。6 性價比要好任何產(chǎn)品,在性能相同的情況下
4、,其價格越低,就越受用戶的歡迎,產(chǎn)品就越有競爭力,存儲器也不例外,當然應考慮選擇性能價格比高的產(chǎn)品。以上對存儲器的要求,可能不會各方面都能同時滿足,但應根據(jù)需要綜合考慮,選擇適當?shù)拇鎯ζ鳟a(chǎn)品。3.1.2 存儲設備的分類存儲設備的種類很多,按不同的考慮,可以有不同的分類。例如,按應用場合的不同,可分為內(nèi)存儲器與外存儲器:按存儲器的工作原理,可分為半導體存儲器、磁介質(zhì)存儲器和光碟存儲器等:按存儲特性,又可分為易失性存儲器和非易失性存儲器;按尋址特性,還可以分為隨機尋址存儲器、順序?qū)ぶ反鎯ζ骱椭苯訉ぶ反鎯ζ鞯?。在下一?jié)中再具體介紹。 3.2 半導體存儲器半導體存儲器具有體積小、速度快、耗電少、價格低
5、的優(yōu)點,在微機中得到了廣泛的應用。半導體器件種類繁多,性能各異,在進行存儲器及其接口設計時,必須首先了解各類存儲器件的性能及結(jié)構(gòu)特征。半導體存儲器根據(jù)其存儲信息的功能,分為易失性存儲器和非易失性存儲器。易失性存儲器指的是隨機存儲器 (隨意存取記憶) ,又稱為讀寫存儲器,是指一種在機器運行期間可讀也可寫的存儲器,其在關閉電源后所存的信息將會全部丟失,通常被用于暫存運行的程序和數(shù)據(jù)。非易失性存儲器則是一種在機器運行期間,只能讀出信息而不能隨時寫入信息的存儲器,其在掉電后所存的信息不會丟失,通常用來存放固定不變的程序和數(shù)據(jù),如引導程序與基本輸入輸出系統(tǒng)程序等。3.2.1 易失性存儲器易失性存儲器主要
6、是指隨機訪問存儲器RAM(Random Access Memory)。RAM是計算機中用來存放數(shù)據(jù)、程序及運算結(jié)果,直接與CPU進行信息交換的場所。易失性存儲器按存儲電路的性質(zhì)或者存儲元件在運行中能否長時間保存信息,可分為靜態(tài)隨機存取儲存器和動態(tài)隨機存取儲存器。1 靜態(tài)隨機存取儲存器(SRAM)(1)SRAM的主要特點所謂靜態(tài)隨機存取儲存器,是用雙穩(wěn)態(tài)觸發(fā)器來作存儲元件的,不存在電容的刷新問題,只要電源正常供電,觸發(fā)器就能穩(wěn)定地存儲數(shù)據(jù),因此稱為靜態(tài)隨機存取儲存器。其存儲單元的每一位都是由雙穩(wěn)觸發(fā)器和選通門電路組成的;而整個存儲器由存儲單元組成的陣列和控制電路組成。單個存儲器芯片的存儲容量,因
7、型號不同而異。SRAM 的主要特點是:連接使用方便(不需要刷新電路),工作穩(wěn)定,存取速度快(約為動態(tài)隨機存取儲存器DRAM的 3 5 倍),使用簡單;但由于每一位的存儲,都用好幾個晶體管,因此功耗較大,單片的存儲容量不易做得很高,集成度較低,價格較貴。近些年來,SRAM在降低功耗、提高集成度和存取速度方面,都得到了很大改進。由于價格相對較高,計算機主存用得很少,主要用作高速緩沖存儲器(Cache)。(2)雙端口SRAM雙端口SRAM具有兩個可以獨立訪問存儲器任意存儲單元的端口。在某些系統(tǒng)中有時存在著兩個或兩個以上的主控模塊(如CPU與DMA控制器等),這些主控模塊之間有時需要相互通信或共享存儲
8、器,雙端口SRAM對此提供了方便,從而可以簡化控制邏輯電路。雙端口SRAM有下列基本特點:兩個端口有各自獨立的地址線,數(shù)據(jù)輸入/輸出線以及口選信號,讀/寫控制,輸出使能等信號線。兩個端口共同使用存儲單元,統(tǒng)一供電。允許兩個端口同時訪問不同的地址單元,但不允許兩個端口同時訪問同一地址單元。片內(nèi)有裁決邏輯,任何一個單元,在某一時刻只許一個端口訪問。當一個端口被訪問時,另一端口則被封鎖,前者訪問操作完成后,才允許后者訪問。為此,兩個端口各有一個輸出標志信號,作為聯(lián)絡信號。 (3)FIFO存儲器FIFO(First-In First-Out)存儲器即先進先出存儲器,也是SRAM的一種。FIFO存儲器可
9、以看成為另一種形式的雙端口SRAM,但兩個端口中,一個端口只能寫入數(shù)據(jù),而另一端口只能輸出數(shù)據(jù)。寫入的數(shù)據(jù)是存放在指定的單元中,若不斷電可以一直保持不變,除非被新寫入的數(shù)據(jù)所更改。這些存儲單元的內(nèi)容可以反復被讀出。通過FIFO算法進行內(nèi)部尋址,讀/寫操作會自動訪問存儲器中的連續(xù)存儲單元,讀出的數(shù)據(jù)順序與寫入的順序相同。操作時不需要外部地址,先寫入的先讀出。FIFO存儲器可以被看成是具有兩個獨立同步時鐘的數(shù)字子系統(tǒng)之間的“通道窗口”。當兩個子系統(tǒng)傳輸數(shù)據(jù)的速率不同時,F(xiàn)IFO存儲器可以為它們提供并行輸入/輸出的有彈性的緩沖,彈性的大小取決于FIFO存儲器的容量深度(即容量大小)。 2 動態(tài)存儲器
10、DRAM(1)DRAM的基本特點DRAM的存儲原理是基于電容能存儲電荷的特性。存儲單元的每一位可用一個晶體管和一個與之相連的小電容來實現(xiàn)。若寫入位為“1”,則電容被充電:若寫入位為“0”,則電容不被充電。讀出時,用晶體管來讀與之相連的電容的電荷狀態(tài)。若電容被充電,則該位為“1”;若電容沒有被充電,則該位為“0”。由于用來存儲數(shù)據(jù)的電容極其微小及電容漏電阻的存在,會使電容存儲的電荷逐漸泄放掉,從而造成存儲數(shù)據(jù)的丟失。因此,這種存儲器的每個位單元,每隔一定時間(如若干毫秒)就要重新充電一次,以維持原來的數(shù)據(jù)不丟失,稱之為刷新。為了保持存儲器中的數(shù)據(jù),必須不斷地、周期性地對所有存儲單元中的所有位進行
11、刷新,這也正是動態(tài)存儲器的含義。刷新按行進行,不需要列地址,在同一行的所有位同時被刷新。DRAM由于每一個存儲位僅用一個晶體管和一個小電容,因此集成度比較高。就單個芯片的存儲容量而言,DRAM可以遠遠超過SRAM。就相同容量的芯片而言,DRAM的價格也大大低于SRAM。這兩個優(yōu)點使DRAM成為計算機內(nèi)存的主要角色。DRAM的各存儲單元通常按方陣排列。為減少芯片的引腳數(shù),地址引腳采用了分時復用,尋址時除了要交叉地輸入行地址和列地址以外,還要使行地址選通和列地址選通分別有效。先鎖存行地址,后輸入列地址,它們的建立和保持有嚴格的定時要求。由于DRAM需要刷新控制和行列地址分時復用控制,使得它比SRA
12、M的接口要復雜一些。另外,DRAM的存取速度,一般比SRAM要慢,通常都要幾十納秒(ns),這樣的存取速度已遠遠不能滿足高速系統(tǒng)的需要,使之成為系統(tǒng)的“瓶須”。DRAM的主要特點:集成度較高,地址引腳信號分時復用,數(shù)據(jù)輸入和輸出信號分離,需要刷新電路,接口電路復雜,存取速度比SRAM慢。在PC中主要作為內(nèi)存(主存) 。(2)DRAM的改進技術為提高DRAM的存取速度,人們采用了多種方法,近幾年來,使存取速度有了很大提高,取得了突破性進展。DRAM的存取過程包括初選的行地址、隨后的列地址以及接下來的數(shù)據(jù)傳送。選擇行地址和列地址需要一定的等待時間,是一種必要的系統(tǒng)開銷,但都延緩了數(shù)據(jù)存取的時間。存
13、取時間是數(shù)據(jù)傳送的周期時間加上選擇行地址和列地址的等待時間。隨著提高存取速度技術的發(fā)展,相繼出現(xiàn)了幾種類型的DRAM。 快頁式FPM DRAM(Fast Page Mode DRAM) 擴展數(shù)據(jù)輸出動態(tài)隨機存儲器EDO DRAM 突發(fā)式(Bust)EDO DRAM 同步動態(tài)存儲器(SDRAM) 和DDR SDRAM SLDRAM RDRAM 帶有高速緩存的動態(tài)存儲器CDRAM (3)內(nèi)存條及其接口各種各樣的動態(tài)存儲器,無論如何,當作為PC機的內(nèi)存使用時,都必須按一定的接口方法與PC機的主板連接。內(nèi)存儲器不是以單個的存儲器芯片的形式,而是以模塊的形式與主板連接。按照類型和存儲器容量的要求,首先將
14、若干片DRAM芯片焊接在一小塊條形印制電路板上,將印制電路板以插件板的形式,插入到PC機主板的內(nèi)存標準插座上。該內(nèi)存儲器的電路板就是一個存儲器模塊,通常稱為內(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)存條存儲器芯片的識別內(nèi)存芯片一般標記了生產(chǎn)廠家、芯片的容
15、量、存取速度、類型和數(shù)據(jù)寬度等指標。每個廠家的標記方式都不太一樣。 3 偽靜態(tài)隨機存儲器PSRAM偽靜態(tài)隨機存儲器PSRAM是一種在片內(nèi)集成了刷新控制電路的DRAM。這種存儲器芯片既集中了DRAM存儲密度高、功耗低與價格低等優(yōu)點,又同時避免了刷新控制接口的設計,用較低的成本提供了一些SRAM的特性,引腳與用法可以像SRAM一樣。這類芯片有些具有同步和異步兩種工作方式,特別適用于地址與數(shù)據(jù)總線復用的微處理器和微控制器系統(tǒng) 。3.2.2 非易失性存儲器前面介紹的DRAM和SRAM均為可任意讀寫的隨機存儲器,當?shù)綦姇r,所存儲的內(nèi)容會立即消失,所以是易失性存儲器。下面介紹的非易失性存儲器,即使停電,所
16、存儲的內(nèi)容也不會丟失。根據(jù)半導體制作工藝的不同,可分為ROM、OTPROM、EPROM、EEPROM和Flash存儲器等。 1 只讀存儲器ROMROM由芯片制造商在制造時寫入內(nèi)容,以后只能讀而不能再寫入。其基本存儲原理是以元件的 “有/無”來表示該存儲單元的信息(“1”或“0”),可以用二極管或晶體管作為元件,顯而易見,其存儲內(nèi)容是不會改變的?,F(xiàn)在計算機中現(xiàn)已很少使用。 2 一次性編程的OTPROMOTPR0M(One Time Programmable ROM)即可以一次性編程寫入的ROM,只能一次性編程寫入。過去多采用雙極性熔絲式。用每位熔絲是否斷開表示“l(fā)”或“0”。由于編程寫入后各位熔
17、絲狀態(tài)就無法再改變,因此只能讀出,不能再寫入。這種ROM因只能被編程一次,在測試階段不能對產(chǎn)品進行編程性能檢測,所以可靠性和可信度不高,也是逐漸淘汰的產(chǎn)品。后來不少廠家采用了EPROM技術來生產(chǎn)OTPROM,即將所有芯片在生產(chǎn)過程中都進行編程檢驗,同時進行性能測試,合格芯片在封裝前再將程序擦除,這樣就保證了產(chǎn)品都有合格的性能。用戶使用時可以重新編程寫入,但寫入后就不能再被擦除了。3 可多次編程寫入的只讀存儲器為了便于對ROM的內(nèi)容進行修改,人們推出了可以多次編程寫入的只讀存儲器。(1)用紫外線擦除的可編程的UV-EPROM通常簡稱EPROM。以NMOS工藝的MOS器件為例,未寫入時,各單元的每
18、一位都呈“1”狀態(tài)。編程寫入時,根據(jù)編程需要,使相關位的浮柵注入電子,使其呈“0”狀態(tài),這可通過在該位的源漏極之間加高壓并在漏極上加一定寬度的正脈沖,造成雪崩擊穿來實現(xiàn)。當電壓撤除后,注入浮柵的電荷就駐留在浮柵上,從而保持了寫入的“0”。擦除時,是用紫外線通過芯片頂部的石英窗口對芯片進行照射(約20分鐘),就可以使浮柵上注人的電子釋放掉,使有關的位從“0”變?yōu)椤?”,使各單元變?yōu)閷懭肭暗娜?”狀態(tài)。EPROM芯片的可靠性和使用壽命都與使用方法有關。不同廠家的產(chǎn)品對編程寫入時所加電壓的要求可能不同,一定要按廠家的要求來使用,否則會縮短芯片的使用壽命,甚至報廢??捎脤iT的編程器對EPROM進行編
19、程寫入,寫入完成后,應將芯片上的石英窗口遮蓋起來,以防止被紫外線照射后丟失數(shù)據(jù)或程序。EPROM擦除時,必須脫機進行紫外線照射,而且一次擦除必須將整個芯片存儲的全部內(nèi)容都擦掉,因此要修改程序很不方便。(2)電可擦除的可編程存儲器EEPROM稱為E2PROM。不像EPROM那樣必須脫機用紫外線來擦除,而是用電來擦除,可以直接由計算機聯(lián)機進行編程和修改。它既可以整片擦除,也可以按字節(jié)進行擦除和再編程,從而克服了一般EPROM的缺點。4 Flash存儲器由Intel公司于1988年首先推出的。所謂Flash可譯為快閃或閃存,實際上Flash 存儲器就是可用電快速擦寫的非易失性存儲器,簡稱Flash。
20、快速是相對于E2PROM而言的。從原理上看,F(xiàn)lash存儲器屬于ROM型存儲器,但它可以隨時改寫所存信息;從功能上看,它又相當于RAM,使以前對RAM與ROM的劃分變得模糊起來。但從存取速度和擦寫的壽命兩方面來衡量,它還趕不上DRAM,因此,在計算機中,目前它還是作為ROM的一種來應用。在工業(yè)控制與辦公設備等領域,F(xiàn)lash可用來作為在線改寫的ROM。近幾年Flash Memory發(fā)展迅速。 5 鐵電存儲器FRAM是一種非易失性存儲器新技術。它克服了Flash存儲器的擦寫速度慢,以及可寫次數(shù)壽命不太長等缺點而倍受人們的關注。1992年美國Ramtron公司首先推出了高位數(shù)的產(chǎn)品。FRAM有可能
21、成為一種理想的存儲器。FRAM的結(jié)構(gòu)與DRAM有些相像,但其對數(shù)據(jù)的存儲不是利用電容對電荷的存儲,而是利用鐵電電容被電場極化后的雙穩(wěn)特性,來表示數(shù)據(jù)為“1”或為“0”。FRAM有如下主要優(yōu)點。(1)寫入數(shù)據(jù)的速度快:數(shù)據(jù)寫入時間比前面所介紹的幾種非易失性存儲器快若干數(shù)量級。(2)擦寫次數(shù)壽命長:可重寫次數(shù)也遠遠高于前面幾種非易失性存儲器,讀寫次數(shù)可以高達1億次。(3)功耗低(4)體積?。号c其他非易失性存儲器相比,F(xiàn)RAM的體積更小??傊現(xiàn)RAM是一種正在大力開發(fā)的新型非易失性存儲器,它優(yōu)越的特性,使其獨具魅力,雖然目前產(chǎn)品的品種還不多,單個芯片的存儲容量也還不夠大,但它有著廣闊的發(fā)展前景。隨
22、著制造工藝的不斷改進,一定會有性能更好的FRAM產(chǎn)品占領市場。3.3 內(nèi)存的管理80X86系列CPU有兩種內(nèi)存管理模式,即實地址模式和保護虛地址模式。下面分別進行介紹。1 實地址模式實地址方式是為了與8086兼容而設置的工作方式。在實地址方式下,具有32位地址線的80X86只有低20位地址線起作用,能尋址1MB的物理地址。在此工作方式下,80X86只相當于一個快速的8086。在此方式下,內(nèi)存被分成段來進行管理,每段的長度被限定為64KB。在8086中,物理地址的計算方法為:物理地址段寄存器的內(nèi)容16(左移4位) + 偏移量具有32位地址線的80X86的最大邏輯地址為FFFFH:FFFFH,因而
23、相應的最大物理地址為:FFFF0H+FFFFH=10FFEFH,即內(nèi)存實空間10FFF0H個字節(jié),這只比1088KB只少16個字節(jié),一般算作1088KB。對于8086/8088,由于其沒有A20地址線,最大物理地址限定為FFFFFH,相應于最大物理地址的邏輯地址只是F000:FFFFH(或FFFF:000FH等,實模式允許多個邏輯地址映射成同一物理地址),即內(nèi)存實空間只有1024KB(1MB)??梢钥闯觯敼ぷ髟趯嵞J较?,80X86因為有A20地址線,其內(nèi)存(1088KB)比8086(1MB)多64KB。在實地址方式下,處理器的物理地址實質(zhì)上也是這樣產(chǎn)生的。在實地址方式下,段寄存器的內(nèi)容會自動
24、乘16,并放在段描述符寄存器的基地址中。段界限也固定為0FFFFH,即64KB。80 x86處理器其他屬性也是固定的。這種物理地址的形成與8086在本質(zhì)上沒有區(qū)別。在實地址方式下,Pentium、486、386和286提供的內(nèi)存空間只有1MB,段界限為64KB,當偏移量超出此界限時,會發(fā)生異常。因此,可以說在實地址方式下,Pentium、486、386和286是一個高速的8086,他們的許多優(yōu)秀性能,如多任務與多級保護等,均無法實現(xiàn)。2 保護虛地址模式只有當CPU工作于保護虛地址模式下時, 80X86才能充分發(fā)揮其功能。存儲單元地址仍然由段基址:偏移地址構(gòu)成。與實模式相比,根本的區(qū)別在于如何確
25、定段基址。P107。在保護方式下,內(nèi)存中的每個邏輯段對應一個8個字節(jié)的段描述符,多個描述符構(gòu)成一張段描述符表。由描述符表中的段基址結(jié)合偏移地址才能得到線性地址和物理地址。由段基址和偏移地址轉(zhuǎn)換得到的地址稱為線性地址。當啟用分頁機制時,線性地址轉(zhuǎn)換為物理地址;不啟用時,線性地址就是物理地址。為了加快尋址速度,每個段寄存器增加了一個段描述符高速緩沖器。段寄存器中的值是該段的描述符在表中的索引值,所以段寄存器又稱為段選擇符。地址轉(zhuǎn)換以80286為例。邏輯地址的表達式是“段選擇符:段內(nèi)偏移量”,兩部分仍各為16位長。在具體訪問內(nèi)存前,選段符也是裝入四個16位的段寄存器CS、DS、ES和SS中的某一個。
26、選段符的高13位是描述符表的索引值 (這也是每個描述符表最多有8192個表項的原因),實際上就是所說的段號。將此索引值擴大8倍,則此16位的值就是被選中描述符項在全局描述符表(GDT)或當前局部描述符表(LDT)中的表內(nèi)字節(jié)偏移量,并判斷它是否超出表限。然后由GDTR或LDTR給出的描述符表的基址(24位)加上合法的16位的表內(nèi)偏移量,為訪問內(nèi)存的24位物理地址,讀取由此位置開始的8個字節(jié)。實際上只是把被選中描述符的未保留的6個字節(jié)讀入CPU。這是地址轉(zhuǎn)換的第一步,即訪問段表。為寄存讀取的描述符的6字節(jié),80286為四個段寄存器的每個都擴展了48位的段描述符高速緩沖寄存器。在保護模式下,段寄存
27、器及其擴展部分的結(jié)構(gòu)如圖3.3所示。地址轉(zhuǎn)換的第二步,是將取來的描述符給出的24位段基址與邏輯地址中給出的16位段內(nèi)偏移量(當然,要與段限比較后是合法值)相加,最終得到由“選段符:段內(nèi)偏移量”邏輯地址轉(zhuǎn)換來的24位物理地址。3.3.2 PC系列微機的存儲器空間在當前PC機中多使用80286CPU以上的芯片,與8086不同的是,80X86CPU至少有24根地址線,可訪問的地址空間至少可達到16MB。在PC機中可以專門對80X86CPU的A20地址線進行控制。當A20=1時,允許訪問1MB以上的64K地址空間,這個地址空間稱為高位存儲區(qū)(HMA),這是在實模式下可以訪問的保護模式的存儲器區(qū)域。在保
28、護模式下80X86CPU可以訪問至少16MB地址空間,1MB以上的地址空間稱作擴展存儲區(qū)(XMS),圖3.4給出了其存儲空間分配情況.(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)運行,在基本內(nèi)存中的各種程序都是以實模式方式運行。由于常規(guī)內(nèi)存只有640KB,而系統(tǒng)在運行某個DOS應用程序時一般都要將該程序調(diào)入到常規(guī)內(nèi)存中,因此
29、這一內(nèi)存就顯得格外緊張.直到現(xiàn)在,為保持向下兼容性,一般DOS應用程序直接使用的也是這部分內(nèi)存,因而這是最寶貴也是最緊張的內(nèi)存資源.對常規(guī)存儲器進行管理的目標是在滿足系統(tǒng)需求的基礎上盡可能少的利用常規(guī)存儲器,使這段存儲器能剩余更多的空間為用戶運行程序而使用。在這640KB中,分為中斷向量區(qū),BIOS數(shù)據(jù)區(qū),DOS核心部分(IO.SYS,MSDOS.SYS),COMMAND.COM程序區(qū)和用戶可利用空間,其中系統(tǒng)程序就已占用了110KB以上的空間,留給用戶的不足600KB.DOS運行在實模式下,而實模式的地址空間是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)存已占用的塊中,總有一些沒用的塊,對于這些沒用的區(qū)域不能直接用來存取數(shù)據(jù),要利用一些專門軟件(如EMM386.EXE)來使這個區(qū)域再生,將未用的那些區(qū)域變成所謂的上位內(nèi)存塊(Upper Memory Block)。上位內(nèi)存塊有兩個特點:UMB的位置和大小隨系統(tǒng)配置不同而不同;不宜用RAM芯片來填充UMB,主要是實現(xiàn)比較困難(3)擴展內(nèi)存(Extended Memory)DOS所能直接管理和使用的內(nèi)存共計1MB,擴展內(nèi)存就是指超過
32、這1MB以上的內(nèi)存區(qū)。擴展內(nèi)存的大小與CPU的尋址能力有關,或者說取決于CPU地址總線的寬度。如8086可管理1MB的物理內(nèi)存,而80386/486則可管理4GB的物理內(nèi)存。因此,擴展內(nèi)存數(shù)量就是在上述內(nèi)存上限的基礎上減去1MB。其中,位于1024K1088K的這64K存儲區(qū)被稱為高位內(nèi)存區(qū)(HMA),HMA的特殊性在于可以用實模式方式來訪問這一段擴展內(nèi)存。在DOS下有一個擴展內(nèi)存管理與控制程序:HIMEM.SYS,只要運行該程序,就可以把物理的擴展內(nèi)存納入到XMS規(guī)范的管理和擴展之下,并實現(xiàn)對HMA的訪問。(4)擴充內(nèi)存擴充內(nèi)存(Expanded Memory)是早期為了系統(tǒng)內(nèi)存的不足(當時
33、只有640KB),而在系統(tǒng)中增加的內(nèi)存,并且是滿足EMS規(guī)范的一種非線性內(nèi)存,就是說,它是一種在CPU尋址之外的物理存儲器,也稱為EMS內(nèi)存。它是利用內(nèi)存換頁(Banking Paging)的方式來處理DOS基本內(nèi)存1MB之外的內(nèi)存。實際中,需要加載一個“擴充內(nèi)存管理程序EMM(Expanded Memory Manager)”,它會在DOS的保護模式下在上位內(nèi)存中開一個64KB的空間,來記錄要“換頁”的位置。早期是用專門制作的擴充內(nèi)存卡作EMS內(nèi)存,現(xiàn)在多數(shù)是用擴展內(nèi)存來仿真EMS內(nèi)存。擴充內(nèi)存的重要意義在于CPU不必切換到保護模式就能訪問多于1MB的RAM。 3.3.3 常規(guī)內(nèi)存的管理DO
34、S實現(xiàn)內(nèi)存管理的重要數(shù)據(jù)結(jié)構(gòu)是內(nèi)存控制塊MCB(Memory Control Block)。通過MCB把全部內(nèi)存塊(已分配和空閑的)按位置順序連成鏈,使DOS能掌握常規(guī)內(nèi)存的分配使用情況。但是,DOS對MCB鏈的保護幾乎沒有采取任何措施,不少類型的病毒就是通過非法修改MCB鏈而把自己藏匿于內(nèi)存之中的。 3.3.4 擴展內(nèi)存的管理擴展內(nèi)存是地址高于1MB的線形地址存儲空間,只能被運行在保護模式的80X86所訪問。對于運行于實地址模式下的DOS及它控制下的程序通常不能在擴展內(nèi)存上運行,甚至也不能為存取數(shù)據(jù)而訪問這部分內(nèi)存。為了對實模式程序提供某種訪問擴展內(nèi)存的途徑,產(chǎn)生了XMM(XMS內(nèi)存管理程序
35、)。XMS最基本的功能是使兩個或多個應用程序,以及設備驅(qū)動程序能夠互不干擾地訪問擴展內(nèi)存(含HMA)和上位內(nèi)存。程序存放數(shù)據(jù)到延伸內(nèi)存之前,先要訪問XMS內(nèi)存管理程序(如HIMEM.SYS),請求留出一塊空間。如果有可用內(nèi)存,XMS內(nèi)存管理程序就返回一個句柄給請求程序,供它訪問擴展內(nèi)存使用。一旦某程序已擁有一塊內(nèi)存區(qū),那么在它未釋放之前,XMS內(nèi)存管理程序?qū)⒔谷魏蝿e的程序使用這塊內(nèi)存。3.4 存儲器接口技術存儲器接口也和其他接口一樣,主要完成三大總線的連接任務,即實現(xiàn)與地址總線、控制總線和數(shù)據(jù)總線的連接。下面對存儲器接口設計中應考慮的幾個主要問題以及總線連接的具體方法進行討論。 3.4.1
36、存儲器接口中應考慮的幾個問題 1.與CPU之間的時序配合存儲器與CPU之間的時序配合問題是整個微型計算機系統(tǒng)可靠和高效地工作的關鍵。CPU訪問存儲器是有固定時序的,由此確定了對存儲器存取速度的要求。在早期的計算機中,CPU和存儲器是作為一個整體統(tǒng)一設計的,所以時序匹配問題已在設計時協(xié)調(diào)解決。但隨著大規(guī)模集成電路的發(fā)展,現(xiàn)有的CPU和存儲器一般都是分別設計和制造的,因而時序配合問題便成為接口設計中應考慮的問題之一。為了使CPU能與不同速度的存儲器相連,一種常用的方法是使用“等待申請”信號。當CPU不能在正常的讀寫周期內(nèi)完成對慢速存儲器的操作時,等待信號發(fā)生器向CPU發(fā)出等待申請信號,使CPU在正
37、常的讀寫周期外插入一個或者幾個等待周期,以便通過改變指令的時鐘周期數(shù)使系統(tǒng)速度變慢,從而達到與慢速存儲器匹配的目的。例如,8086CPU中的READY(準備就緒)輸入線就是為協(xié)調(diào)CPU與存儲器或I/O端口之間的速度而設計的一條等待狀態(tài)請求線。8086的系統(tǒng)總線周期由4個時鐘周期T1T4(又稱為T狀態(tài))組成。正常情況下CPU要求存儲器讀/寫操作在4個T周期內(nèi)完成,并規(guī)定在T1周期發(fā)送地址,T2周期發(fā)送讀/寫命令,T3周期將數(shù)據(jù)送數(shù)據(jù)總線,T4周期結(jié)束讀/寫操作。當存儲器不能滿足CPU速度要求時,則在T3周期開始時通過READY向CPU發(fā)出等待請求信號,CPU在T3周期前沿采樣該信號,若有等待請求
38、(READY為低),則在T3和T4之間插入一個或多個等待周期Tw(又稱為等待狀態(tài))。在Tw周期內(nèi)總線上的活動與T3周期相同,所有控制信息、狀態(tài)信息、地址信息和數(shù)據(jù)信息均保持不變。因此,在進行8086與存儲器接口設計時,應分析所選存儲器的讀/寫速度能否滿足CPU的時序要求。若需要插入等待周期TW,則應該設計一個等待信號發(fā)生器,使之按規(guī)定向CPU發(fā)出READY信號。設計等待信號發(fā)生器的注意事項:(1) 產(chǎn)生等待申請的條件。每當有存儲器操作時即發(fā)生等待申請。該條件可以是存儲器訪問信號、存儲器讀寫控制信號或者地址譯碼信號。(2) CPU檢測時刻的要求。CPU檢測有無等待申請的時刻是固定的(如8086C
39、PU是在T3周期的前沿),所以發(fā)出的等待申請信號必須保證在相應時刻有效。(3) 等待周期長度的控制插入等待周期。插入等待周期的個數(shù)取決于等待申請信號的寬度,當需要插入多個等待周期時,可以增加觸發(fā)器的級數(shù)。2.CPU總線負載能力任何系統(tǒng)總線的負載能力總是有限的。在CPU設計時,一般輸出線的直流負載能力為一個TTL負載。當采用MOS存儲器時,由于直流負載很小,主要的負載是電容負載,故在小型系統(tǒng)中,CPU可以直接與存儲器相連。但對于較大的系統(tǒng),當CPU的總線不能直接帶動所有存儲器芯片時,就要加上緩沖器或驅(qū)動器,以提高總線負載能力。采用不同的存儲芯片組織一個存儲器,就會有不同的結(jié)構(gòu),總線上也就有不同的
40、負載。一般當總線負載數(shù)超過限定時應當加接驅(qū)動器。3.存儲芯片的選用存儲芯片的選用不僅和存儲器結(jié)構(gòu)相關,而且和存儲器接口設計直接相關。采用不同類型和不同型號的芯片構(gòu)造的存儲器,其接口的方法和復雜程度不同。一般應根據(jù)存儲器的存放對象、總體性能、芯片的類型和特征等方面綜合考慮。 (1) 對芯片類型的選用。存儲芯片類型的選擇與對存儲器總體性能的要求以及用來存放的具體內(nèi)容相關。高速緩沖存儲器是為了提高CPU訪問存儲器速度而設置的,存放的內(nèi)容是當前CPU訪問最多的程序和數(shù)據(jù),要求既能讀出又能隨時更新,所以是一種可讀可寫的高速小容量存儲器。一般選用雙極型RAM或者高速MOS靜態(tài)RAM芯片構(gòu)成。主存儲器要兼顧
41、速度和容量兩方面性能,存放的內(nèi)容一般既有永久性的程序和數(shù)據(jù),又有需要隨時修改的程序和數(shù)據(jù),故通常由ROM和RAM兩類芯片構(gòu)成。其中,對RAM芯片類型的選擇又與容量要求相關,當容量要求不太大(如64K字節(jié)以內(nèi))時用靜態(tài)RAM組成較好,因為靜態(tài)RAM狀態(tài)穩(wěn)定,不需要動態(tài)刷新,接口簡單。相反,當容量要求很大時適合于用動態(tài)RAM組成,因為動態(tài)RAM比靜態(tài)RAM集成度高、功耗小和價格低。對ROM芯片的選擇則一般從靈活性考慮選EPROM和EEPROM的較多。(2) 對芯片型號的選用芯片類型確定以后,在進行具體芯片型號選擇時,一般應考慮存取速度、存儲容量、結(jié)構(gòu)和價格等因素。存取速度最好選用與CPU時序相匹配
42、的芯片。否則,若速度慢了,則需增加時序匹配電路;若速度太快,又將使成本增加,造成不必要的浪費。存儲芯片的容量和結(jié)構(gòu)直接關系到系統(tǒng)的組成形式、負載大小和成本高低。一般在滿足存儲系統(tǒng)總?cè)萘康那疤嵯?,應盡可能選用集成度高和存儲容量大的芯片。這樣不僅可降低成本,而且有利于減輕系統(tǒng)負載,縮小存儲模塊的幾何尺寸。存儲芯片容量越大,總線負載越小。總線上芯片接得很多時,不但系統(tǒng)中要加接更多的總線驅(qū)動器,而且可能由于負載電容變得很大而使信號產(chǎn)生畸變。存儲芯片的構(gòu)成地址譯碼器:讀寫控制邏輯電路:數(shù)據(jù)緩沖器:存儲體:存儲芯片的主體,由基本存儲元按照一定的排列規(guī)律構(gòu)成。存儲元的排列方式分為字結(jié)構(gòu)方式、位結(jié)構(gòu)方式。字結(jié)
43、構(gòu)方式是指將芯片上所有存儲元排列成不同的存儲單元,每個單元一個字,每個字的各位在同一個芯片內(nèi)。例如1K*8位的芯片。位結(jié)構(gòu)方式是指將芯片上所有存儲元排列成不同的存儲單元,每個單元一位,即將所有存儲元排列成不同字的同一位。例如8K*1位的芯片。大量芯片采用兩種方式相結(jié)合,例如2K*4位的芯片。顯然,存儲單元的數(shù)量與地址線多少有關,每個單元的位數(shù)與數(shù)據(jù)線多少有關。3.4.2 存儲器地址譯碼方法 存儲器的地址譯碼是任何存儲器設計的核心,目的是保證CPU能對所有存儲單元實現(xiàn)正確尋址。由于目前每一片存儲芯片的容量是有限的,所以一個存儲器總是由若干存儲芯片構(gòu)成。地址譯碼分為片選控制譯碼和片內(nèi)地址譯碼。其中
44、,片選控制譯碼電路對高位地址進行譯碼后產(chǎn)生存儲芯片的片選信號;片內(nèi)地址譯碼電路對低位地址譯碼實現(xiàn)片內(nèi)存儲單元的尋址。接口電路中主要完成片選控制譯碼以及低位地址總線的連接。 1.片選控制的譯碼方法常用的片選控制譯碼方法有線選法、全譯碼法、部分譯碼法和混合譯碼法等。 片選譯碼時應該考慮CPU能夠?qū)ぶ返奈锢淼刂房臻g大小與實際配置的主存儲器容量大小的關系。 (1)線選法當存儲器容量不大,所使用的存儲芯片數(shù)量不多,而CPU尋址空間遠大于存儲器容量時,可用高位地址線直接作為存儲芯片的片選信號,每一根地址線選通一塊芯片,這種方法稱為線選法。 例如,假定某微機系統(tǒng)的存儲容量為4KB,CPU尋址空間為64KB(
45、即地址總線為16位),所用芯片容量為1KB(即片內(nèi)地址為10位)。那么,可用線選法從高6位地址中任選4位作為4塊存儲芯片的片選控制信號。圖3.5所示為選用A10A13作為片選控制的結(jié)構(gòu)示意圖。 圖中,存儲器地址分布如表3.1所示。 圖中,存儲器地址分布如表3.1所示。 芯片地址空間A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0十六進制 地 址 碼(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)點是連線簡單,片選控制無需專門的譯碼電路。但該方法有兩個缺點,一是當存在空閑地址線時,由于空閑地址線可隨意取值0或1,故將可能導致地址重疊(同一個存儲單元對應多個不同地址)。例如,上例中,當?shù)刂肪€A15、A14取不同值時,各芯片將對應不同的地址編碼;二是整個存儲器地址分
47、布不連續(xù),使可尋址范圍減小。(2)全譯碼法全譯碼法除了將低位地址總線直接與各芯片的地址線相連接之外,其余高位地址總線全部譯碼后作為各芯片的片選信號。 例如,CPU地址總線為16位,存儲芯片容量為8KB。采用全譯碼方式尋址64KB容量存儲器的結(jié)構(gòu)示意圖如圖3.6所示。 全譯碼法可以提供對全部存儲空間的尋址能力。當存儲器容量小于可尋址的存儲空間時,可從譯碼器輸出線中選出連續(xù)的幾根作為片選控制,多余的令其空閑,以便需要時擴充。 優(yōu)點:存儲器的地址惟一確定(無重疊)且是連續(xù)的,既無地址間斷也無地址重疊現(xiàn)象。(3) 部分譯碼法部分譯碼法是將高位地址線中的一部分進行譯碼,產(chǎn)生片選信號。該方法常用于不需要全
48、部地址空間的尋址能力,但采用線選法地址線又不夠用的情況。例如,CPU地址總線為16位,存儲器由4片容量為8KB的芯片構(gòu)成時,采用部分譯碼法的結(jié)構(gòu)示意圖如圖3.7所示。 采用部分譯碼法時,由于未參加譯碼的高位地址與存儲器地址無關,即這些地址的取值可隨意,所以存在地址重疊的問題。此外,如果從高位地址中選擇不同的地址位參加譯碼,將對應不同的地址空間。 即:地址可能不惟一(有重疊) 且可能不連續(xù)。(4)混合譯碼法混合譯碼法是將線選法與部分譯碼法相結(jié)合的一種方法 。用于片選控制的高位地址分為兩組:其中一組的地址(通常為較低位)采用部分譯碼法,經(jīng)譯碼后的每一個輸出作為一塊芯片的片選信號;另一組地址(通常為
49、較高位)則采用線選法,每一位地址線作為一塊芯片的片選信號。缺點:可能會地址重疊;地址不連續(xù)。例如,當CPU地址總線為16位,存儲器由10片容量為2KB的芯片構(gòu)成時,可用混合譯碼法實現(xiàn)片選控制,圖3.8給出了采用該方法的結(jié)構(gòu)示意圖。 2.地址譯碼電路的設計 存儲器地址譯碼電路的設計一般遵循如下步驟: 1)根據(jù)系統(tǒng)中實際存儲器的容量,確定存儲器在整個地址空間的地址范圍; 2)根據(jù)每個芯片的實際容量,畫出地址分配表/分配圖;3)確定譯碼方法并畫出地址位圖;4)選用合適的器件,畫出譯碼電路圖。例1:某微機系統(tǒng)地址總線為16位,實際存儲器容量為16KB,ROM區(qū)和RAM區(qū)各占8KB。其中,ROM區(qū)采用容
50、量為2KB的EPROM芯片,RAM區(qū)采用容量為1KB的靜態(tài)RAM芯片。試設計該存儲器的地址譯碼電路。按照設計的一般步驟,設計過程如下: 該系統(tǒng)的尋址空間最大為64KB,假定實際存儲器占用最低16KB的存儲空間,即地址為0000H3FFFH。其中0000H1FFFH為EPROM區(qū),2000H3FFFH為RAM區(qū)。 根據(jù)所采用的存儲芯片容量,可畫出地址分配圖如3.9所示;地址分配表如表3.2所示。 確定譯碼方法并畫出相應的地址位圖。地址分配圖和分配表給出了實際存儲器的地址空間以及各存儲芯片對應的地址范圍。由于EPROM芯片與RAM芯片的存儲容量不同,所以用于片內(nèi)尋址的地址位數(shù)也不同。EPROM芯片
51、容量為2KB,需要11位地址;RAM芯片容量為1KB,只需要10位地址,這就使得用于片選控制譯碼的地址位也不相同。對這類譯碼問題通常有兩種解決方法:第一種方法是用各自的譯碼電路分別譯碼產(chǎn)生各自的片選信號。第二種方法是分兩次譯碼,即先按芯片容量大的進行一次譯碼直接產(chǎn)生較大容量芯片的片選信號,然后結(jié)合小容量芯片剩余的高位地址線進行二次譯碼最后產(chǎn)生小容量芯片的片選信號。這種方法可推廣到多種不同容量的芯片一起使用的場合,這時可通過多層譯碼相繼產(chǎn)生容量從大到小的不同芯片的片選信號。 本例采用第二種方法,即二次譯碼法。先進行一次譯碼產(chǎn)生區(qū)分8個2KB的信號,將其中的4個輸出作為4片EPROM的片選信號。另
52、外4個輸出則和與1KB RAM芯片相關的另一位地址一起進行二次譯碼,產(chǎn)生8片1KBRAM芯片的片選信號。此外,對于取值固定不變的高位地址可令其作為譯碼允許控制。據(jù)此,可得到相應的地址位圖如圖3.10所示。 根據(jù)地址位圖,可考慮用3-8譯碼器完成一次譯碼,用適當邏輯門完成二次譯碼。假定選用74LS138和或門,則相應地址譯碼電路如圖3.11所示。 存儲器與數(shù)據(jù)總線的連接:字節(jié)/字節(jié)/雙字存儲器與控制總線的連接:ROM:只有讀操作,可把片選和讀信號合并作為片選信號。RAM:讀寫信號可以合并為一個引腳,也可以分開。等待申請電路:3.5 主存儲器接口在微機系統(tǒng)中,組成主存儲器的存儲芯片類型不同,其接口
53、特性不同。下面EPROM、SRAM和DRAM為例分別進行討論。 3.5.1 EPROM與CPU的接口 目前廣泛使用的EPROM芯片有Intel公司生產(chǎn)的2716、2732、2764、27128、27256和27512等,其容量分別為2K8位至64K8位。前兩種為24腳雙列直插式封裝,后幾種為28腳雙列直插式封裝?,F(xiàn)以Intel公司2716為例對EPROM的芯片特性和接口方法進行介紹。 1.芯片特性Intel 2716是一種存儲容量為16K位(2K8位),存取時間約450ns的EPROM芯片。它只要求單一的+5V電源即可正常工作。其外部引腳排列圖和內(nèi)部結(jié)構(gòu)框圖如圖3.12所示。Intel 271
54、6芯片各引腳功能參見教材表3.3所示。Intel 2716芯片的16K位基本存儲電路排列成128128的陣列,它們被分成8個16128的矩陣,每個16128的矩陣代表2K字節(jié)中的某一位。從圖3.12可知,芯片內(nèi)部采用雙譯碼方式,11條地址線中7條用于X譯碼,產(chǎn)生128條行選擇線;4條用于Y譯碼,產(chǎn)生16條列選擇線。當某個單元被選中時,同時產(chǎn)生8位輸出數(shù)據(jù)。信號線的不同組合決定了2716芯片的不同工作方式,表3.4列出了該芯片工作方式的選擇。 2.接口方法Intel2716芯片與8位CPU的連接方法如下:低位地址線,數(shù)據(jù)線直接相連;工作電源Vcc直接與+5V電源相連,編程電源通常由開關控制;CE
55、和OE信號分別由CPU高位地址總線和控制總線譯碼后產(chǎn)生,通常采用圖3.13所示的3種方法。 3.接口舉例(1) 要求:用2716 EPROM芯片為某8位微處理器設計一個16KB的ROM存儲器。已知該微處理器地址線A0A15,數(shù)據(jù)線為D0D7,“允許訪存”控制信號為M,讀出控制信號為RD。畫出EPROM與CPU的連接框圖。(2) 分析:每一片2716芯片的容量為2KB,構(gòu)造一個16KB的EPROM存儲器共需8片2716。2716芯片需要A0A10共11根地址線實現(xiàn)片內(nèi)尋址,可與地址總線的低11位A0A10直接相連。8個芯片的片選信號由3-8譯碼器74LS138對地址A11A13譯碼產(chǎn)生,輸出允許
56、信號OE和讀信號R相連接。這樣除了被選中芯片CE為低,由RD信號控制進行讀出外,其他7個芯片的全為高電平,使其工作在“功耗下降”方式。(3) 實現(xiàn):據(jù)分析,可畫出EPROM與CPU的連接框圖如圖3.14所示。當系統(tǒng)中還有RAM時,可由A14A15實現(xiàn)分組控制,統(tǒng)一編址。 3.5.2 SRAM與CPU的接口 常用的SRAM芯片有Intel公司生產(chǎn)的2114、2128、6116和6264等?,F(xiàn)以2114芯片為例對SRAM的芯片特性和接口方法進行介紹。1.芯片特性Intel2114是一種存儲容量為1K4位,存取時間最大為450ns的SRAM芯片。其外部引腳排列圖、引腳名及內(nèi)部結(jié)構(gòu)框圖分別如圖3.15
57、(a),(b)和圖3.16所示。該芯片內(nèi)部將4096個基本存儲電路排列成6464的矩陣,由10根地址線A0A9經(jīng)雙譯碼后對其進行單元選擇。其中,A3A8 6位地址線用于行譯碼,產(chǎn)生64根行選擇線;A0,A1,A2,A9 4根用于列譯碼,產(chǎn)生64/4根列選擇線(即16根列選擇線,每根同時接至4位)。從而將4096個存儲元構(gòu)成1K4位的存儲器。存儲芯片的內(nèi)部數(shù)據(jù)通過I/O電路以及輸入三態(tài)門和輸出三態(tài)門同數(shù)據(jù)總線相連。由片選信號CS和寫允許信號WE一起控制這些三態(tài)門。當CS和WE均有效(低電平)時,輸入三態(tài)門打開,數(shù)據(jù)信息由外部數(shù)據(jù)總線寫入存儲器;當CS低電平有效,而WE無效(高電平)時,輸出三態(tài)門
58、打開,從存儲器讀出的數(shù)據(jù)信息送至外部數(shù)據(jù)總線。 2.接口方法從連接特性看,2114芯片與前面介紹的EPROM2716相比只增加了一個讀/寫控制功能,故其接口方法大同小異。具體如下:地址線A0A9與地址總線的低10位直接相連;數(shù)據(jù)輸入/輸出線I/O1I/O4與數(shù)據(jù)總線的連續(xù)4位相連;片選信號CS可在訪存控制信號控制下由高位地址譯碼產(chǎn)生;寫允許信號WE與CPU發(fā)出的有關讀/寫控制信號直接相連或者由有關控制信號組合形成。 3.接口舉例(1)要求某8位微機有地址總線16根,雙向數(shù)據(jù)總線8根,控制總線中與主存相關的有“允許訪問”信號MREQ(低電平有效)和讀/寫控制信號R/W(高電平讀,低電平寫)。試用
59、SRAM芯片2114為該機設計一個8KB的存儲器并畫出連接框圖。(2)分析2114芯片容量為1K4位,構(gòu)造一個8KB的存儲器共需16片2114,每兩片組成1KB,共分8組;2114芯片需10根地址線實現(xiàn)片內(nèi)尋址,可令其與地址總線的低10位對應相連;片選信號可在控制下由74LS138對高位地址A10A12譯碼產(chǎn)生,譯碼器每個輸出信號同時選中同一組的兩塊芯片;寫允許信號WE可與讀/寫控制信號R/W直接相連。 (3)實現(xiàn)根據(jù)以上分析,可畫出存儲器與CPU的連接框圖如圖3.17所示。 目前常用的其他SRAM芯片,如6116(4K8位)和6264(8K8位)等,工作原理和接口特性與2114基本一樣。盡管
60、它們?nèi)萘坎煌?,但在引腳的排列上相互是兼容的,因而大大提高了這些芯片使用的靈活性。3.5.3 DRAM與CPU的接口 DRAM與SRAM相比,由于存儲原理和芯片結(jié)構(gòu)上的區(qū)別,使之在與CPU接口時有兩個特殊問題需要考慮。一是由于DRAM芯片中的存儲元是靠柵極電容上的電荷存儲信息的,時間一長將會引起信息丟失,所以必須定時刷新;二是由于DRAM芯片集成度高,存儲容量大,使引腳數(shù)量不夠用,所以地址輸入一般采用兩路復用鎖存方式。正是由于這兩個問題,尤其是定時刷新問題,決定了DRAM接口比SRAM接口要復雜得多。目前市場上的DRAM芯片種類很多,常用的有Intel公司生產(chǎn)的2116、2118和2164等?,F(xiàn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級下冊數(shù)學教案-1.4《分草莓》北師大版
- 2025年合伙終止合同模板
- Unit 5 animal friends Lesson 5 教學設計 2024-2025學年冀教版(2024)七年級英語上冊
- 《山坡羊 潼關懷古》歷年中考古詩欣賞試題匯編(截至2022年)
- 2025年河南對外經(jīng)濟貿(mào)易職業(yè)學院單招職業(yè)技能測試題庫附答案
- 2024年兩系雜交水稻新組合項目資金籌措計劃書代可行性研究報告
- 2025年貴陽職業(yè)技術學院單招職業(yè)技能測試題庫一套
- 2025年呼倫貝爾職業(yè)技術學院單招職業(yè)技能測試題庫新版
- 2025年哈爾濱傳媒職業(yè)學院單招職業(yè)技能測試題庫含答案
- 2025年度文化旅游景區(qū)門面房屋出售及文創(chuàng)產(chǎn)品開發(fā)合同
- 工廠物料損耗狀況和人為因素和差異清查步驟與方法講解培訓課件
- 虛擬化技術故障排除
- 中醫(yī)護理技術-麥粒灸 懸灸 穴位注射-培訓課件
- 燒掉數(shù)學書:重新發(fā)明數(shù)學
- 腹腔鏡胃癌根治術護理教學查房
- 員工調(diào)薪申請單模板
- 【茶道】宋代點茶道詳解
- 初中語文短語練習(附參考答案)
- 電影篇(二)蒙太奇課件
- MBTI職業(yè)性格測試(可直接使用)
- 2023年副主任醫(yī)師(副高)-推拿學(副高)考試參考題庫有答案
評論
0/150
提交評論