存儲(chǔ)器的基本構(gòu)成原理,它由存儲(chǔ)體、地址寄存器、數(shù)據(jù)寄存器、地址譯碼驅(qū)動(dòng)電路和讀寫驅(qū)動(dòng)電路組成,通過系統(tǒng)數(shù)據(jù)總線、地址總線和控制總線與CPU連接。
存儲(chǔ)體是存儲(chǔ)器的核心,劃分為若干個(gè)存儲(chǔ)單元。每個(gè)存儲(chǔ)單元通常由8位二進(jìn)制數(shù)組成,是CPU訪問存儲(chǔ)器的基本單元,即一個(gè)字節(jié)分配一個(gè)地址,以適應(yīng)對(duì)字符信息的處理。
存儲(chǔ)器的最大存儲(chǔ)容量取決于CPU本身提供的地址線的條數(shù),這些地址線的每一種編碼對(duì)應(yīng)一個(gè)存儲(chǔ)單元的地址。因此,當(dāng)CPU的地址線為n條時(shí),可生成的 編碼狀態(tài)有2n個(gè)。也就是說CPU可尋址的存儲(chǔ)單元的個(gè)數(shù)為2n。若采用字節(jié)編址,那么存儲(chǔ)器的最大容量為:2n×8b。例如,80486 CPU的地址 線為32條,可尋址的最大存儲(chǔ)空間為232B4GB。
地址寄存器與系統(tǒng)地址總線連接,用來(lái)存放CPU訪問存儲(chǔ)單元的地址碼;經(jīng)地址譯碼驅(qū)動(dòng)電路,選中存儲(chǔ)體中某個(gè)被訪問的存儲(chǔ)單元。
數(shù)據(jù)寄存器與系統(tǒng)數(shù)據(jù)總線連接,用來(lái)存放CPU讀/寫存儲(chǔ)單元的數(shù)據(jù),經(jīng)讀/寫驅(qū)動(dòng)電路與存儲(chǔ)體連接。
讀/寫控制邏輯接受CPU發(fā)送給存儲(chǔ)器的讀/寫控制信號(hào),以及芯片選擇信號(hào)。CPU對(duì)存儲(chǔ)器完成一次讀/寫操作所需要的時(shí)間稱為一個(gè)總線周期(或稱機(jī)器 周期)。一個(gè)總線周期的長(zhǎng)短決定了CPU訪問存儲(chǔ)器的速度,如早期的16位8086 CPU的一個(gè)基本總線周期由4個(gè)時(shí)鐘周期構(gòu)成(即T1~T4),而 32位80486 CPU和Pentium微處理器的一個(gè)基本總線周期由2個(gè)時(shí)鐘周期構(gòu)成(即T1~T2)。
5.4.2 存儲(chǔ)器的擴(kuò)展設(shè)計(jì)
在實(shí)際應(yīng)用中,由于單片存儲(chǔ)芯片的容量總是有限的,很難滿足實(shí)際存儲(chǔ)容量的要求,因此需要將若干存儲(chǔ)芯片連在一起進(jìn)行擴(kuò)展,通常有位擴(kuò)展、字?jǐn)U展及字和位擴(kuò)展3種方式。
1.位擴(kuò)展
2.字?jǐn)U展
字?jǐn)U展是指增加存儲(chǔ)器字的數(shù)量。例如,用2片2K×8b的RAM芯片6116,組成4K×8b的存儲(chǔ)器,字?jǐn)U展設(shè)計(jì)。兩片芯片的片內(nèi)信號(hào)線 A0~A10、D0~D7、OE、WE都分別與系統(tǒng)的地址線A0~A10、數(shù)據(jù)線D0~D7和讀寫控制線RD、WR連接。其中,1#芯片的片選CE與 A11連接,2#芯片的片選CE與A11反相之后連接。當(dāng)A11為低電平時(shí),選擇1#芯片讀寫;當(dāng)A11為高電平時(shí),選擇2#芯片讀寫。由圖可見,1#芯 片的地址范圍是000H~7FFH,2#芯片的地址范圍是800H~FFFH。
3.字和位擴(kuò)展
字和位擴(kuò)展是字?jǐn)U展和位擴(kuò)展的組合。如用4片1K×4b的RAM芯片2114,組成2K×8b的存儲(chǔ)器,字和位擴(kuò)展設(shè)計(jì)。
圖中1#和2#芯片為一組,3#和4#芯片為一組,片內(nèi)A0~A9、OE和WE與系統(tǒng)地址線A0~A9和讀寫控制線RD和WR對(duì)應(yīng)連接。1#和3#芯片 內(nèi)數(shù)據(jù)線D0~D3作為低4位,與系統(tǒng)數(shù)據(jù)線D0~D3連接;2#和4#芯片內(nèi)數(shù)據(jù)線D0~D3作為高4位,與系統(tǒng)數(shù)據(jù)線D4~D7連接;1#和2#芯片 的CE連在一起,與2-4線譯碼器輸出端Y0連接;3#和4#芯片的CE連在一起,與2-4線譯碼器輸出端Y1連接;系統(tǒng)的高位地址線A10和A11作為 2-4線譯碼器的輸入。當(dāng)A11 A1000時(shí),選擇1#和2#芯片讀寫;當(dāng)A11 A1001時(shí),選擇3#和4#芯片讀寫。
5.4.3 存儲(chǔ)器片選信號(hào)的產(chǎn)生方法
一個(gè)存儲(chǔ)體通常由多個(gè)存儲(chǔ)器芯片組成,CPU要實(shí)現(xiàn)對(duì)存儲(chǔ)單元的訪問,首先要選擇存儲(chǔ)器芯片,然后再?gòu)倪x中的芯片中依照地址碼選擇相應(yīng)的存儲(chǔ)單元讀寫數(shù) 據(jù)。通常,芯片內(nèi)部存儲(chǔ)單元的地址由CPU輸出的n(n由片內(nèi)存儲(chǔ)容量2n決定)條低位地址線完成選擇,而芯片選擇信號(hào)則是通過CPU的高位地址線得到。 由此可見,存儲(chǔ)單元的地址由片內(nèi)地址信號(hào)線和片選信號(hào)線的狀態(tài)共同決定。下面介紹三種片選信號(hào)的產(chǎn)生方法。
1.線選法
線選法是指用存儲(chǔ)器芯片內(nèi)尋址以外的系統(tǒng)的高位地址線,作為存儲(chǔ)器芯片的片選控制信號(hào)。采用線選法時(shí),把作為片選信號(hào)的地址線分別連至各芯片(或芯片 組)的片選端CE,當(dāng)某個(gè)芯片的CE為低電平時(shí),則該芯片被選中。如上一節(jié)中的和擴(kuò)展設(shè)計(jì),就是采用了線選法。需要注意的是,用于片選的地址線每次尋址時(shí) 只能有一位有效,不允許同時(shí)有多位有效,這樣才能保證每次只選中一個(gè)芯片或一個(gè)芯片組。
線選法的優(yōu)點(diǎn)是選擇芯片不需要外加邏輯電路,線路簡(jiǎn)單;缺點(diǎn)是把地址空間分成了相互隔離的區(qū)域,不能充分利用系統(tǒng)的存儲(chǔ)器空間。因此,這種方法適用于擴(kuò)展容量較小的系統(tǒng)。