複製鏈接
請複製以下鏈接發送給好友

微程序控制器

鎖定
微程序控制器是一種控制器,同組合邏輯控制器相比較,具有規整性、靈活性、可維護性等一系列優點,因而在計算機設計中逐漸取代了早期採用的組合邏輯控制器,並已被廣泛地應用。在計算機系統中,微程序設計技術是利用軟件方法來設計硬件的一門技術 。
中文名
微程序控制器
外文名
Microprogram controller
基本思想
按照通常的解題程序的方法
優    點
規整性、靈活性、可維護性
設計技術
利用軟件方法來設計硬件
定    義
採用微程序控制方式的控制器

微程序控制器定義

採用微程序控制方式的控制器稱為微程序控制器。所謂微程序控制方式是指微命令不是由組合邏輯電路產生的,而是由微指令譯碼產生。一條機器指令往往分成幾步執行,將每一步操作所需的若干位命令以代碼形式編寫在一條微指令中,若干條微指令組成一段微程序,對應一條機器指令。在設計CPU時,根據指令系統的需要,事先編制好各段微程序 ,且將它們存入一個專用存儲器(稱為控制存儲器)中。微程序控制器由指令寄存器IR、程序計數器PC程序狀態字寄存器PSW、時序系統、控制存儲器CM、微指令寄存器以及微地址形成電路、微地址寄存器等部件組成。執行指令時,從控制存儲器中找到相應的微程序段,逐次取出微指令,送入微指令寄存器,譯碼後產生所需微命令,控制各步操作完成。

微程序控制器基本概念

微程序控制器微命令和微操作

微命令:控制部件通過控制線向執行部件發出的各種控制命令。它構成控制信號的最小單元 [1] 
微操作:執行部件接受微命令後所進行的操作。它是由微命令實現的最基本操作 [1] 
控制部件與執行部件通過控制線和反饋信息進行聯繫。

微程序控制器微指令和微程序

微指令,在機器的一個CPU週期中,一組實現一定操作功能的微命令的組合。
微程序,實現一條機器指令功能的許多條微指令組成的序列。
控制部件與執行部件通過控制線和反饋信息進行聯繫。

微程序控制器CPU週期與微指令週期的關係

在串行方式的微程序控制器中:微指令週期 = 讀出微指令的時間 + 執行該條微指令的時間
一個CPU週期為0.8μs,它包含四個等間隔的節拍脈衝T1—T4,每個脈衝寬度為200ns。用T4作為讀取微指令的時間,用T1+T2+T3時間作為執行微指令的時間。例如,在前600ns時間內運算器進行運算,在600ns時間的末尾運算器已經運算完畢,可用T4上升沿將運算結果打入某個寄存器。與此同時可用T4間隔讀取下條微指令,經200ns時間延遲,下條微指令又從只讀存儲器讀出,並用T1上升沿打入到微指令寄存器。如忽略觸發器的翻轉延遲,那麼下條微指令的微命令信號就從T1上升沿起就開始有效,直到下一條微指令讀出後打入微指令寄存器為止。因此一條微指令的保持時間恰好是0.8μs,也就是一個CPU週期的時間。 [2] 

微程序控制器組成

微程序控制器主要由控制存儲器微指令寄存器和地址轉移邏輯三大部分組成。

微程序控制器控制存儲器

控制存儲器用來存放實現全部指令系統微程序,它是一種只讀存儲器。若指令系統中有多少條機器指令,就有多少微程序。一旦微程序固化,機器運行時則只讀不寫。其工作過程是:每讀出一條微指令,則執行這條微指令;接着又讀出下一條微指令,又執行這一條微指令……。讀出一條微指令並執 行微指令的時間總和稱為一個微指令週期。通常,在串行方式的微程序控制器中,微指令週期就是隻讀存儲器的工作週期。控制存儲器的字長就是微指令字的長度,其存儲容量視機器指令系統而定,即取決於微程序的數量。對控制存儲器的要求是速度快,讀出週期要短。 [3] 

微程序控制器微指令寄存器

微指令寄存器用來存放由控制存儲器讀出的一條微指令信息。其中微地址寄存器決定將要訪問的下一條微指令的地址,而微命令寄存器則保存一條微指令的操作控制字段和判別測試字段的信息。 [3] 

微程序控制器地址轉移邏輯

在一般情況下,微指令由控制存儲器讀出後直接給出下一條微指令的地址,通常我們簡稱微地址,這個微地址信息就存放在微地址寄存器中。如果微程序不出現分支,那麼下一條微指令的地址就直接由微地址寄存器給出。當微程序出現分支時,意味着微程序出現條件轉移。在這種情況下,通過判別測試字段P和執行部件的“狀態條件”反饋信息,去修改微地址寄存器的內容,並按改好的內容去讀下一條微指令。地址轉移邏輯就承擔自動完成修改微地址的任務。 [3] 

微程序控制器控制原理

微程序控制的基本思想,就是仿照通常的解題程序的方法,把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器裏.當機器運行時,一條又一條地讀出這些微指令,從而產生全機所需要的各種操作控制信號,使相應部件執行所規定的操作 。
微程序控制的基本原理是:
(1)將機器指令分解為基本的微命令序列,在製造CPU時固化在控制存儲器CM中,執行一條機器指令時,CPU依次從CM中取出微指令產生微命令。
(2)一條微指令包含的微命令控制實現一步(一個節拍)操作,若干條微指令組成一小段微程序解釋執行一條機器指令。 [1] 

微程序控制器執行過程

(1)根據計算機給出的第一條微指令的地址,從控制存儲器中取出第一條微指令。
(2)微指令由操作控制部分和順序控制部分組成。操作控制部分產生微操作控制信號,控制執行部分完成規定的操作。順序控制部分中的直接順序控制部分放入微地址寄存器,順序控制部分的P字段和執行部件反饋的狀態條件信息決定修改微地址寄存器中的值。
(3)按地址寄存器中的值從控制存儲器中取出下一條微指令,繼續第二步,如此循環,直到全部指令執行完畢。

微程序控制器設計步驟

微程序控制器的設計步驟如下:
(1)根據CPU的結構圖描述出每條指令的微操作流程圖並綜合成總的流程圖;
(2)用混合控制法對微命令進行編碼;
(3)選擇合適的控制和時序;
(4)選用微程序的順序控制方式為微指令安排微地址;
(5)畫出微程序控制器組成框圖。 [4] 

微程序控制器組合邏輯控制器和微程序控制器的比較

組合邏輯控制器和微程序控制器,除了操作控制信號的形成方法和原理有差別外,其餘的組成部分上沒有本質的區別。最顯著的差別可歸納為如下兩點:

微程序控制器實現方式

微程序控制器的控制功能是在存放微程序的控制存儲器和存放當前正在執行的微指令的寄存器直接控制下實現的,而組合邏輯控制器由邏輯電路實現。前者電路比較規整,各條指令控制信號的差別反映在控制存儲器的內容上,因此無論是增加或修改(包括糾正設計中的錯誤或升級)指令,只要增加或者修改內容即可。組合邏輯控制器先用邏輯表達式列出,精簡化後用邏輯門電路實現,因而顯得零亂複雜,當需要增加或修改指令時很麻煩甚至不可能,因此微程序控制器得到了廣泛應用,尤其是指令系統複雜的計算機,一般都採用微程序控制器。 [1] 

微程序控制器性能

在同樣的工藝條件下,微程序控制的速度比組合邏輯電路速度低,因為執行每條微指令都要從控制存儲器(CM)中讀取一次,影響了速度,而組合邏輯電路的速度主要取決於電路延遲,因而在高速或超高速計算機中,對影響速度的關鍵部分如CPU,往往採用組合邏輯電路。近年來,一些新的計算機系統如RISC(精簡指令計算機),選用了組合邏輯控制器。 [1] 
參考資料
  • 1.    李捍東主編 .微機原理與接口技術.重慶:重慶大學出版社,2004:49-51
  • 2.    微程序控制器  .湖南學院網[引用日期2012-10-12]
  • 3.    宋紅主編.計算機組成原理 .北京:中國鐵道出版社,2008:102-103
  • 4.    陳琳琳編著.計算機組成原理答疑解惑與典型題解.北京:北京郵電大學出版社,2015:190-190