1簡(jiǎn)介
微程序控制的基本思想,就是仿照通常的解題程序的方法,把操作控制信號(hào)編成所謂的“微指令”,存放到一個(gè)只讀存儲(chǔ)器里.當(dāng)機(jī)器運(yùn)行時(shí),一條又一條地讀出這些微指令,從而產(chǎn)生全機(jī)所需要的各種操作控制信號(hào),使相應(yīng)部件執(zhí)行所規(guī)定的操作.
采用微程序控制方式的控制器稱為微程序控制器。所謂微程序控制方式是指微命令不是由組合邏輯電路產(chǎn)生的,而是由微指令譯碼產(chǎn)生。一條機(jī)器指令往往分成幾步執(zhí)行,將每一步操作所需的若干位命令以代碼形式編寫(xiě)在一條微指令中,若干條微指令組成一段微程序,對(duì)應(yīng)一條機(jī)器指令。在設(shè)計(jì)CPU時(shí),根據(jù)指令系統(tǒng)的需要,事先編制好各段微程序,且將它們存入一個(gè)專用存儲(chǔ)器(稱為控制存儲(chǔ)器)中。微程序控制器由指令寄存器IR、程序計(jì)數(shù)器PC、程序狀態(tài)字寄存器PSW、時(shí)序系統(tǒng)、控制存儲(chǔ)器CM、微指令寄存器以及微地址形成電路、微地址寄存器等部件組成。執(zhí)行指令時(shí),從控制存儲(chǔ)器中找到相應(yīng)的微程序段,逐次取出微指令,送入微指令寄存器,譯碼后產(chǎn)生所需微命令,控制各步操作完成。
2相關(guān)概念
微命令和微操作
微命令控制部件通過(guò)控制線向執(zhí)行部件發(fā)出的各種控制命令。
微操作執(zhí)行部件接受微命令后所進(jìn)行的操作。
控制部件與執(zhí)行部件通過(guò)控制線和反饋信息進(jìn)行聯(lián)系。
微指令和微程序
微指令在機(jī)器的一個(gè)CPU周期中,一組實(shí)現(xiàn)一定操作功能的微命令的組合。
微程序?qū)崿F(xiàn)一條機(jī)器指令功能的許多條微指令組成的序列。
控制部件與執(zhí)行部件通過(guò)控制線和反饋信息進(jìn)行聯(lián)系。
微程序控制器原理框圖
它主要由控制存儲(chǔ)器、微指令寄存器和地址轉(zhuǎn)移邏輯三大部分組成。
1.控制存儲(chǔ)器
控制存儲(chǔ)器用來(lái)存放實(shí)現(xiàn)全部指令系統(tǒng)的微程序,它是一種只讀存儲(chǔ)器。一旦微程序固化,機(jī)器運(yùn)行時(shí)則只讀不寫(xiě)。其工作過(guò)程是:每讀出一條微指令,則執(zhí)行這條微指令;接著又讀出下一條微指令,又執(zhí)行這一條微指令……。讀出一條微指令并執(zhí)行微指令的時(shí)間總和稱為一個(gè)微指令周期。通常,在串行方式的微程序控制器中,微指令周期就是只讀存儲(chǔ)器的工作周期??刂拼鎯?chǔ)器的字長(zhǎng)就是微指令字的長(zhǎng)度,其存儲(chǔ)容量視機(jī)器指令系統(tǒng)而定,即取決于微程序的數(shù)量。對(duì)控制存儲(chǔ)器的要求是速度快,讀出周期要短。
2.微指令寄存器
微指令寄存器用來(lái)存放由控制存儲(chǔ)器讀出的一條微指令信息。其中微地址寄存器決定將要訪問(wèn)的下一條微指令的地址,而微命令寄存器則保存一條微指令的操作控制字段和判別測(cè)試字段的信息。
3.地址轉(zhuǎn)移邏輯
在一般情況下,微指令由控制存儲(chǔ)器讀出后直接給出下一條微指令的地址,通常我們簡(jiǎn)稱微地址,這個(gè)微地址信息就存放在微地址寄存器中。如果微程序不出現(xiàn)分支,那么下一條微指令的地址就直接由微地址寄存器給出。當(dāng)微程序出現(xiàn)分支時(shí),意味著微程序出現(xiàn)條件轉(zhuǎn)移。在這種情況下,通過(guò)判別測(cè)試字段P和執(zhí)行部件的“狀態(tài)條件”反饋信息,去修改微地址寄存器的內(nèi)容,并按改好的內(nèi)容去讀下一條微指令。地址轉(zhuǎn)移邏輯就承擔(dān)自動(dòng)完成修改微地址的任務(wù)。
CPU周期與微指令周期的關(guān)系
在串行方式的微程序控制器中:微指令周期=讀出微指令的時(shí)間+執(zhí)行該條微指令的時(shí)間
一個(gè)CPU周期為0.8μs,它包含四個(gè)等間隔的節(jié)拍脈沖T1—T4,每個(gè)脈沖寬度為200ns。用T4作為讀取微指令的時(shí)間,用T1+T2+T3時(shí)間作為執(zhí)行微指令的時(shí)間。例如,在前600ns時(shí)間內(nèi)運(yùn)算器進(jìn)行運(yùn)算,在600ns時(shí)間的末尾運(yùn)算器已經(jīng)運(yùn)算完畢,可用T4上升沿將運(yùn)算結(jié)果打入某個(gè)寄存器。與此同時(shí)可用T4間隔讀取下條微指令,經(jīng)200ns時(shí)間延遲,下條微指令又從只讀存儲(chǔ)器讀出,并用T1上升沿打入到微指令寄存器。如忽略觸發(fā)器的翻轉(zhuǎn)延遲,那么下條微指令的微命令信號(hào)就從T1上升沿起就開(kāi)始有效,直到下一條微指令讀出后打入微指令寄存器為止。因此一條微指令的保持時(shí)間恰好是0.8μs,也就是一個(gè)CPU周期的時(shí)間。
內(nèi)容來(lái)自百科網(wǎng)