存儲(chǔ)器的尋址
1. 線(xiàn)選法
簡(jiǎn)單微機(jī)系統(tǒng)存儲(chǔ)容量不大,存儲(chǔ)器芯片數(shù)也不多,可用單根地址線(xiàn)作為片選信號(hào),每個(gè)存儲(chǔ)芯片或每個(gè)I/O端口只用一根地址線(xiàn)選通。
2. 全譯碼片選法
將低位地址總線(xiàn)直接連至各芯片的地址線(xiàn),余下高位地址總線(xiàn)全部參加譯碼,譯碼輸出作為各芯片片選信號(hào)。
3. 局部譯碼片選法
只對(duì)部分高位地址總線(xiàn)譯碼產(chǎn)生片選信號(hào),剩余高位線(xiàn)或空或直接用做其他芯片片選信號(hào)。是介于全譯碼片選法和線(xiàn)選法間的尋址方法
芯片單元數(shù)和位數(shù)都不能滿(mǎn)足存儲(chǔ)器的要求,要在字、位兩個(gè)方向上擴(kuò)展。如采用2114(1K×4位)組成2K×8位RAM,字、位都不能滿(mǎn)足存儲(chǔ)器要求,要進(jìn)行字位同時(shí)擴(kuò)展,如圖所示。
位擴(kuò)展(數(shù)據(jù)空間擴(kuò)展)
例1:假定使用8K×1位的RAM存儲(chǔ)器芯片,那么如何組成8K×8位的存儲(chǔ)器?
解:可采用圖3-5所示的位擴(kuò)展法。也就是用8片1Mb的存儲(chǔ)芯片拼接而成。
存儲(chǔ)器的字?jǐn)?shù)與存儲(chǔ)器芯片字?jǐn)?shù)一致,所以不需加大字長(zhǎng)。圖中,每一片RAM是8K×1,故其地址線(xiàn)為13條(A0-A12),可滿(mǎn)足整個(gè)存儲(chǔ)體容量的要求。每一片對(duì)應(yīng)于數(shù)據(jù)的1位(只有1條數(shù)據(jù)線(xiàn)),故只需將它們分別接到數(shù)據(jù)總線(xiàn)上的相應(yīng)位即可。在這種方式中,對(duì)片子沒(méi)有選片要求,就是說(shuō)片子按已被選中來(lái)考慮。如果片子有選片輸入端(CS#),可將它們直接接地。在這種連接時(shí),每一條地址總線(xiàn)接有8個(gè)負(fù)載,每一條數(shù)據(jù)線(xiàn)接有一個(gè)負(fù)載。
例2:用2114(1K×4位的SRAM)構(gòu)成1K×16位的存儲(chǔ)器,試畫(huà)出該存儲(chǔ)器的組成邏輯圖。
解:(1)分析2114及存儲(chǔ)器
2114:地址線(xiàn)為10位,數(shù)據(jù)線(xiàn)為4位(1K×4)
存儲(chǔ)器:地址線(xiàn)為10位,數(shù)據(jù)線(xiàn)為16位(1K×16)
所以,要進(jìn)行位擴(kuò)展。
?。?)所需2114芯片數(shù)目:
所以,用4片2114
(3)2114組成邏輯圖
四片2114地址線(xiàn)并聯(lián)后與地址總線(xiàn)相連(即四片2114具有相同的1K地址);四片2114數(shù)據(jù)線(xiàn)拼接為16位后與數(shù)據(jù)總線(xiàn)相連。
當(dāng)使用的存儲(chǔ)器芯片單元數(shù)目符合要求,但每單元的位數(shù)較少時(shí),需要進(jìn)行這種擴(kuò)充。例如,使用4164(64K*1)擴(kuò)充64KB存儲(chǔ)系統(tǒng),就需要進(jìn)行位擴(kuò)充。
連接示意圖如下所示:
如圖顯示的是將兩片64K*4芯片連接成64K*8的存儲(chǔ)系統(tǒng)。采用位擴(kuò)充,其連接要點(diǎn)是:兩芯片的地址線(xiàn)分別并接在一起(即A0與A0并接,A1與A1并接,A15與A15并接等等),接至系統(tǒng)地址總線(xiàn);兩芯片的數(shù)據(jù)線(xiàn)各自提供數(shù)據(jù)總線(xiàn)的一部分(此例為高4位和低4位),共同組成8位的數(shù)據(jù)總線(xiàn)。
字?jǐn)U展(地址空間擴(kuò)展)
如果每片的字?jǐn)?shù)不夠,需用若干芯片組成總?cè)萘枯^大的存儲(chǔ)器,稱(chēng)為字?jǐn)?shù)擴(kuò)展。為此將高地址譯碼產(chǎn)生的若干不同片選信號(hào),按各芯片在存儲(chǔ)空間分配中所占的編址范圍,分送各芯片。低位地址線(xiàn)直接送往各芯片,以選擇片內(nèi)的某個(gè)單元。而各芯片的數(shù)據(jù)線(xiàn),則按位并聯(lián)于數(shù)據(jù)總線(xiàn)。
例1:圖3-6示出用16K×8位的芯片采用字?jǐn)U展法組成64K×8位的存儲(chǔ)器連接圖。
解:圖中4個(gè)芯片的數(shù)據(jù)端與數(shù)據(jù)總線(xiàn)D0-D7相連,地址總線(xiàn)低位地址A0-A13與各芯片的14位地址端相連,而兩位高位地址A14,A15經(jīng)譯碼器和4個(gè)片選端相連。
例2:用2114(1K×4位的SRAM)構(gòu)成4K×4位的存儲(chǔ)器,試畫(huà)出該存儲(chǔ)器的組成邏輯圖。
解:(1)分析2114及存儲(chǔ)器
2114:地址線(xiàn)為10位,數(shù)據(jù)線(xiàn)為4位(1K×4)
存儲(chǔ)器:地址線(xiàn)為12位,數(shù)據(jù)線(xiàn)為4位(4K×4)
所以,要進(jìn)行字?jǐn)U展。
?。?)所需2114芯片數(shù)目:
所以,用4片2114
002114(1K×4)
012114(1K×4)
102114(1K×4)
112114(1K×4)
?。?)2114組成邏輯圖(略)
存儲(chǔ)器所需的12根地址總線(xiàn)分兩部分:
低10根地址總線(xiàn)與每片2114的A0~A9直接相連,稱(chēng)片內(nèi)地址線(xiàn);高2根地址總線(xiàn)通過(guò)2/4譯碼器產(chǎn)生4個(gè)不同的片選信號(hào),接各芯片的CS#端,稱(chēng)片選地址線(xiàn)。
4根數(shù)據(jù)總線(xiàn)直接與每片2114的I/O1~I(xiàn)/O3直接相連。
當(dāng)使用的存儲(chǔ)器芯片位數(shù)符合要求,但單元數(shù)目較少時(shí),需要進(jìn)行這種擴(kuò)充。例如,使用6264(8K*8)擴(kuò)充64KB存儲(chǔ)系統(tǒng),就需要進(jìn)行字?jǐn)U充。
連接示意圖如下所示:
如圖顯示的是將兩片32K*8芯片連接成64K*8的存儲(chǔ)系統(tǒng)。采用字?jǐn)U充,其連接要點(diǎn)是:兩芯片的低位地址線(xiàn)分別并接在一起,接至系統(tǒng)地址總線(xiàn)的低位;兩芯片的數(shù)據(jù)線(xiàn)分別并接在一起,接至系統(tǒng)數(shù)據(jù)總線(xiàn);系統(tǒng)高位地址線(xiàn),進(jìn)行譯碼,譯碼的輸出分別接至兩芯片的片選端CS1,CS2。
字位同時(shí)擴(kuò)展
在組織實(shí)際的主存儲(chǔ)器時(shí),可能既有字?jǐn)U展又有位擴(kuò)展。一個(gè)存儲(chǔ)器的容量假定為M×N位,若使用l× k位的芯片(l《M, k《N),需要在字向和位向同時(shí)進(jìn)行擴(kuò)展。此時(shí)共需要(M/l)×(N/k)個(gè)存儲(chǔ)器芯片。
例1:設(shè)CPU有16根地址線(xiàn),8根數(shù)據(jù)線(xiàn),并用/MREQ作訪(fǎng)存控制信號(hào),用/WR作讀寫(xiě)控制信號(hào)(高為讀,低為寫(xiě))。現(xiàn)有下列芯片:1K*4位RAM,4K*8位RAM,8K*8位RAM,2K*8位ROM,4K*8位ROM,8K*8位ROM及74LS138譯碼器和各種門(mén)電路,要求:
?、?主存空間分配: 6000H~67FFH為系統(tǒng)程序區(qū); 6800H~6BFFH為用戶(hù)程序區(qū)。
?、诤侠磉x用上述存儲(chǔ)芯片,說(shuō)明各選幾片?
③詳細(xì)畫(huà)出存儲(chǔ)芯片的片選邏輯圖。
解題過(guò)程板書(shū)
例2:設(shè) CPU 有 20 根地址線(xiàn),8 根數(shù)據(jù)線(xiàn)。并用 IO/M 作訪(fǎng)存控制信號(hào)。RD 為讀命令,WR 為寫(xiě)命令?,F(xiàn)有 2764 EPROM ( 8K × 8位 ), 外特性如下:
用 138 譯碼器及其他門(mén)電路(門(mén)電路自定)畫(huà)出 CPU和 2764 的連接圖。要求地址為 F0000H~FFFFFH , 并
寫(xiě)出每片 2764 的地址范圍。
解題過(guò)程板書(shū)
例3:設(shè)CPU的地址總線(xiàn)16根(A15~A0,A0為低位),雙向數(shù)據(jù)總線(xiàn)8根(D7~D0),控制總線(xiàn)中與主存有關(guān)的信號(hào)有MREQ#(允許訪(fǎng)存,低電平有效),R/W#(高電平為讀命令,低電平為寫(xiě)命令)。
主存地址空間分配如下:0-8191(13個(gè)1)為系統(tǒng)程序區(qū),由只讀存儲(chǔ)器組成;8192-32767(15個(gè)1)為用戶(hù)程序區(qū);最后(最大地址)2K地址空間為系統(tǒng)程序工作區(qū)。上述地址為十進(jìn)制,按字節(jié)編址?,F(xiàn)有如下存儲(chǔ)器芯片:
EPROM:8K×8位
SRAM:16K×1位,2K×8位,4K×8位,8K×8位
請(qǐng)從上述芯片中選擇適當(dāng)?shù)男酒O(shè)計(jì)該計(jì)算機(jī)的主存儲(chǔ)器,畫(huà)出主存儲(chǔ)器邏輯框圖,注意畫(huà)出選片邏輯(可選用門(mén)電路及3-8譯碼器74LS138)與CPU的連接,說(shuō)明選擇哪些存儲(chǔ)器芯片?選多少片?
解:解題過(guò)程板書(shū)
主存地址空間分布如下圖所示。
圖略。
擴(kuò)展位需要增加位選,這個(gè)又有很多講究,要看你現(xiàn)在的片上可用的外部存儲(chǔ)地址有沒(méi)有用完,總得來(lái)說(shuō)可以用譯碼芯片和不用譯碼芯片,又分為完全譯碼和不完全譯碼,字位擴(kuò)展就麻煩了 首先是你的芯片輸出是多少位的,比如說(shuō)3位的51的數(shù)據(jù)線(xiàn)有8位,如果你要多余8位可以用鎖存器,如果是很簡(jiǎn)單的數(shù)據(jù),可以自己用命令訪(fǎng)問(wèn)外部芯片,這樣比較麻煩,但是可以不用譯碼器,但是要求對(duì)外部存儲(chǔ)芯片的工作原理有了解
評(píng)論