文章目錄
- 一、實驗時間
- 二、實驗內容
- 1. 實驗目的
- 2. 設計要求
- 3. 實驗基本思路
- 三、電路圖
- 1. 可預置初值的模256異步計數器
- 2. 8位ALU電路
- 3. 總圖
- 四、補充
一、實驗時間
第三次實驗:2021年4月8日星期四,第六周
第一次部件級實驗,開始算分
二、實驗內容
微程式控制的運算器設計
1. 實驗目的
(1)熟悉簡單運算器的結構
(2)熟悉微命令的產生和時序
(3)熟悉運算器功能測驗,
2. 設計要求
利用之前設計的具有超前進位功能的8位ALU,實作簡單算識訓邏輯運算
兩運算元由八位暫存器R0、R1提供,其結果放入R2中,
具體何種操作可由微命令任意設定(物理運算由ALU電路完成),
此外,還要求設計微程式控制器中的uPC
3. 實驗基本思路
整個實驗由兩個部分構成,一是設計的微指令,二是運算器和程式計算器的電路
專案整體架構圖

一、用戶自己設計的微指令
(1)用戶設計的微指令默認從0號單元寫入(如果計數器沒有預置初值功能)
如果計數器有預置初值的功能,就可以指定某一號單元寫入
(2)微指令字長為24位,采用立即尋址方式獲得參與運算的數
我自己設計的微指令格式如下
微指令:A0-A7,A8-A15,A16-A23
最高八位為立即數
A23-A16 ----> D0-D7
中間八位中的前6位分別控制ALU的運算方式和進位
A15-A10 ----> C0,M,S0,S1,S2,S3
A9-A8—>值為0
最后八位
A7:暫存器R0的脈沖
A6:暫存器R1的脈沖
A5:暫存器R2的脈沖
A4:LM(左移)實作乘2功能
A3:DM(直送)
A2:RM(右移)實作除2功能
(3)使用軟體將對應的微指令寫入指定的單元記憶體中
要求會使用相應的軟體,并明確微指令的格式,撰寫的含義和具體的存放地址
二、運算器和程式計算器的電路
(1)程式計數器uPC
程式計數器uPC模擬的是計算機中PC的用法,PC保存的是當前指令的地址,取完指令之后,
PC自動+1,尋找下一條指令
我的uPC采用的是異步模256加1計數器,可以預置初值(即初始指令的地址)
uPC來一次脈沖就計數+1,對應的輸出就是微指令存盤的地址
uPC同時具有清0的功能,當按下CPU復位鍵時,uPC自動清0
(2)運算器部分
運算器由三個暫存器和一個ALU電路構成
R0,R1保存要加的兩個數
R2保存結果,并呈現到輸出面板上
ALU電路由兩個74181和一個74182電路構成
另外還有控制運算器采用什么運算的幾個管腳
運算器框架圖

(3)附加功能
在運算器輸出端,可以加一個移位器,實作資料的左移(乘2),右移(除2),直送
而控制左移右移直送的信號由微程式提供
三、電路圖
1. 可預置初值的模256異步計數器
這里復用了可預置初值的模16異步計數器

2. 8位ALU電路

3. 總圖
這里最后的輸出用了補碼移位器

四、補充
1.脈沖的作用
在本次實驗中,脈沖一共有四個作用,因此上面的總圖中,脈沖CP并聯了四個輸出

2.系結的管腳
uPC(模256計數器)的八個輸出連到實驗平臺上的ROM,對應系結的管腳如下

微指令的高八位連暫存器R0和R1的輸入,而后其它位系結對應的輸入管腳

uPD和CPuIR系結的管腳

單脈沖和清零(CPU復位)系結的管腳號

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274719.html
標籤:其他
上一篇:路由器結構
下一篇:手動安裝MySQL5.7版本
