微指令
實現一定操作功能的微命令組合
微指令是指在微程序控制的計算機中,同時發出的控制信號所執行的一組微操作。微指令是由同時發出的控制信號的有關信息彙集起來形成的。將一條指令分成若干條微指令,按次序執行就可以實現指令的功能。若干條微指令可以構成一個微程序,而一個微程序就對應了一條機器指令。
微指令是指在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合,描述微操作的語句。微命令是指控制部件通過控制線向執行部件發出各種控制命令。操作微指令是描述受控電路的操作語句,分支微指令是描述控制電路的分支語句。
一條機器指令的功能是若干條微指令組成的序列來實現的,即一條機器指令所完成的操作分成若干條微指令來完成,由微指令進行解釋和執行,這個微指令序列通常叫做微程序。微指令的編譯方法是決定微指令格式的主要因素。考慮到速度,成本等原因,在設計計算機時採用不同的編譯法。因此微指令的格式大體分成兩類:水平型微指令和垂直型微指令。
水平型微指令
一次能定義並執行多個并行操作微命令的微指令,叫做水平型微指令。水平型微指令的一般格式如下:控制欄位,判別測試欄位和下地址欄位。按照控制欄位的編碼方法不同,水平型微指令又分為三種:一種是全水平型(不譯法)微指令,第二種是欄位解碼法水平型微指令,第三種是直接和解碼相混合的水平型微指令。
垂直型微指令
微指令中設置微操作碼欄位,採用微操作碼編譯法,由微操作碼規定微指令的功能,稱為垂直型微指令。垂直型微指令的結構類似於機器指令的結構。它有操作碼,在一條微指令中只有l-2個微操作命令,每條微指令的功能簡單,因此,實現一條機器指令的微程序要比水平型微指令編寫的微程序長得多。它是採用較長的微程序結構去換取較短的微指令結構。
水平型微指令與垂直型微指令的比較
(1)水平型微指令并行操作能力強,指令高效,快速,靈活,垂直型微指令則較差。
(2)水平型微指令執行一條指令時間短,垂直型微指令執行時間長。
(3)由水平型微指令解釋指令的微程序,有微指令字較長而微程序短的特點。垂直型微指令則相反。
(4)水平型微指令用戶難以掌握,而垂直型微指令與指令比較相似,相對來說,比較容易掌握。
規範化描述就是在指令系統的微指令描述中盡量減小語句使用的隨意性,使整個指令系統的描述具有較強的規律性,並使微操作集中的元素最少。事實上只要微指令描述合理規範,從微程序設計角度來看,所描述的功能都是可以通過ASIC技術實現的。在一條指令的描述中,指令的微操作步數必須與指令所需的時鐘周期數相吻合,分配好各微指令序列所佔的時鐘數,安排好各微指令組和各微指令序列在整個控制序列中的位置,這是指令系統規範化描述的基礎。在同類指令的描述中,完成相同微功能的微指令序列所佔的時鐘周期數必須相同,在控制序列中的分配位置必須合理。例如字除法指令比位元組除法指令多8個狀態周期,因此每位除法只能佔用一個狀態周期。再例如操作數長度相同的有符號數除法指令和無符號數除法指令相比多增加4個狀態周期,因此有符號除法中被除數和除數、商和餘數的符號化處理,只能分別在2個狀態周期中實現,且刪除這4個狀態周期中的所有微指令。
機器指令和微指令的關係
一台數字計算機基本上可以劃分為兩大部分——控制部件和執行部件。控制器就是控制部件,而運算器、存儲器、外圍設備相對控制器來說就是執行部件。控制部件與執行部件的一種聯繫就是通過控制線。控制部件通過控制線向執行部件發出各種控制命令,通常這種控制命令叫做微命令,而執行部件接受微命令后所執行的操作就叫做微操作。控制部件與執行部件之間的另一種聯繫就是反饋信息。執行部件通過反饋線向控制部件反映操作情況,以便使得控制部件根據執行部件的狀態來下達新的微命令,這也叫做“狀態測試”。微操作在執行部件中是組基本的操作。由於數據通路的結構關係,微操作可分為相容性和相斥性兩種。在機器的一個CPU周期中,一組實現一定操作功能的微命令的組合,構成一條微指令。一般的微指令格式由操作控制和順序控制兩部分構成。操作控制部分用來發出管理和指揮全機工作的控制信號。其順序控制部分用來決定產生下一個微指令的地址。事實上一條機器指令的功能是由許多條微指令組成的序列來實現的。這個微指令序列通常叫做微程序。既然微程序是由微指令組成的,那麼當執行當前的一條微指令的時候。必須指出後繼微指令的地址,以便當前一條微指令執行完畢以後,取下一條微指令執行。機器指令和微指令的關係歸納如下:
1.一條機器指令對應一個微程序,這個微程序是由若干條微指令構成的。因此,一條機器指令的功能是由若干條微指令組成的序列來實現的。簡而言之,一條機器指令所完成的操作劃分成若干條微指令來完成,由微指令進行解釋和執行。
2.從指令與微指令,程序與微程序,地址與微地址的一一對應關係上看,前者與內存儲器有關,而後者與控制存儲器(它是微程序控制器的一部分。微程序控制器主要由控制存儲器、微指令寄存器和地址轉移邏輯三部分組成。其中,微指令寄存器又分為微地址寄存器和微命令寄存器兩部分)有關,與此相關也有相對應的硬設備。
3.一條機器指令對應4個CPU周期,每個CPU周期就對於一條微指令。