存儲器與CPU的連接
例:給出一CPU,地址線16根,數據線8根,MREQ訪存控制信號(低電平有效),WR 讀/寫控制信號(高電平為讀,低電平為寫)
給出RAM1K*4位, 4K*8位, 8K*8位,
給出ROM2K*8位, 4K*8位, 8K*8位。
要求6000H~67FFH 為系統程序區; 6800H~6BFFH 為用戶程序區。完成CPU和存儲器連接。
步驟:
(1)寫出二進制地址碼
(2)分配地址線
- 2K*8位ROM需要11根地址線,所以A0 ~ A10都作為地址信號接入
- 1K*4位RAM需要10根地址線,所以A0 ~ A9作為地址信號接入
其它地址線作為片選信號
(3)確定片選信號
這里使用74LS138譯碼器,A11, A12,A13作為信號接入,需要注意的是,MREQ信號必須在片選信號中體現,該信號的作用是確定該地址訪問的是存儲器而不是IO接口,如果沒有這個信號,那對IO接口的訪問的同時也會訪問存儲器,導致數據沖突。
LS138譯碼器的輸出端,當輸出Y4的時候(對應輸入為100),選中的是ROM,當輸出Y5(對應101)的時候,選中的是ROM。這里需要注意的是,選中RAM要求Y5和A10作與運算,這是因為對RAM而言,不僅要138譯碼器輸出的是Y5,同時也得要求A10為0,這樣才能讀取RAM(或者說當A10為1的時候,這時對應的是別的存儲芯片);而對ROM而言,其地址線包含A10,即不論A10是0還是1,都能夠選中芯片內相應的地址。