天天看點

計算機組成原理——微程式控制器

(截圖來自MOOC平台華中科技大學計算機組成原理課程)

硬布線控制器存在一些缺陷:邏輯設計比較繁雜,而且每當需要新增或删除指令時,都需要對整個系統進行變更。是以,人們發明了微程式控制器。

硬布線控制器的一條指令中有多個時鐘周期,每個時鐘周期對應一個狀态,而一個狀态對應一組并發控制信号。

而微程式的思想是将并發信号事先存儲為微指令,而一條指令就對應多條微指令,那麼每一個狀态就相當于是并發信号所在的存儲器位址。

計算機組成原理——微程式控制器

微程式是一種軟硬結合的思想,可以避免複雜的邏輯設計。

計算機組成原理——微程式控制器

下面以單總線結構的CPU為例來說明微程式控制器的設計步驟。

計算機組成原理——微程式控制器

微指令分為操作控制字段和順序控制字段兩部分;

操作控制字段中的每一位對應的是一個控制信号,就是微指令,哪一位寫1,說明給出了該位對應的操作信号;

順序控制字段中的P1、P2是判别位,如果為0吓一跳微指令的位址就從順序控制字段的下址字段擷取。如果不為0,說明這一段微程式已經執行完,需要執行下一個微程式的第一條微指令。

計算機組成原理——微程式控制器

如圖所示,不同的指令會對應不同的微程式,每一段微程式中微指令的數量也是不同的;

而微指令中的操作控制字段的每一位都可以稱為微指令。

計算機組成原理——微程式控制器

執行指令時,首先從IR中取出指令操作碼,在不同的狀态條件下,經過位址轉移組合邏輯獲得微程式的入口位址;

微程式入口位址在判别字段的判别下,獲得下一條微指令的位址。如果判别字為0,那麼下址字段就是下一條指令的位址,如果為1說明需要跳轉,去執行新的微程式;

微位址寫入微位址寄存器,該寄存器在初始時為0,是以0号位址為取值微程式的入口,然後順序執行取值微程式,直到判别字為1時發生跳轉。根據時鐘周期,将微位址寫入控制存儲器,對應的微指令就被選中,其中的微操作控制字段生成操作控制信号到達對應的控制點,而順序控制字段繼續配合生成下一個微位址。

計算機組成原理——微程式控制器
計算機組成原理——微程式控制器

(創作不易,請點贊收藏哦~)

繼續閱讀