文章目錄
- 硬布線控制器
- 🎈控制器硬布線構成
- 微操作指令分析
- 記号說明
- 取指周期的微操作指令
- 間址周期的微操作指令
- 執行周期
- 非訪存指令
- 訪存類指令
- 轉移類指令
- 🎈cpu(CU)的控制方式
- 同步控制方式
- 異步控制方式
- (同步異步)聯合控制方式
- 硬布線控制單元設計
- 列出微操作指令的操作時間表
- 進行微操作信号綜合
- 繪制微操作指令邏輯圖
- 微程式控制
- 基本概念
- 🎈層次劃分
- 微操作&微指令
- 微指令的相容性和互斥性
- 微指令&微周期
- 微指令包含的資訊
- 主存儲器和控制存儲器的比較
- 程式和微程式
- 寄存器對比
- 微程式控制器組成
- 微程式控制器的工作過程
- 微程式和機器指令
- 微指令的編碼方式
- 直接編碼方式
- 字段直接編址方式
- 字段間接編碼
- 微指令位址的形成方式
- 直接由微指令的下位址字段指出
- 根據機器指令的操作碼形成
- 其他方式
- 微指令格式
- 水準型
- 垂直型
- 混合型微指令
- 微程式控制單元的設計
- 寫出機器指令的微操作指令以及節拍安排
- 确定微指令格式
- 編寫微指令碼點
🎈控制器硬布線構成
- 指令的操作碼是決定控制單元CU發出不同操作指令(控制信号)的關鍵
- CU的輸入信号來源有3類
- 經指令譯碼器譯碼産生的指令資訊
- 時序系統産生的機器周期信号和節拍信号
- 執行單元的回報資訊(标志)
- 節拍發生器産生各機器周期中的節拍信号,使用不同的微操作指令
- (控制信号)按時間順序先後發出
- 個别指令不僅受操作碼控制,還受到狀态标志控制
- CU的輸入來自于
- 操作碼譯碼電路ID
- 節拍發生器
- 狀态标志
- 此外,還接收來自系統總線(控制總線)的控制信号
- 中斷請求
- DMA請求
- 将處理結果輸出到CPU内部或者外部控制總線上
微操作指令分析
記号說明
- 為了簡化書寫,數将資料流經過的資料通路的總線部分(AB,CB,DB,IB)省略不寫
取指周期的微操作指令
- 現行指令I位址(目前要執行的指令在存儲器中的位址)存入到MAR,以便于從記憶體中将指令取出
- 即:
- 控制器向主存發送讀指令(啟動主存讀操作)
- 可以用
- 來表示控制器發出讀指令(将R置為1)
-
将MAR(通過位址線AB)所指的主存單元M中儲存的内容(指令)I,
經過資料總線DB讀入到cpu的MDR寄存器中
- (在CPU内部)将MDR中的内容(指令)送往IR
- 進入分析指令階段
- 将指令的操作碼OP(IR)傳送到控制單元CU進行譯碼)
- 形成下一條指令的位址(預設自增1)
間址周期的微操作指令
- 取操作數有效位址的任務
- 先取得形式位址
- 再取得有效位址
- 即
- (現在MDR儲存的是有效位址EA(對于一次尋址的指令而言)
- 将有效位址EA傳送到指令寄存器的位址字段
- 有些機器省略該步驟
執行周期
- 比如:
非訪存指令
- 清除累加器指令CLA
- ,将ACC寄存器置為0
- 累加器取反指令COM
- one’s complement反碼
- 累加器内容取反
- 算數右移1位SHR
- ACC内容算數右移1位
- (表示符号位不變)
- 循環左移移位指令CSL
- ACC内容循環左移1位
- (或
- )
- 停機指令STP
- 計算機中的運作标志觸發器G=1時,機器處于運作黃台
- G=0時,機器停機
- STP指令在執行階段隻需要将運作标志觸發器G置為0
- 即
- 2個寄存器内容相加指令ADD AX BX
訪存類指令
- 加法指令ADD X
- ACC的内容和主存X位址單元的内容相加
- 結果送回到ACC
- 存數指令STA X
- STore Accumulator( contents in memory)
- ref meaning of STA instruction
- 取數指令LDA X
- LoaD Accumulator with the contents from memory.
- 總體效果:
轉移類指令
- 以無條件轉移指令
- 為例
- 操作數位址碼被傳送到PC,cpu執行下一條指令的時候自然的跳轉到指定位置執行新指令
- 條件轉移(負則轉)BAN X
- 根據上一條指令的執行結果決定下一條指令的位址
- 如果結果為負
- 累加器最高位(符号位為1,
- )
- 将至令的位址碼Ad(IR)送入到PC,作為下一條指令
- 否則,直接執行下一條指令(
- )
- PC中的内容有取值階段的PC+1操作已經完成了預設的自增操作(
- )
- 用緊湊的邏輯語言表達式:
🎈cpu(CU)的控制方式
- 控制單元CU控制一條指令的形成,實質是依次執行一個确定的微操作序列的過程
- 根據指令的複雜程度,不同指令的執行時間不同(執行每個微操作所需要的時間也不同)
- 将如何形成控制不同微操作序列所采用的時序控制方式稱為CU的控制方式
同步控制方式
- 以最長的微操作序列和最繁瑣的微操作為标準,系統用一個統一的時鐘,所有信号都來自于這個統一時鐘
- 采取完全統一的,具有相同的時間間隔和相同數目的節拍,作為機器周期來運作不同的指令
- 特點是控制電路簡單
- 運作速度慢
異步控制方式
- 不存在基準時标信号
- 各個部件按照自身固有的速度工作
- 通過應答方式進行聯絡
- 特點:
- 速度快
- 控制線路複雜
(同步異步)聯合控制方式
- 介于同步和異步之間的一種方式
- 對各種不同的指令的操作屬性大部分采用同步控制,小部分采用異步控制的方法
硬布線控制單元設計
列出微操作指令的操作時間表
進行微操作信号綜合
繪制微操作指令邏輯圖
微程式控制
- 相比于硬布線方式設計,微程式控制方式更受歡迎
- 更加靈活
基本概念
- 将每條機器指令編寫成一個微程式
- 每個微程式包含若幹微指令
- 微程式可以存到一個控制存儲器其中
- 用尋址使用者程式機器指令的辦法來尋址每個微程式中的微指令
- 每條微指令對應一個或多個微操作指令
🎈層次劃分
- 程式
- 機器指令(大指令
- )
- 微指令
- 微指令(微操作)
微操作&微指令
- 微操作:是計算機中最基本的不可再分解的操作
- 一條機器指令可以分解為一串微操作序列
- 微指令:在微程式控制的計算機中,控制部件向執行部件發出的各種控制指令稱為微指令
- 是構成控制序列的最小機關
- 例如:
- 打開/關閉某個控制門的電位信号
- 對一個寄存器打入脈沖
- 微指令和微操作是一 一對應的
- 微指令是微操作的控制信号
- 微操作是微指令的執行過程
- 微指令和微操作在組合邏輯控制器中也有相應的概念
微指令的相容性和互斥性
- 它們描述的是微指令間的相對協作關系
- 相容性:具有相容性的微指令可以同時産生,共同完成一些微操作的微指令
- 互斥性:機器中不允許同時出現的微指令
- 相容性和互斥性具有相對性
- 假設有微指令A,B,C
- A和B相容
- A和C互斥
微指令&微周期
- 微指令:
- 若幹微指令的集合
- 微周期
- 從控制存儲器中讀取一段微指令并執行相應的微操作所需的時間
- 微位址
- 存放微指令的控制存儲器單元位址
微指令包含的資訊
- 操作控制字段
- 即微操作碼字段,用于産生某一個操作所需要的各種操作控制信号
- 順序控制字段
- 微位址碼字段,用于控制産生下一條要執行的微指令位址
主存儲器和控制存儲器的比較
- 主存儲器用于存放程式和資料,在cpu外部,用RAM實作
- 控制存儲器CM(controlMemory)在cpu内部,用ROM實作
- 控制存儲器(CM)用來存放實作全部指令系統的所有微程式,它是一種隻讀型存儲器(ROM) .
- 一旦微程式固化,機器運作時則隻讀不寫
- 其工作過程是:每讀出一條微指令,則執行這條微指令;
- 接着又讀出下一條微指令.又執行這一條微指令.
- 讀出一條微指令并執行微指令的時間總和稱為一個微指令周期.
- 通常,在串行方式的微程式控制器中.微指令周期就是隻讀存儲器的工作周期 .
- 控制存儲器的字長就是微指令字的長度,
- 其存儲容量視機器指令系統而定,即取決于微程式的數量.對控制存儲器的要求是讀出周期要短,是以通常采用雙極型半導體隻讀存儲器.
- 控制存儲器的容量為微指令數與字長的乘積
- 控制存儲器在CPU内,是CPU的組成部分
程式和微程式
- 程式:
- 指令的有序集合,用于完成特定的功能
- 微程式
- 微指令的有序集合;一條指令的功能有一段微程式來是實作
- 微程式是由微指令組成的,用于描述機器指令
- 微指令是機器指令的實時解釋器
- 由計算機設計者事先編制好,并存放在cpu的控制存儲器CM中
- 不提供給使用者
- 對于程式員來說,計算機系統的微程式的結構和功能是透明的
- 而程式最終由機器指令組成,是有軟體設計人員事先編制好并存放在主存或者輔存中的
寄存器對比
- 位址寄存器MAR
- 微位址寄存器CMAR
- 存放微指令位址
- 指令寄存器IR
- 微指令寄存器CMDR或
- 存放微指令
微程式控制器組成
- 微程式控制器性對于組合邏輯控制器要多出一些部件
- 控制存儲器CM
- 存放各個指令對應的微程式
- 控制存儲器可以用ROM構成
- 微指令寄存器(
- )
- 存放從CM中取出的微指令
- 它的位數同微指令字長相等
- 微位址形成部件
- 使用者産生初始微位址
- 後繼微位址
- 以保證微指令的連續執行
- 微位址寄存器
- 接受微位址形成部件送來的微位址,為cpu在CM中讀取微指令做準備
微程式控制器的工作過程
- 執行取微指令公共操作
- 有機器指令的操作碼字段通過微位址形成部件該機器指令的所對應的微程式的入口位址,并送入CMAR
- 機器指令
- 微程式
- 從CM中逐條讀取微指令執行
- 執行完對應于一條機器指令的一個微程式後
- 回到取指 微程式的入口位址機器
- 執行第一步的執行取微指令公共操作,完成下一條機器指令的公共操作
微程式和機器指令
- 通常一條機器指令對應于一個微程式
- 任何機器指令的取指操作都是相同的取指操作都是相同的
- 可以将取值操作的微指令統一編成一個微程式,這個微程式隻負責取指操作(将指令從主存單元中取出并送至指令寄存器IR)
- 對應的,可以編制間址周期的微程式和中斷周期的微程式
- 控制存儲器中的微程式數量為:
- 機器指令數
- 對應取指/間址/中斷等共用的微程式數
- 如果指令系統中有n種機器指令,控制存儲器中有至少n+1個微程式
- +1表示公共取指微程式
微指令的編碼方式
- 又稱為微指令的控制方式
- 如何對微指令的控制字段進行編碼,形成控制信号
- 在保證速度的情況下,縮短微指令字長
直接編碼方式
- 直接控制方式
- 無需進行譯碼
- 微指令的微指令字段中的每一位都表示一個微指令
- 特點:
- 速度快
- 簡單直覺
- 操作并行性好
字段直接編址方式
- 将微指令的微指令字段分成若幹個小字段
- 互斥性微指令組合在同一個字段中
- 相容性微指令組合在不同字段中
- 每個小段中包含的資訊位不能夠太多,否則增加譯碼線路的複雜性和譯碼時間
- 每個小段流出一個狀态,表示本字段不發出任何微指令
- 當某個字段的長度為3時,最多隻能夠表示7個互斥微指令
- 通常用000表示不操作
- 每個字段獨立編碼
- 每種編碼方式代表一個微指令,且各個字段編碼含義單獨定義,與其他字段無關
- 特點
- 可以縮短指令字長
- 需要通過移碼電路後再發送微指令,比直接編碼方式慢
字段間接編碼
- 一個字段的某些微指令需要由另一個字段中的某些微指令來解釋
- 稱為隐式編碼
- 這種方式可以進一步縮短微指令字長
- 當時削弱了微指令的并行控制能力,通常作為字段直接編碼的一種輔助手段
微指令位址的形成方式
直接由微指令的下位址字段指出
- 微指令格式中設定一個下位址字段
- 由微指令的下位址字段直接勾出後繼微指令的位址
- 又稱為斷定方式
根據機器指令的操作碼形成
- 機器指令取值指令寄存器(IR)後,微指令的位址由操作碼經過微位址形成部件
其他方式
- 增量計數法
- ,适用于後繼微指令的位址連續的情況
- 根據各種标志決定微指令分支轉移的位址
- 通過測試網絡形成
- 硬體直接産生微程式入口位址
微指令格式
- 微指令的格式和編碼方式有關
- 分為水準型微指令和垂直型微指令兩類
水準型
- 從編碼方式上看,直接編碼/間接編碼/字段間接編碼/混合編碼 都屬于水準型微指令
- 特點:
- 微程式短,執行速度快,(執行一條指令時間短)
- 并行操作能力強,效率高,靈活性強
- 微指令長,編寫微程式比較麻煩
垂直型
- 類似機器指令操作碼的方式,在微指令中設定微操作碼字段
- 采用微操作碼編譯法,有微操作碼規定微指令的基本功能
- 特點
- 微指令短,簡單規整
- 便于編寫微程式(和指令比較類似,相對容易掌握)
- 微程式長,執行速度慢,工作效率低
混合型微指令
- 在垂直型的基礎上增加一些不太複雜的并行操作
- 特點
- 微指令較短,便于編寫
- 微程式不長,執行速度較快
微程式控制單元的設計
- 編寫各條機器指令對應的微程式
寫出機器指令的微操作指令以及節拍安排
- 對于相同的cpu架構,無論是組合邏輯設計還是微程式設計,微操作指令和節拍安排都是極為相似
确定微指令格式
- 微指令格式包括
- 編碼方式
- 後繼微指令位址的形成方式
- 微指令字長
- 微操作的個數決定了采用何種編碼方式
- 确定微指令的操作控制字段的位數
- 微指令數确定微指令順序控制字段數
- 按照操作控制字段位數和順序控制字段位數确定微指令字長
編寫微指令碼點
- 根據操作控制字段 每位代表的微操作指令,編寫每條微指令的碼點
🎈對比:微程式控制器和硬布線控制器
微程式控制器 | 硬布線控制器 | |
工作原理 | 微操作控制信号以微程式的形式存放在控制存儲器中,執行指令是讀取出來 | 微操作控制信号有組合邏輯電路根據目前的指令碼/狀态/時序 即時産生 |
執行速度 | 慢 | 快 |
規整性 | 比較規整 | 不規整 |
應用場合 | CISC cpu | RISC cpu |
擴充性 |