標籤: 暫無標籤

微程序設計是用規整的存儲邏輯代替不規則的硬接線邏輯來實現計算機控制器功能的技術。每一條指令啟動一串微指令,這串微指令稱為微程序。微程序存放在控制存儲器中,修改控制存儲器內容可以改變計算機的指令。

1 微程序設計 -正文

在計算機等數字系統中,控制器的典型功能是按時間節拍發出一定數量的控制信號,使系統完成若干基本操作,經過若干節拍后即完成一種相對完整的功能,如一條機器指令的功能。在一般的控制器中這些控制都是由硬接線邏輯來實現的,在微程序控制器中這些基本操作是由存在於控制存儲器中的微程序段控制完成的,每個基本操作稱為微操作。微程序段由若干條微指令組成。
  圖中,從存儲器中取一條機器指令送入指令寄存器,寄存器的輸出接微程序控制器,由後者控制微程序的執行。通常,機器指令的操作碼通過微程序控制器給出執行這條機器指令微程序段的首址,從控制存儲器中取出此微程序段的第一條微指令存入微指令寄存器。一條微指令包含若干個微碼域。各個微碼域通過一定的解碼控制各相應功能執行部件,在微指令周期內完成相應的各個微操作。微指令周期也稱為微周期。微指令中一部分信息(微碼域)也可反饋到微程序控制器,協同微指令執行后產生的狀態信息和機器指令中除操作碼以外的其他信息,通過微程序控制器去選取下一條微指令,從而控制微程序的流程相繼執行這一段微程序而完成一條相應機器指令所要求的功能。各種機器指令的功能都是通過執行相應的微程序段來完成的,也可設計編製一微程序段,用以完成一條宏指令或宏命令。把設計編製的各微程序段適當組合起來可形成一個微程序整體,控制器的功能就反映在這一整體中,所以微程序控制的物理結構很規整,而其功能設計方法又很靈活。
微程序設計微程序設計
  微周期的長短以及在一個微周期內能完成的微操作個數,是決定計算機系統運行速度的主要因素。微周期越短,一個微周期內完成的微操作越多,系統的運行速度越高。微周期短,要求包括控制存儲器在內的控制部件和被它控制的各個功能執行部件有足夠的快速響應能力。在一個微周期內能完成的微操作越多,就要求這一系統有更多的功能執行部件(硬體資源),而微指令中也必須有對應的微碼域,即增加微指令的字長或寬度,而且這些微操作所需的硬體資源數據和控制條件不能相關,以便在同一微周期內并行執行。如一個微操作所需的數據或控制條件依賴於另一個微操作的執行結果,則兩個微操作就不能并行執行。為了獲得高效率,在編製微程序時應使儘可能多的微操作并行執行,這通常稱為微程序的優化。微程序設計的主要內容包括系統分析設計、微程序編製和微程序模擬。
  系統分析和設計  設計前根據所要求的系統性能指標對計算機系統進行分析,確定需要配置的各種功能執行部件,即硬體資源。然後對微指令寬度及其所包含的各個微碼域,微指令種類和微程序控制器等進行設計。
  在規模大、性能高的系統中,要求微指令有較大的寬度,包含較多的微碼域,使較多的微操作能并行執行。這種微指令通常稱為水平型微指令。控制存儲器是快速部件,成本較高,即使是水平型微指令,在不影響并行度的情況下也應儘可能壓縮微指令的寬度。控制同一類型且彼此相斥的操作時,可以先對微碼域進行解碼再進行控制以縮短微指令寬度。例如,可將控制算術邏輯部件的微碼域分為5個分微碼域,其中1個分域用以選擇一種算術邏輯運算,3個分域分別控制3個輸入端數據源的選擇,另外一個控制運算結果的去處。若部件共有16種運算(包括空操作),它們是互斥的,即任何時候只能選擇其中一種。使用4位域經過解碼可產生 16個選擇信號,這和使用不經解碼的16位域的作用是一樣的。輸入端數據源的選擇控制和輸出去處的控制的情況也與此類似。
  對於規模較小的系統,硬體資源較少,并行度要求較低,可採用寬度小的微指令格式,通常稱為垂直型微指令。水平型微指令并行度高,但造價也高,編寫較困難。垂直型微指令并行度低,造價也低,編寫比較容易。為了降低成本又有較好的并行度,可採用兩級微程序控制的系統,第一級屬垂直型,第二級屬水平型,也稱為毫微程序。由第一級微指令選取第二級微指令,再產生各種控制信號。這種兩級微程序控制系統,結構上複雜一些,快速性也低於一級水平型微程序系統,但如果設計得每條毫微指令基本都可被若干條微指令來選取,大寬度的毫微指令條數可以減少好幾成,能明顯地降低成本,提高性能價格比。
  微程序編製技術  主要包括微程序驗證、優化和編寫。系統是在微程序控制下運行的,微程序的正確性至關重要,編製的微程序必須通過模擬手段驗證。微程序的效率直接影響系統的效率,所以必須優化。在實踐中經常把優化與驗證結合起來進行,目的是編製出正確而高效的微程序。編寫微程序,特別是水平型微程序比較費時。最常用的編寫工具是微彙編。
  微程序模擬  用微程序設計的方法使某一計算機系統執行被模擬計算機系統的程序。模擬的作用與模擬相仿,但其效率比模擬高得多。既可對已有的計算機系統模擬,也可對正在設計中的計算機系統進行模擬。計算機的更新換代較快,為使原先用於老計算機系統的應用軟體仍能在新系統上運行,可以在新系統上配置模擬器,用微程序模擬執行原先在老系統上開發的程序。微程序模擬是加快研製新的計算機軟、硬系統的一種重要工具。
  超大規模集成電路的進展能提供快速大容量而廉價的控制存儲器,為進一步發展微程序技術創造條件。微程序是一種存儲邏輯,既規整又便於檢測,特別適於超大規模集成技術。
  參考書目
 N.Sandak and E.Mallach, Microprogramming,Artech House, Dedham, 1977.

2 微程序設計 -配圖

3 微程序設計 -相關連接

上一篇[勞拉·瓦塞爾]    下一篇 [美國國務卿]

相關評論

同義詞:暫無同義詞