挑戰408——組成原理(25)——微程序控制器

微程序邏輯採用存儲邏輯實現,其基本思想爲:把操作控制信號編製成微指令,存放在存儲器中,運行的時候,從存儲器中取出微指令,從而產生指令運行所需要的操作控制信號。所以所謂的微程序設計技術,實際上是用軟件的方法來設計硬件的技術
目前,大多數機器採用微程序設計技術。
處理器的內部可以分爲:控制器部件和執行部件。下面學習一些術語:

  • 微命令:控制器部件向執行部件發出的控制命令,是構成控制序列的最小單位,例如打開或者關閉控制門的電位信號。是各部件完成某個基本微操作的命令
  • 微操作:執行部件接受微命令後所進行的操作,和微操作是一一對應的。
    (實際上,微命令是微操作的控制信號,微操作是微命令的執行過程,微操作是執行部件中最基本的操作)
  • 微指令:若干微命令的集合,存放在一個控制存儲器中,而存放微指令的控制存儲器的單元成爲微地址。在同一CPU週期內,並行執行的一組微命令,存儲在控制存儲器上面,稱爲一條微指令
  • 微週期:從讀取一條微指令,到執行執行完畢所需要的時間稱爲微週期。
  • 控制存儲器:之前介紹的主存,主要用來存放程序和數據,位於CPU的外部,使用的是RAM。而控制存儲器,則主要用於存儲微程序,位於Cpu內部,採用的是ROM
  • 微程序:實現一條機器指令功能的微指令序列。

下面說說他們之間的相互關係:
指令系統 = 所有機器指令的集合;
一條機器指令 = 一個微程序
微程序 = 若干微指令
微指令 = 一組微命令
微命令 ->微操作
程序與微程序:程序由機器指令構成,編寫好以後放到主存中運行,可以改寫。而微程序由微指令構成,事先編寫好在CM(控制存儲器)中,一般是不可改寫的。

微指令的構成

微指令由操作控制字段跟順序控制字段構成。

  • 操作控制字段:又稱微操作碼字段,用以產生某一步操作所需要的各個微操作所需的各個控制信號
  • 順序控制字段:又稱微地址碼字段,用來控制產生下一條將要執行的微指令的地址。(類似於PC)

在這裏插入圖片描述
上圖中的控制存儲器是微程序控制單元的核心,CMAR中存放着欲讀出的微指令地址,而順序邏輯則用於形成下一條微指令。

微指令的控制方式

微指令的編碼方式,又稱爲微指令的控制方式,它是指如何對微指令的控制字段進行編碼,以形成控制信號。目前主要有如下方式:

  1. 直接編碼方式
    操作控制字段中的各位分別可以直接控制計算機,不需要進行譯碼。其中每一位都代表一個微操作命令,例如控制字段中的某位爲1,則代表着控制信號有效,0代表無效。直接編碼方式的格式圖如下:
    在這裏插入圖片描述
    優點:簡單直觀,執行速度快;微命令的並行控制能力強,編制的微程序短。
    缺點:微指令字太長。空間不能充分利用,比如如果是微命令有N個,那麼微指令的控制字段就要N位,這樣就會造成控存容量極大。
  2. 字段直接編碼方式
    將操作控制字段分爲若干個小段,每段內採用最短編碼法(互斥微命令),段與段之間採用直接編碼方式(兼容微命令)。這句話比較難理解。
    舉個例子,例如用3位二進制譯碼後代碼可以表示7位互斥的微命令,留出的一位,用作狀態碼,表示不發出微命令,那麼對比直接編碼,採用7位來表示,減少了4位。
    在設計上:互斥性的微命令分在同一段內,兼容性的微命令分在不同段內
    在這裏插入圖片描述
    優點:可以避免互斥,使指令字大大縮短
    缺點:增加了譯碼電路,使微程序的執行速度減慢
  3. 混合編碼方式
    將前兩種結合在一起,兼顧兩者特點。一個字段的某些編碼不能獨立地定義某些微命令,而需要與其他字段的編碼來聯合定義

微指令的地址形成

微指令的地址形成主要有兩個方式:

  1. 直接由微指令的順序控制字段(或者稱爲下地址)給出。
  2. 根據指令的操作碼形成(一般由增量計數法,分支轉移法,硬件直接產生)

微指令格式

微指令的格式與微指令的編碼方式有關,通常分爲水平型跟垂直型微指令。
水平型微指令的特點是,一次能定義並執行多個並行操作的微命令,從編碼方式來看,直接編碼,字段直接編碼,以及混合編碼都屬於水平類型。
垂直型微指令的特點是,採用類似機器指令操作碼方式,在微指令字段中,設置微操作碼字段,由微操作碼規定微指令功能,不過這種微指令並不強調並行控制功能。
例如寄存器數據傳送型的微指令格式:

000 元寄存器 目的寄存器 其他

前面的000表是微操作碼。

兩者之間的比較:

  • 水平型微指令並行操作能力強,效率高,靈活性強
  • 水平型微指令執行一條指令的時間短,並行好
  • 水平型微指令字長較長,微程序短;垂直型指令字長短,微程序長
  • 垂直型與指令相似,易於編寫。

兩種控制器之間的對比:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章