當(dāng)前位置:首頁(yè) > 百科知識(shí) > 機(jī)器人 > 正文

微程序控制器

微程序控制器同組合邏輯控制器相比較,具有規(guī)整性、靈活性、可維護(hù)性等一系列優(yōu)點(diǎn),因而在計(jì)算機(jī)設(shè)計(jì)中逐漸取代了早期采用的組合邏輯控制器,并已被廣泛地應(yīng)用.在計(jì)算機(jī)系統(tǒng)中,微程序設(shè)計(jì)技術(shù)是利用軟件方法來(lái)設(shè)計(jì)硬件的一門(mén)技術(shù) .

  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)