版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-微程序設(shè)計

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

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

簡介微程序是由若干條微指令組成的序列。在計算機(jī)中,一條機(jī)器指令的功能可由若干條微指令組成的序列來解釋和執(zhí)行,因此機(jī)器執(zhí)行一條指令的過程,也就是執(zhí)行一個相應(yīng)的微程序的過程。

在計算機(jī)等數(shù)字系統(tǒng)中,控制器的典型功能是按時間節(jié)拍發(fā)出一定數(shù)量的控制信號,使系統(tǒng)完成若干基本操作,經(jīng)過若干節(jié)拍后即完成一種相對完整的功能,如一條機(jī)器指令的功能。在一般的控制器中這些控制都是由硬接線邏輯來實現(xiàn)的,在微程序控制器中這些基本操作是由存在于控制存儲器中的微程序段控制完成的,每個基本操作稱為微操作。微程序段由若干條微指令組成。

微程序設(shè)計方法在實際進(jìn)行微程序設(shè)計時,應(yīng)考慮盡量縮短微指令字長,減少微程序長度,提高微程序的執(zhí)行速度。這幾項指標(biāo)是互相制約的,應(yīng)當(dāng)全面地進(jìn)行分析和權(quán)衡。

(1)水平型微指令及水平型微程序設(shè)計

水平型微指令是指一次能定義并能并行執(zhí)行多個微命令的微指令。它的并行操作能力強,效率高,靈活性強,執(zhí)行一條機(jī)器指令所需微指令的數(shù)目少,執(zhí)行時間短;但微指令字較長,增加了控存的橫向容量,同時微指令和機(jī)器指令的差別很大,設(shè)計者只有熟悉了數(shù)據(jù)通路,才有可能編制出理想的微程序,一般用戶不易掌握。由于水平型微程序設(shè)計是面對微處理器內(nèi)部邏輯控制的描述,所以把這種微程序設(shè)計方法稱為硬方法。

(2)垂直型微指令及垂直型微程序設(shè)計

垂直型微指令是指一次只能執(zhí)行一個微命令的微指令。它的并行操作能力差,一般只能實現(xiàn)一個微操作,控制一兩個信息傳送通路,效率低,執(zhí)行一條機(jī)器指令所需的微指令數(shù)目多,執(zhí)行時間長;但是微指令與機(jī)器指令很相似,所以容易掌握和利用,編程比較簡單,不必過多地了解數(shù)據(jù)通路的細(xì)節(jié),且微指令字較短。由于垂直型微程序設(shè)計是面向算法的描述,所以把這種微程序設(shè)計方法稱為軟方法。

(3)混合型微指令

綜合前述兩者特點的微指令稱為混合型微指令,它具有不太長的微指令字,又具有一定的并行控制能力,可高效地去實現(xiàn)機(jī)器的指令系統(tǒng)。1

微指令的執(zhí)行方式執(zhí)行一條微指令的過程與執(zhí)行機(jī)器指令的過程很類似。第一步將微指令從控存中取出,稱為取微指令;對于垂直型微指令還應(yīng)包括微操作碼的譯碼時問。第二步執(zhí)行微指令所規(guī)定的各個操作。微指令的執(zhí)行方式可分為串行和并行兩種方式。

(1)串行方式

在這種方式里,取微指令和執(zhí)行微指令是順序進(jìn)行的,在一條微指令取出并執(zhí)行之后,才能取下一條微指令。

一個微周期里,在取微指令階段,CM工作,數(shù)據(jù)通路等待;而在執(zhí)行微指令階段,CM空閑,數(shù)據(jù)通路工作。

串行方式的微周期較長,但控制簡單,形成后繼微地卅所用的硬件設(shè)備較少。

(2)并行方式

為了提高微指令的執(zhí)行速度,可以將取微指令和執(zhí)行微指令的操作重疊起來,從而縮短微周期。因為這兩個操作是在兩個完全不同的部件中執(zhí)行的,所以這種重疊是完全可行的。 ‘

在執(zhí)行本條微指令的同時,預(yù)取下一條微指令。假設(shè)取微指令的時間比執(zhí)行微指令的時間短,就以較長的執(zhí)行時間作為微周期。

由于執(zhí)行本條微指令與預(yù)取下一條微指令是同時進(jìn)行的,若遇到某些需要根據(jù)本條微指令處理結(jié)果而進(jìn)行條件轉(zhuǎn)移的微指令,就不能并行地取出來。最簡單的辦法就是延遲一個微周期再取微指令。

除以上兩種控制方式外,還有串、并行混合方式,即當(dāng)待執(zhí)行的微指令地址與現(xiàn)行微指令處理無關(guān)時,采用并行方式;當(dāng)其受現(xiàn)行微指令操作結(jié)果影響時,則采用串行方式。1

動態(tài)微程序設(shè)計通常,對應(yīng)于一臺計算機(jī)的指令系統(tǒng)有一系列固定的微程序。當(dāng)微程序設(shè)計好之后,一般不允許改變而且也不便于改變,這樣的設(shè)計叫做靜態(tài)微程序設(shè)計。若一臺計算機(jī)能根據(jù)不同應(yīng)用目標(biāo)的要求改變微程序,則這臺計算機(jī)就具有動態(tài)微程序設(shè)計功能。

動態(tài)微程序設(shè)計的出發(fā)點是為了使計算機(jī)能更靈活、更有效地適應(yīng)于各種不同的應(yīng)用目標(biāo)。例如,在不改變硬件結(jié)構(gòu)的前提下,如果計算機(jī)配備了兩套可供切換的微程序,一套是用來實現(xiàn)科學(xué)計算的指令系統(tǒng),另一套是用來實現(xiàn)數(shù)據(jù)處理的指令系統(tǒng),這樣該計算機(jī)就能根據(jù)不同的應(yīng)用需要隨時改變和切換相應(yīng)的微程序,以保證高效率地實現(xiàn)科學(xué)計算或數(shù)據(jù)處理。

動態(tài)微程序設(shè)計需要可寫控制存儲器(WCS)的支持,否則難以改變微程序的內(nèi)容。由于動態(tài)微程序設(shè)計要求對計算機(jī)的結(jié)構(gòu)和組成非常熟悉,所以這類改變微程序的方案也是由計算機(jī)的設(shè)計人員實現(xiàn)的。1

本詞條內(nèi)容貢獻(xiàn)者為:

方正 - 副教授 - 江南大學(xué)