微程式控制器
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
微程式控制器是一種控制器,同組合邏輯控制器相比較,具有規整性、靈活性、可維護性等一系列優點,因而在電腦設計中逐漸取代了早期採用的組合邏輯控制器,並已被廣泛地應用.在電腦系統中,微程式設計技術是利用軟體方法來設計硬體的一門技術
微程式控制的基本思想,就是仿照通常的解題程式的方法,把操作控制信號編成所謂的“微指令”,存放到一個只讀存儲器里.當機器運行時,一條又一條地讀出這些微指令,從而產生全機所需要的各種操作控制信號,使相應部件執行所規定的操作 .
採用微程式控制方式的控制器稱為微程式控制器。所謂微程式控制方式是指微命令不是由組合邏輯電路產生的,而是由微指令解碼產生。一條機器指令往往分成幾步執行,將每一步操作所需的若幹位命令以代碼形式編寫在一條微指令中,若幹條微指令組成一段微程式,對應一條機器指令。在設計CPU時,根據指令系統的需要,事先編製好各段微程式 ,且將它們存入一個專用存儲器(稱為控制存儲器)中。微程式控制器由指令寄存器IR、程式計數器PC、程式狀態字寄存器PSW、時序系統、控制存儲器CM、微指令寄存器以及微地址形成電路、微地址寄存器等部件組成。執行指令時,從控制存儲器中找到相應的微程式段,逐次取出微指令,送入微指令寄存器,解碼後產生所需微命令,控制各步操作完成。
它主要由控制存儲器、微指令寄存器和地址轉移邏輯三大部分組成。
1.控制存儲器
控制存儲器用來存放實現全部指令系統的微程式,它是一種只讀存儲器。一旦微程式固化,機器運行時則只讀不寫。其工作過程是:每讀出一條微指令,則執行這條微指令;接著又讀出下一條微指令,又執行這一條微指令……。讀出一條微指令並執 行微指令的時間總和稱為一個微指令周期。通常,在串列方式的微程式控制器中,微指令周期就是只讀存儲器的工作周期。控制存儲器的字長就是微指令字的長度,其存儲容量視機器指令系統而定,即取決於微程式的數量。對控制存儲器的要求是速度快,讀出周期要短。?
2.微指令寄存器
微指令寄存器用來存放由控制存儲器讀出的一條微指令信息。其中微地址寄存器決定將要訪問的下一條微指令的地址,而微命令寄存器則保存一條微指令的操作控制欄位和判別測試欄位的信息。
3.地址轉移邏輯
在一般情況下,微指令由控制存儲器讀出後直接給出下一條微指令的地址,通常我們簡稱微地址,這個微地址信息就存放在微地址寄存器中。如果微程式不出現分支,那麼下一條微指令的地址就直接由微地址寄存器給出。當微程式出現分支時,意味著微程式出現條件轉移。在這種情況下,通過判別測試欄位P和執行部件的“狀態條件”反饋信息,去修改微地址寄存器的內容,並按改好的內容去讀下一條微指令。地址轉移邏輯就承擔自動完成修改微地址的任務。