關於Logisim緩存
Logisim在仿真軟件行列中算是比較直觀的軟件了,它能作的事情有不少,惟一不足的是硬件描述語言的支持,整體上來講適合比較底層的仿真,依賴於Hex值,經過線路邏輯設計可以較好的佈局
關於本實驗spa
計算機指令的執行過程設計是相對複雜的,指令的形式也是多種多樣,按照格式可分爲有二三單地址指令,根據訪問部件的不一樣可分爲當即數,RR,SS,RS等指令設計
本實驗經過Logisim實現:blog
1.寄存器->存儲器ci
2.存儲器->寄存器table
3.當即數->存儲器class
4.當即數->寄存器軟件
的四種控制結構硬件
正文
1)實現寄存器組
寄存器組可以組合成一個緩存序列,並按照每一個寄存器的地址進行更改和訪問,一次只能改寫或讀取一個寄存器內容。
2)當即數與主存儲器
主存儲器與寄存器都是存儲部件能做爲輸入輸出使用,當即數只能做爲輸入
3)通路設計
控制數據通路實際是經過數據選擇器不斷的控制輸入地址達到選擇通路的效果。
兩處data做爲同一線路,同時爲Memory輸入端提供可選地址
爲寄存器入口提供選擇入口
存儲器->寄存器
寄存器->存儲器
是一對互斥操做可將二者讀寫控制信號合併爲一個
0->存儲器寫
1->寄存器寫
4)將控制通路的二路選擇器信號合併一處造成指令端口
這裏有兩種佈局方式a)硬佈線b)微程序控制器
二者各有優缺點
須要有指令週期這裏就是簡單的讀寫週期用clock+譯碼器就可構成
採用方案b將讀寫,li/Memory,li/Regs端口進行分析
指令 | 讀寫r/w | li/memory | li/regs | 指令序號 |
當即數->memory | 0 | 0 | 0 | 1 |
當即數->regis | 1 | 0 | 0 | 2 |
memory->regis | 1 | 1 | 0 | 3 |
regis->memory | 0 | 0 | 1 | 4 |
三位二進制控制信號能夠指定8種操做其中不少操做相互重疊只取其中一個就好
5)編寫微指令控制器
ROM中存儲微指令
這樣就完成了數據傳送了
後續
能夠發現圖中還有不少地址信號能夠壓縮成必定長(S_R,w_a,address,data),度須要根據指令類型進行指令各個位置的數據的通路判斷。