版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
5-4CPU與存儲器的連接【回顧】微型系統(tǒng)的系統(tǒng)總線結(jié)構(gòu)及存儲器組織?!颈局v重點】按實際應(yīng)用的需要,由不同規(guī)格、類型的存儲器芯片,通過與系統(tǒng)總線的連接,構(gòu)成存儲器系統(tǒng)。微機系統(tǒng)的規(guī)模、應(yīng)用場合不同,對存儲器系統(tǒng)的容量、類型的要求也必不相同,一般情況下,需要用不同類型,不同規(guī)格的存儲器芯片,通過適當?shù)挠布B接,來構(gòu)成所需要的存儲器系統(tǒng),這就是本節(jié)所需要討論的內(nèi)容。一、存儲器芯片與CPU的連接1.引言在微型系統(tǒng)中,CPU對存儲器進行讀寫操作,首先要由地址總線給出地址信號,選擇要進行讀/寫操作的存儲單元,然后通過控制總線發(fā)出相應(yīng)的讀/寫控制信號,最后才能在數(shù)據(jù)總線上進行數(shù)據(jù)交換。所以,存儲器芯片與CPU之間的連接,實質(zhì)上就是其與系統(tǒng)總線的連接,包括:?
地址線的連接;?
數(shù)據(jù)線的連接;?
控制線的連接;在連接中要考慮的問題有以下幾個方面:(1)控制線的連接:即如何用CPU的存儲器讀寫信號同存儲器芯片的控制信號線連接,以實現(xiàn)對存儲器的讀寫操作。
簡單系統(tǒng):CPU讀寫信號與存儲器芯片的讀寫信號直接相連。
復(fù)雜系統(tǒng):CPU讀寫信號和其它信號組合后與存儲器芯片的讀寫信號直接相連。
CPU讀信號最終和存儲器的讀信號相連,CPU寫信號最終和存儲器的寫信號相連。(2)數(shù)據(jù)線的連接:若一個芯片內(nèi)的存儲單元是8位,則它自身就作為一組,其引腳D0~D7可以和系統(tǒng)數(shù)據(jù)總線D0~D7或D8~D15直接相連。若一組芯片(4個或8個)才能組成8位存儲單元的結(jié)構(gòu),則組內(nèi)不同芯片應(yīng)與不同的數(shù)據(jù)總線相連。61168086D7D0I/O8I/O12164(0)8086D7D0DIN(DOUT)2164(6)DIN(DOUT)2164(7)DIN(DOUT)D6存儲器芯片與CPU的連接——存儲器芯片分組位擴展(加大字長)[例]用8個16K×1bit芯片組成16K×8bit的存儲器?!瑼0A13…D0D1D2D716K×1CSCSCSCSWEWEWEWE16K×1D0D1D2D7(3)地址線的連接:將用以“字選”的低位地址總線直接與存貯芯片的地址引腳相連,將用以“片選”的高位地址總線送入譯碼器。27328086譯碼器A19~A12A11~A0A11~A061168086譯碼器A19~A11A10~A0A10~A0可以根據(jù)所選用的半導(dǎo)體存儲器芯片地址線的多少,把CPU的地址線分為芯片外(指存儲器芯片)地址和芯片內(nèi)的地址,片外地址經(jīng)地址譯碼器譯碼后輸出。作為存儲器芯片的片選信號,用來選中CPU所要訪問的存儲器芯片。片內(nèi)地址線直接接到所要訪問的存儲器芯片的地址引腳,用來直接選中該芯片中的一個存儲單元。對4K×8b的2732而言,片外地址線為A19~A12,片內(nèi)地址線為A11~A0;對2K×8b的6116而言,片外地址線為A19~A11,片內(nèi)地址線為A10~A0。字擴展(擴大地址)CSWECSWECSWECSWE16K×416K×416K×416K×4…A0A13………WED0D1D2D3譯碼器A14A15123D0~D3D0~D3D0~D3D0~D32.CPU總線的負載能力在設(shè)計CPU芯片時,一般考慮其輸出線的直流負載能力為帶一個TTL負載。現(xiàn)在的存儲器一般都為MOS電路,直流負載很小,主要的負載是電容負載,故在小型系統(tǒng)中,CPU是可以直接與存儲器相連的,而較大的系統(tǒng)中,若CPU的負載能力不能滿足要求,可以(就要考慮CPU能否帶得動,需要時就要加上緩沖器,)由緩沖器的輸出再帶負載。3.CPU的時序和存儲器的存取速度之間的配合問題CPU在取指和存儲器讀或?qū)懖僮鲿r,是有固定時序的,用戶要根據(jù)這些來確定對存儲器存取速度的要求,或在存儲器已經(jīng)確定的情況下,考慮是否需要Tw周期,以及如何實現(xiàn)。4.存儲器的地址分配和片選問題內(nèi)存通常分為RAM和ROM兩大部分,而RAM又分為系統(tǒng)區(qū)(即機器的監(jiān)控程序或操作系統(tǒng)占用的區(qū)域)和用戶區(qū),用戶區(qū)又要分成數(shù)據(jù)區(qū)和程序區(qū),ROM的分配也類似,所以內(nèi)存的地址分配是一個重要的問題。另外,目前生產(chǎn)的存儲器芯片,單片的容量仍然是有限的,通??偸且稍S多片才能組成一個存儲器,這里就有一個如何產(chǎn)生片選信號的問題。組成一個存儲系統(tǒng)通常是由多個存儲芯片組成CPU每次訪問內(nèi)存只能對一個存儲單元進行讀或?qū)?,這個單元位于某個芯片中或一組芯片中。因此,首先要找到這個或這組芯片,這就是所謂的片選問題。換句話說,就是每當CPU訪問內(nèi)存,如何產(chǎn)生相應(yīng)芯片的片選信號。指定一個存貯單元是由CPU給出的地址來決定的,硬件尋址的方法是將地址總線分成兩部分。一部分直接送入芯片進行“片內(nèi)地址譯碼”,確定片內(nèi)單元的位置;另一部分送入譯碼器進行“片外地址譯碼”產(chǎn)生片選信號。通常我們有三種片選方法:線選法、全譯碼法、部分譯碼法。線選法在剩余的高位地址總線中,任選一位作為片選信號直接與存貯芯片的CS引腳相連,這種方式就稱為線選法。其特點是無需譯碼器,但有較多的地址重疊區(qū)。該方法適用于存儲器容量不大,所使用的存儲芯片數(shù)量不多,而CPU尋址空間遠遠大于存儲器容量。(1)1KBCS(2)1KBCS(3)1KBCS(4)1KBCSA10A11A13A11A0~A9線選法例5-1:用5片Intel6116(2K×8)組成10K×8位的存儲器系統(tǒng)。求每塊芯片的地址范圍。RAM2KBRAM2KBRAM2KBCSCSCSCSCSA11A12A13A14A15D0--D7A0--A10數(shù)據(jù)總線地址總線(3)(4)(5)RAM2KBRAM2KB(1)(2)線選法A15A14A13A12A11A10------------A0地址范圍
01111007800H
01111117FFFH1011100B800H1011111BFFFH1101100C800H1101111CFFFH1110100E800H1110111EFFFH1111000F000H1111011F7FFH}}}}}存儲器5地址范圍存儲器4地址范圍存儲器3地址范圍存儲器2地址范圍存儲器1地址范圍線選法A19A18A17A16A15A14A13A12A11A10------------A0地址范圍××
×
×
0111100×7800H××××
0111111×7FFFH
××××
1011100×B800H××××
1011111×BFFFH
××××
1101100×C800H××××
1101111×CFFFH××××
1110100×E800H××××
1110111×EFFFH××××
1111000×F000H××××
1111011×F7FFH全譯碼法除去與存儲芯片直接相連的低位地址總線之外,將剩余的地址總線全部送入“片外地址譯碼器”中進行譯碼的方法就稱為全譯碼法。其特點是物理地址與實際存儲單元一一對應(yīng),但譯碼電路復(fù)雜。8KB(2)CS8KB(1)CS8KB(8)CS3-8譯碼器A0~A12A13~A15Y0Y1Y7…全譯碼法例5-2:用16片Intel6232(4K×8)組成64K×8位的存儲器系統(tǒng)。求每塊芯片的地址范圍。4KB(1)4KB(2)4KB(16)譯碼器CSCSCSY0Y1Y15A0---A11地址總線數(shù)據(jù)總線D0---D7A15--A12....…….全譯碼法A15A14A13A12A11A10---------A0地址范圍
0000000Y1
0000H--0FFFH
0001
000Y2
1000H--1FFFH
0010000Y3
2000H--2FFFH
1101000Y14
D000H--DFFFH
1110000Y15
E000H--EFFFH
1111000Y16
F000H--FFFFH
存儲器1地址范圍存儲器2地址范圍存儲器3地址范圍存儲器14地址范圍存儲器15地址范圍存儲器16地址范圍部分譯碼法除去與存儲芯片直接相連的低位地址總線之外,剩余的部分不是全部參與譯碼的方法就稱為部分譯碼。其特點是譯碼電路比較簡單,但出現(xiàn)“地址重疊區(qū)”,一個存貯單元可以由多個地址對應(yīng)。部分譯碼法例5-3:用8片Intel6116(2K×8)組成16K×8位的存儲器系統(tǒng)。求每塊芯片的地址范圍。2KB(1)2KB(2)2KB(8)譯碼器CSCSCSY0Y1Y7A0---A10地址總線數(shù)據(jù)總線D0---D7A15--A11中任三根……......用A11、A12、A13來譯碼A15A14A13A12A11A10------------A0地址范圍
xx000007800H
xx000117FFFHxx00100B800Hxx11111BFFFHxx01100C800Hxx01111CFFFHxx10100E800Hxx10111EFFFHxx11000F000Hxx11011F7FFH}}}}}存儲器5地址范圍存儲器4地址范圍存儲器3地址范圍存儲器2地址范圍存儲器1地址范圍地址譯碼器將CPU與存儲器連接時,首先根據(jù)系統(tǒng)要求,確定存儲器芯片地址范圍,然后進行地址譯碼,譯碼輸出送給存儲器的片選引腳CS。能夠進行地址譯碼功能的部件叫做地址譯碼器。常見的地址譯碼器如74LS138電路。
地址譯碼器如圖給出了該譯碼器的引腳和譯碼
邏輯框圖。由圖可看到,譯碼器74LS138
的工作條件是控制端G1=1,G2A*=0,G2B*=0,
譯碼輸入端為C、B、A,故輸出有八種狀
態(tài),因規(guī)定CS*低電平選中存儲器,故譯碼器輸出也是低電平有效。當不滿足編譯條件時,74LS138輸出全為高電平,相當于譯碼器未工作。74LS138的真值表如下表。地址譯碼器
G1
CBA譯碼輸出100000=0,其余為1100001=0,其余為1100010=0,其余為1100011=0,其余為1100100=0,其余為1100101=0,其余為1100110=0,其余為1100111=0,其余為1不是上述情況×××~全為15.控制信號的連接CPU在與存儲器交換信息時,通常有以下幾個控制信號(對8088/8086來說):IO/M(IO/M),RD,WR以及WAIT信號。這些信號如何與存儲器要求的控制信號相連,以實現(xiàn)所需的控制功能。二、存儲器芯片的擴展存儲器芯片擴展的方法有以下兩種:1.存儲器芯片的位擴充適用場合存儲器芯片的容量滿足存儲器系統(tǒng)的要求,但其字長小于存儲器系統(tǒng)的要求?!纠?】用1K×4的2114芯片構(gòu)成lK×8的存儲器系統(tǒng)?!痉治觥?/p>
由于每個芯片的容量為1K,故滿足存儲器系統(tǒng)的容量要求。但由于每個芯片只能提供4位數(shù)據(jù),故需用2片這樣的芯片,它們分別提供4位數(shù)據(jù)至系統(tǒng)的數(shù)據(jù)總線,以滿足存儲器系統(tǒng)的字長要求?!驹O(shè)計要點】將每個芯片的10位地址線按引腳名稱一一并聯(lián),按次序逐根接至系統(tǒng)地址總線的低10位。數(shù)據(jù)線則按芯片編號連接,1號芯片的4位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的D0-D3,2號芯片的4位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的D4-D7。兩個芯片的WE端并在一起后接至系統(tǒng)控制總線的存儲器寫信號WR(如CPU為8086/8088,也可由和IO/M或IO/M的組合來承擔)。CS引腳也分別并聯(lián)后接至地址譯碼器的輸出,而地址譯碼器的輸入則由系統(tǒng)地址總線的高位來承擔。具體連線見圖4-16。當存儲器工作時,系統(tǒng)根據(jù)高位地址的譯碼同時選中兩個芯片,而地址碼的低位也同時到達每一個芯片,從而選中它們的同一個單元。在讀/寫信號的作用下,兩個芯片的數(shù)據(jù)同時讀出,送上系統(tǒng)數(shù)據(jù)總線,產(chǎn)生一個字節(jié)的輸出,或者同時將來自數(shù)據(jù)總線上的字節(jié)數(shù)據(jù)寫入存儲器。圖5-16用2114組成1K×8的存儲器連線根據(jù)硬件連線圖,我們還可以進一步分析出該存儲器的地址分配范圍如下:(假設(shè)只考慮16位地址)
地址碼芯片的地址范圍A15...A12A11A10A9...A0××00000000H
::::
××001103FFH×表示可以任選值,在這里我們均選0。這種擴展存儲器的方法就稱為位擴展,它可以適用于多種芯片,如可以用8片2164A組成一個64K×8的存儲器等。2.存儲器芯片的字擴充【適用場合】存儲器芯片的字長符合存儲器系統(tǒng)的要求,但其容量太小。【例2】用2K×8的2716A存儲器芯片組成8K×8的存儲器系統(tǒng)?!痉治觥坑捎诿總€芯片的字長為8位,故滿足存儲器系統(tǒng)的字長要求。但由于每個芯片只能提供2K個存儲單元,故需用4片這樣的芯片,以滿足存儲器系統(tǒng)的容量要求。【設(shè)計要點】同位擴充方式相似。先將每個芯片的11位地址線按引腳名稱一一并聯(lián),然后按次序逐根接至系統(tǒng)地址總線的低11位。將每個芯片的8位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的D0-D7。兩個芯片的端并在一起后接至系統(tǒng)控制總線的存儲器讀信號(這樣連接的原因同位擴充方式),它們的引腳分別接至地址譯碼器的不同輸出,地址譯碼器的輸入則由系統(tǒng)地址總線的高位來承擔。連線見圖5-17。
圖5-17用2716組成8K×8的存儲器連線當存儲器工作時,根據(jù)高位地址的不同,系統(tǒng)通過譯碼器分別選中不同的芯片,低位地址碼則同時到達每一個芯片,選中它們的相應(yīng)單元。在讀信號的作用下,選中芯片的數(shù)據(jù)被讀出,送上系統(tǒng)數(shù)據(jù)總線,產(chǎn)生一個字節(jié)的輸出。同樣,根據(jù)硬件連線圖,我們也可以進一步分析出該存儲器的地址分配范圍如下表:(假設(shè)只考慮16位地址)地址碼芯片的地址范圍對應(yīng)芯片編號A15...A13A12A11A10A9...A0××000000000H
::2716-1××0011107FFH××010000800H
::2716-2××011110FFFH××100001000H
::2716-3××1011117FFH××110001800H
::2716-4××111111FFFH×表示可以任選值,在這里我們均選0。這種擴展存儲器的方法就稱為字擴展,它同樣可以適用于多種芯片,如可以用8片27128(16k×8)組成一個128K×8的存儲器等。3.同時進行位擴充與字擴充【適用場合】存儲器芯片的字長和容量均不符合存儲器系統(tǒng)的要求,這時就需要用多片這樣的芯片同時進行位擴充和字擴充,以滿足系統(tǒng)的要求。【例3】用1K×4的2114芯片組成2K×8的存儲器系統(tǒng)。【分析】由于芯片的字長為4位,因此首先需用采用位擴充的方法,用兩片芯片組成1K×8的存儲器。再采用字擴充的方法來擴充容量,使用兩組經(jīng)過上述位擴充的芯片組來完成?!驹O(shè)計要點】每個芯片的10根地址信號引腳宜接接至系統(tǒng)地址總線的低10位,每組兩個芯片的4位數(shù)據(jù)線分別接至系統(tǒng)數(shù)據(jù)總線的高/低四位。地址碼的A10、A11經(jīng)譯碼后的輸出,分別作為兩組芯片的片選信號,每個芯片的WE控制端直接接到CPU的讀/寫控制端上,以實現(xiàn)對存儲器的讀/寫控制。硬件連線如圖5-18圖5-18用2114組成2K×8的存儲器連線當存儲器工作時,根據(jù)高位地址的不同,系統(tǒng)通過譯碼器分別選中不同的芯片組,低位地址碼則同時到達每一個芯片組,選中它們的相應(yīng)單元。在讀/寫信號的作用下,選中芯片組的數(shù)據(jù)被讀出,送上系統(tǒng)數(shù)據(jù)總線,產(chǎn)生一個字節(jié)的輸出,或者將來自數(shù)據(jù)總線上的字節(jié)數(shù)據(jù)寫入芯片組。同樣,根據(jù)硬件連線圖,我們也可以進一步分析出該存儲器的地址分配范圍如下:(假設(shè)只考慮16位地址)
地址碼芯片組的地址范圍對應(yīng)芯片組編號A15...A13A12A11A10A9...A0×××00000000H
::2114-1×××001103FFH×××01000400H
::2114-2×××011107FFH×表示可以任選值,在這里我們均選0?!舅伎肌繌囊陨系刂贩治隹芍舜鎯ζ鞯牡刂贩秶?000H-07FFH。如果系統(tǒng)規(guī)定存儲器的地址范圍從0800H開始,并要連續(xù)存放,對以上硬件連線圖該如何改動呢?由于低位地址仍從0開始,因此低位地址仍直接接至芯片組。于是,要改動的是譯碼器和高位地址的連接。我們可以將兩個芯片組的片選輸入端分別接至譯碼器的Y2和Y3輸出端,即當A11、A10為10時,選中2114-1,則該芯片組的地址范圍為0800H-0BFFH,而當A11、A10為11時,選中2114-2,則該芯片組的地址范圍為0C00H-0FFFH。同時,保證高位地址為0(即A15-A12為0)。這樣,此存儲器的地址范圍就是0800H-0FFFH了。(具體連線自己考慮)以上例子所采用的片選控制的譯碼方式稱為全譯碼方式,這種譯碼電路較復(fù)雜,但是,由此選中的每一組的地址是確定且唯一的。有時,為方便起見,也可以直接用高位地址(如A10—A15中的任一位)來控制片選端。例如用A10來控制,如圖5-19所示。
圖5-19線選法示例粗看起來,這兩組的地址分配與全譯碼時相同,但是當用Al0這一個信號作為片選控制時,只要Al0=0,A11—A15可為任意值都選中第一組;而只要A10=1,All—A15可為任意值都選中第二組。這種選片控制方式稱為線選法。線選法節(jié)省譯碼電路,設(shè)計簡單,但必須注意此時芯片的地圖5-19線選法示例址分布以及各自的地址重疊區(qū),以免出現(xiàn)錯誤?!纠?】一個存儲器系統(tǒng)包括2KRAM和8KROM,分別用1K×4的2114芯片和2K×8的2716芯片組成。要求ROM的地址從1000H開始,RAM的地址從3000H開始。完成硬件連線及相應(yīng)的地址分配表。圖5-202KRAM和8KROM存儲器系統(tǒng)連線圖【分析】:整個存儲器的硬件連線如圖4-20所示。根據(jù)硬件連線圖,我們可以分析出該存儲器的地址分配范圍如下。(假設(shè)只考慮16位地址)
地址碼芯片的地址范圍對應(yīng)芯片編號A15A14A13A12A11A10A9...A00001000
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年礦山地質(zhì)勘察合同2篇
- 內(nèi)科病房護工勞動合同
- 城市供電管網(wǎng)改造民建施工合同
- 影視公司編劇合作協(xié)議聘用合同
- 食品安全顧問廚師長招聘合同
- 品牌旗艦店開業(yè)模特招聘合同
- 銀行大樓真石漆涂裝協(xié)議
- 社區(qū)菜市場耐磨地面施工合同
- 文化中心基礎(chǔ)加固注漿合同
- 水產(chǎn)加工魚塘施工合同范本
- 《數(shù)字信號處理(第2版)》本科全套教學(xué)課件
- 上市央國企數(shù)智化進程中人才就業(yè)趨勢
- 2024版小學(xué)科學(xué)六年級上冊第四單元《能量》教學(xué)課件
- 4 古代詩歌四首《 觀滄海》教學(xué)設(shè)計
- 2024農(nóng)村機井轉(zhuǎn)讓合同范本
- 2024公路工程危險性較大工程安全專項施工方案編制導(dǎo)則
- 2024-2030年中國巨菌草市場需求規(guī)模及未來發(fā)展戰(zhàn)略研究報告
- 人教版高一上學(xué)期化學(xué)(必修一)《第四章物質(zhì)結(jié)構(gòu)元素周期律》單元測試卷-帶答案
- 四年級上冊道德與法治全冊教案
- 2024至2030年中國文具市場發(fā)展預(yù)測及投資策略分析報告
- 《供應(yīng)鏈管理》期末考試復(fù)習題庫(含答案)
評論
0/150
提交評論