文章目錄
- 一、實驗時間
- 二、實驗內容
- 1.實驗目的
- 2.設計要求
- 3.結構框架圖
- 4. 實驗要求和基本思路
- 5. 微程式設計
- 三、電路圖
- 1. 啟動電路
- 2. MBR暫存器
- 3.總圖
- 四、補充說明
一、實驗時間
第四次實驗:2021年4月15日星期四,第7周
第二次部件級實驗,算分
二、實驗內容
1.實驗目的
(1)完成隨機存盤器(RAM)讀寫系統結構設計;
(2)熟悉隨機存盤器(RAM)的讀寫時序;
(3)完成隨機存盤器(RAM)讀寫操作的微程式實作;
(4)熟悉隨機存盤器(RAM)的功能測驗,
2.設計要求
- 在硬體平臺上已經提供了2k*8的的隨機存盤器(RAM)
- 本此實驗的主要內容是設計一個具體的電路,用來對這個RAM進行讀寫操作,并控制好時序
3.結構框架圖
核心部分是完成對紅色部分的讀取

本次實驗的設計電路要求必須使用老師課件中的方案二

4. 實驗要求和基本思路
本次實驗的基本思路如下
- 使用二路資料選擇器選擇PC輸出,提供讀信號和MAR打入信號,取出RAM 0地址中的資料Ad1,放入MAR暫存器中,并使PC+1
- 使用二路資料選擇器選擇MAR輸出,提供讀信號和MBR打入信號,取出RAM Ad1地址中的資料X,放入MBR暫存器中
- 使用二路資料選擇器選擇PC輸出,提供讀信號和MAR打入信號,取出RAM 1地址中的資料Ad2,放入MAR暫存器中
- 使用二路資料選擇器選擇MAR輸出,提供寫信號和MBR的使能端信號,將MBR中的資料X打入RAM的Ad2地址中
- 停機,使連續脈沖不再對電路起作用

5. 微程式設計
上面的步驟全部需要通過微程式實作,總共需要五步,共五條微指令,寫入ROM即可
我自己設計的微指令格式如下
微指令共24位:A23,A22,A21…A2,A1,A0
A7:HALT(停機指令)
A6:EN/WR(寫RAM和使能信號)
A5:RD(讀RAM)
A4:MARY(二路選擇器選擇MAR輸出)
A3:PCY(二路選擇器選擇PC輸出)
A2:CPMBR(MBR打入脈沖)
A1:CPMAR(MAR打入脈沖)
A0:CPPC(PC打入脈沖)
五條微指令和具體信號根據上面的基本思路來就可以了,最好PC+1的信號在后,這樣比較不會出現時序問題,這里三態門輸出使能端EN和WR信號共用一個信號
注意:最后一條指令一定要是停機指令,否則會一直執行
三、電路圖
1. 啟動電路
本次實驗使用實驗平臺上的連續脈沖,因此只需要按一次單脈沖鍵即可,連續脈沖會自動運行,并取出ROM中已經提前寫入的所有微程式,直到停機指令的執行,因此需要在原本脈沖的基礎上增加一個啟動電路
啟動電路具體的電路圖在課件上有,這里我把它封裝成一個單獨的部件,以便之后可以復用
當HALT為1時,輸出端CP一直為0,啟動電路暫停運行,

特別提醒:最后的輸出那里的非門一定不能少,一定不能少!!!
2. MBR暫存器
MBR暫存器和普通暫存器的功能類似,只是在輸出端加上了三態門進行控制
特別注意:三態門的控制端EN,值為1的時候是通路,值為0的時候是高阻態

3.總圖
特別注意:總圖中包含了uPC和PC兩個計數器,uPC負責給出ROM中的微程式的地址,而PC負責給出RAM中資料的地址
這里復用了之前實驗的模256計數器和資料選擇器

四、補充說明
在這次實驗中,RAM中資料的寫入和讀取都是用軟體實作的,ROM中微指令的寫入也是用軟體實作的
首先將資料寫入RAM,將微指令寫入ROM,當微指令運行結束之后,按下讀取RAM,查看具體的結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277509.html
標籤:其他
下一篇:網路知識(上)
