微程式控制器

微程式控制器

微程式控制器是一種控制器,同組合邏輯控制器相比較,具有規整性、靈活性、可維護性等一系列優點,因而在計算機設計中逐漸取代了早期採用的組合邏輯控制器,並已被廣泛地套用。在計算機系統中,微程式設計技術是利用軟體方法來設計硬體的一門技術 。

基本介紹

  • 中文名:微程式控制器
  • 外文名:Microprogram controller
  • 基本思想:按照通常的解題程式的方法
  • 優點:規整性、靈活性、可維護性
  • 設計技術:利用軟體方法來設計硬體
  • 定義:採用微程式控制方式的控制器
定義,基本概念,微命令和微操作,微指令和微程式,CPU周期與微指令周期的關係,組成,控制存儲器,微指令暫存器,地址轉移邏輯,控制原理,執行過程,設計步驟,組合邏輯控制器和微程式控制器的比較,實現方式,性能,

定義

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

基本概念

微命令和微操作

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

微指令和微程式

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

CPU周期與微指令周期的關係

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

組成

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

控制存儲器

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

微指令暫存器

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

地址轉移邏輯

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

控制原理

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

執行過程

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

設計步驟

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

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

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

實現方式

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

性能

在同樣的工藝條件下,微程式控制的速度比組合邏輯電路速度低,因為執行每條微指令都要從控制存儲器(CM)中讀取一次,影響了速度,而組合邏輯電路的速度主要取決於電路延遲,因而在高速或超高速計算機中,對影響速度的關鍵部分如CPU,往往採用組合邏輯電路。近年來,一些新的計算機系統如RISC(精簡指令計算機),選用了組合邏輯控制器。

相關詞條

熱門詞條

聯絡我們