德國寶德BURKERT控制器常見種類:
1,、設(shè)計機(jī)器的指令系統(tǒng):規(guī)定指令的種類,、指令的條數(shù)以及每一條指令的格式和功能,;
2、初步的總體設(shè)計:如寄存器設(shè)置,、總線安排,、運算器設(shè)計、部件間的連接關(guān)系等,;
3,、繪制指令流程圖:標(biāo)出每一條指令在什么時間、什么部件進(jìn)行何種操作,;
4,、編排操作時間表:即根據(jù)指令流程圖分解各操作為微操作,按時間段列出機(jī)器應(yīng)進(jìn)行的微操作,;
5,、列出微操作信號表達(dá)式,化簡,,電路實現(xiàn),。
基本組成:
1、指令寄存器用來存放正在執(zhí)行的指令,。指令分成兩部分:操作碼和地址碼,。操作碼用來指示指令的操作性質(zhì),如加法,、減法等;地址碼給出本條指令的操作數(shù)地址或形成操作數(shù)地址的有關(guān)信息(這時通過地址形成電路來形成操作數(shù)地址),。有一種指令稱為轉(zhuǎn)移指令,,它用來改變指令的正常執(zhí)行順序,這種指令的地址碼部分給出的是要轉(zhuǎn)去執(zhí)行的指令的地址,。
2,、操作碼譯碼器:用來對指令的操作碼進(jìn)行譯碼,產(chǎn)生相應(yīng)的控制電平,,完成分析指令的功能,。
3、時序電路:用來產(chǎn)生時間標(biāo)志信號,。在微型計算機(jī)中,,時間標(biāo)志信號一般為三級:指令周期、總線周期和時鐘周期,。微操作命令產(chǎn)生電路產(chǎn)生完成指令規(guī)定操作的各種微操作命令,。這些命令產(chǎn)生的主要依據(jù)是時間標(biāo)志和指令的操作性質(zhì)。該電路實際是各微操作控制信號表達(dá)式(如上面的A→L表達(dá)式)的電路實現(xiàn),,它是組合邏輯控制器中最為復(fù)雜的部分,。
4,、指令計數(shù)器:用來形成下一條要執(zhí)行的指令的地址。通常,,指令是順序執(zhí)行的,,而指令在存儲器中是順序存放的。所以,,一般情況下下一條要執(zhí)行的指令的地址可通過將現(xiàn)行地址加1形成,,微操作命令“1"就用于這個目的。如果執(zhí)行的是轉(zhuǎn)移指令,,則下一條要執(zhí)行的指令的地址是要轉(zhuǎn)移到的地址,。該地址就在本轉(zhuǎn)移指令的地址碼字段,將其直接送往指令計數(shù)器,。
微程序控制器的提出是因為組合邏輯設(shè)計存在不便于設(shè)計,、不靈活、不易修改和擴(kuò)充等缺點,。
微程序
微程序控制(簡稱微碼控制)的基本思路是:用微指令產(chǎn)生微操作命令,,用若干條微指令組成一段微程序?qū)崿F(xiàn)一條機(jī)器指令的功能(為了加以區(qū)別,將前面所講的指令稱為機(jī)器指令),。設(shè)機(jī)器指令M執(zhí)行時需要三個階段,,每個階段需要發(fā)出如下命令:階段一發(fā)送K1、K8命令,,階段二發(fā)送K0,、K2、K3,、K4命令,,階段三發(fā)送K9命令。當(dāng)將第一條微指令送到微指令寄存器時,,微指令寄存器的K1和K8為1,,即發(fā)出K1和K8命令,該微指令指出下一條微指令地址為00101,,從中取出第二條微指令,,送到微指令寄存器時將發(fā)出K0、K2,、K3,、K4命令,接下來是取第三條微指令,,發(fā)K9命令,。
微程序控制器的組成:
1、控制存儲器(Control Memory)用來存放各機(jī)器指令對應(yīng)的微程序,。譯碼器用來形成機(jī)器指令對應(yīng)的微程序的入口地址,。當(dāng)將一條機(jī)器指令對應(yīng)的微程序的各條微指令逐條取出,,并送到微指令寄存器時,其微操作命令也就按事先的設(shè)計發(fā)出,,因而也就完成了一條機(jī)器指令的功能,。對每一條機(jī)器指令都是如此。
2,、微指令的寬度直接決定了微程序控制器的寬度,。為了簡化控制存儲器,可采取一些措施來縮短微指令的寬度,。如采用字段譯碼法一級分段譯碼,。顯然,微指令的控制字段將大大縮短,。,,一些要同時產(chǎn)生的微操作命令不能安排在同一個字段中。為了進(jìn)一步縮短控制字段,,還可以將字段譯碼設(shè)計成兩級或多級,。
CPU
控制器是指揮計算機(jī)的各個部件按照指令的功能要求協(xié)調(diào)工作的部件,是計算機(jī)的神經(jīng)中樞和指揮中心,,由指令寄存器IR(InstructionRegister),、程序計數(shù)器PC(ProgramCounter)和操作控制器OC(OperationController)三個部件組成,對協(xié)調(diào)整個電腦有序工作極為重要,。
指令寄存器:用以保存當(dāng)前執(zhí)行或即將執(zhí)行的指令的一種寄存器,。指令內(nèi)包含有確定操作類型的操作碼和指出操作數(shù)來源或去向的地址。指令長度隨不同計算機(jī)而異,,指令寄存器的長度也隨之而異,。計算機(jī)的所有操作都是通過分析存放在指令寄存器中的指令后再執(zhí)行的。指令寄存器的輸人端接收來自存儲器的指令,,指令寄存器的輸出端分為兩部分,。操作碼部分送到譯碼電路進(jìn)行分析,,指出本指令該執(zhí)行何種類型的操作;地址部分送到地址加法器生成有效地址后再送到存儲器,,作為取數(shù)或存數(shù)的地址。
存儲器可以指主存,、高速緩存或寄存器棧等用來保存當(dāng)前正在執(zhí)行的一條指令,。當(dāng)執(zhí)行一條指令時,先把它從內(nèi)存取到數(shù)據(jù)寄存器(DR)中,,然后再傳送至IR,。指令劃分為操作碼和地址碼字段,由二進(jìn)制數(shù)字組成,。為了執(zhí)行任何給定的指令,,必須對操作碼進(jìn)行測試,,以便識別所要求的操作。指令譯碼器就是做這項工作的,。指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入,。操作碼一經(jīng)譯碼后,即可向操作控制器發(fā)出具體操作的特定信號,。
程序計數(shù)器:指明程序中下一次要執(zhí)行的指令地址的一種計數(shù)器,,又稱指令計數(shù)器。它兼有指令地址寄存器和計數(shù)器的功能,。當(dāng)一條指令執(zhí)行完畢的時候,,程序計數(shù)器作為指令地址寄存器,其內(nèi)容必須已經(jīng)改變成下一條指令的地址,,從而使程序得以持續(xù)運行,。
為此可采取以下兩種辦法:
第一種辦法是在指令中包含了下一條指令的地址。在指令執(zhí)行過程中將這個地址送人指令地址寄存器即可達(dá)到程序持續(xù)運行的目的,。這個方法適用于早期以磁鼓,、延遲線等串行裝置作為主存儲器的計算機(jī)。根據(jù)本條指令的執(zhí)行時間恰當(dāng)?shù)貨Q定下一條指令的地址就可以縮短讀取下一條指令的等待時間,,從而收到提高程序運行速度的效果,。
第二種辦法是順序執(zhí)行指令。一個程序由若干個程序段組成,,每個程序段的指令可以設(shè)計成順序地存放在存儲器之中,,所以只要指令地址寄存器兼有計數(shù)功能,在執(zhí)行指令的過程中進(jìn)行計數(shù),,自動加一個增量,,就可以形成下一條指令的地址,從而達(dá)到順序執(zhí)行指令的目的,。這個辦法適用于以隨機(jī)存儲器作為主存儲器的計算機(jī),。當(dāng)程序的運行需要從一個程序段轉(zhuǎn)向另一個程序段時,可以利用轉(zhuǎn)移指令來實現(xiàn),。轉(zhuǎn)移指令中包含了即將轉(zhuǎn)去的程序段入口指令的地址,。執(zhí)行轉(zhuǎn)移指令時將這個地址送人程序計數(shù)器(此時只作為指令地址寄存器,不計數(shù))作為下一條指令的地址,,從而達(dá)到轉(zhuǎn)移程序段的目的,。子程序的調(diào)用、中斷和陷阱的處理等都用類似的方法,。在隨機(jī)存取存儲器普及以后,,第二種辦法的整體運行效果大大地優(yōu)于第一種辦法,因而順序執(zhí)行指令已經(jīng)成為主流計算機(jī)普遍采用的辦法,,程序計數(shù)器就成為中央處理器*的一個控制部件,。
CPU內(nèi)的每個功能部件都完成一定的特定功能,。信息在各部件之間傳送及數(shù)據(jù)的流動控制部件的實現(xiàn)。通常把許多數(shù)字部件之間傳送信息的通路稱為“數(shù)據(jù)通路",。信息從什么地方開始,,中間經(jīng)過哪個寄存器或多路開關(guān),最后傳到哪個寄存器,,都要加以控制,。在各寄存器之間建立數(shù)據(jù)通路的任務(wù),是由稱為“操作控制器"的部件來完成的,。
操作控制器的功能就是根據(jù)指令操作碼和時序信號,,產(chǎn)生各種操作控制信號,以便正確地建立數(shù)據(jù)通路,,從而完成取指令和執(zhí)行指令的控制,。
有兩種由于設(shè)計方法不同因而結(jié)構(gòu)也不同的控制器。微操作是指不可再分解的操作,,進(jìn)行微操作總是需要相應(yīng)的控制信號(稱為微操作控制信號或微操作命令),。一臺數(shù)字計算機(jī)基本上可以劃分為兩大部分---控制部件和執(zhí)行部件??刂破骶褪强刂撇考?,而運算器、存儲器,、外圍設(shè)備相對控制器來說就是執(zhí)行部件,。控制部件與執(zhí)行部件的一種聯(lián)系就是通過控制線,??刂撇考ㄟ^控制線向執(zhí)行部件發(fā)出各種控制命令,通常這種控制命令叫做微命令,,而執(zhí)行部件接受微命令后所執(zhí)行的操作就叫做微操作,。控制部件與執(zhí)行部件之間的另一種聯(lián)系就是反饋信息,。執(zhí)行部件通過反饋線向控制部件反映操作情況,,以便使得控制部件根據(jù)執(zhí)行部件的狀態(tài)來下達(dá)新的微命令,這也叫做“狀態(tài)測試",。微操作在執(zhí)行部件中是組基本的操作,。由于數(shù)據(jù)通路的結(jié)構(gòu)關(guān)系,,微操作可分為
相容性和相斥性兩種,。在機(jī)器的一個CPU周期中,一組實現(xiàn)一定操作功能的微命令的組合,,構(gòu)成一條微指令,。一般的微指令格式由操作控制和順序控制兩部分構(gòu)成,。操作控制部分用來發(fā)出管理和指揮全機(jī)工作的控制信號。其順序控制部分用來決定產(chǎn)生下一個微指令的地址,。事實上一條機(jī)器指令的功能是由許多條微指令組成的序列來實現(xiàn)的,。這個微指令序列通常叫做微程序。既然微程序是有微指令組成的,,那么當(dāng)執(zhí)行當(dāng)前的一條微指令的時候,。必須指出后繼微指令的地址,以便當(dāng)前一條微指令執(zhí)行完畢以后,,取下一條微指令執(zhí)行,。
如您此文章感興趣請見:德國寶德BURKERT控制器