前言
1.logisim一般情況下突破了一些關於電子器件的實現細節,是一個不錯的理論型自學平台。
2.在計算機工作原理中有些指令不可能只寫在一個存儲單元中,而且過高的存儲單元位數可能造成內存空間的浪費,從而達不到較好的內存管理效果。
3.本章希望通過擴展8位內存單元的隨機存儲器,達到理解匯編語言中字節/字/雙字的訪問原理。
正文
要求:
1.(1)字節訪問8位,字訪問(高字/低字)16位,雙字32位
(2)要求高16位從讀出端口的低字部分讀出(難點)
2.第一個要求數據的寫入和存儲
3.測試
實施
根據要求1知到需要4個存儲位數相同的隨機存儲器填寫標號
2.采用同一計數指針鏈接四個ram片的地址選擇端
3.增加讀寫控制端和字節/字/雙字選通信號端口
s0-s3未免太繁瑣
所以需要設計一個組合邏輯電路譯碼器選擇s0-s3片選
輸入 | s0 | s1 | s2 | s3 |
00(字節) | 1 | 0 | 0 | 0 |
01(高字) | 0 | 0 | 1 | 1 |
10(低字) | 1 | 1 | 0 | 0 |
11(雙字) | 1 | 1 | 1 | 1 |
這樣的存儲器能工作,但高字訪問的時候會從高位輸出怎么辦呢?
答案是根據01信號是高字訪問這一特性,在組合邏輯基礎上逐步加權.
具體過程講解有點復雜,直接上圖
有些線路被存儲器身體壓住了,但不影響整體,要注意在輸出口的一些三態門和二路選擇器的關系。