目錄
目錄
學習資料
哈工大《計算機組成原理》
控制單元CU設計:
- 組合邏輯設計
- 微程序設計
1.微程序設計基本思路
組合邏輯設計不便於擴展,增加一個指令需要改變電路
微程序設計示意圖:
理解:
- 將可並行的微操作合並,用一個微指令替代
- 執行該微指令,相當於並行執行多個微操作命令
- 微指令代碼某一位均代表某個微操作,0代表不執行,1代表執行
- 如果該指令中有多個1,表示一個節拍中有多個微操作並行
- 微指令可以自由編程,實現微操作的多種組合
- 進而可以在不改變邏輯電路的情況下添加新指令
2.微程序控制單元框圖及工作原理
2.1 機器指令對應的微程序
- 每個指令取值是一樣的,間址和中斷可預測,各指令可以共用微程序
- 執行階段操作不同,需要為每個指令編寫單獨的微程序
- 控制存儲器中微程序個數=機器指令數+3
2.2 微程序控制單元基本框圖
- CMAR:控制存儲器地址寄存器
- CMDR:控制存儲器數據寄存器(存放微指令)
- 順序邏輯:控制形成嚇一跳微指令地址
- 地址譯碼:和主存的譯碼驅動相同
2.3 工作原理
1)取指階段:(三個時鍾周期/節拍)
2)執行階段:
LDA指令微程序:(三個時鍾周期)
3)若無間址周期和中斷周期:
- 循環執行取指微操作和執行微操作
- 全部微操作指令存在CM中,執行過程中只需要讀出
3.微指令編碼方式(控制方式)
3.1 直接編碼
- 操作控制的每一位代表一個微操作命令
- 某位為1表示該控制信號有效
3.2 字段直接編碼
- 將控制字段分為若干段,每段經過譯碼后發出控制信號
- 每個字段中命令互斥,縮短了微指令字長,增加了譯碼時間
3.3 字段間接編碼
3.4 混合編碼
直接編碼和字段編碼(間接和直接)混合使用
- 常用:直接編碼
- 不常用:字段編碼
3.5 其他方式
如設置常數字段
4.微操作序列地址形成
1)微指令的下地址字段給出
2)根據機器指令操作碼形成
3)增量計數器:
- 取指,中斷,執行等周期,下地址都為M+1這種遞增形式
- 可以采用增量計數器來代替
4)分支轉移:
5)測試網絡:
6)硬件產生:
- 第一條微指令地址,由專門硬件產生
- 中斷周期,由硬件產生中斷周期微程序首地址
7)后繼微指令地址形成方式原理圖:
5.微指令格式
- 水平微指令:一次能定義並行多個並行操作
- 垂直微指令:
- 類似機器指令操作碼的方式
- 由微操作碼字段規定微指令的功能
- 基本已經淘汰了
- 兩種微指令格式比較:
- 水平微指令比垂直微指令並行操作能力強,靈活性強
- 水平微指令執行一條機器指令所要的微指令數目少,速度快
- 水平微指令用較短的微程序結構換取較長的微指令結構
- 水平微指令與機器指令差別大
6.靜態微程序設計和動態微程序設計
靜態:微程序無需改變,采用ROM
動態:通過改變微指令和微操作改變機器指令,有利於仿真,采用EPROM
7.毫微程序設計
微程序設計:微程序解釋機器指令
毫微程序設計:毫微程序解釋微指令
毫微程序控制器基本組成:
8.微程序執行方式
串行微程序控制:串行方式
並行微程序控制:流水方式