控制器(英文名稱:controller)是指按照預(yù)定順序改變主電路或控制電路的接線和改變電路中電阻值來控制電動(dòng)機(jī)的啟動(dòng)、調(diào)速、制動(dòng)和反向的主令裝置。由程序計(jì)數(shù)器、指令寄存器、指令譯碼器、時(shí)序產(chǎn)生器和操作控制器組成,它是發(fā)布命令的“決策機(jī)構(gòu)”,即完成協(xié)調(diào)和指揮整個(gè)計(jì)算機(jī)系統(tǒng)的操作。 微程序控制器的提出是因?yàn)榻M合邏輯設(shè)計(jì)存在不便于設(shè)計(jì)、不靈活、不易修改和擴(kuò)充等缺點(diǎn)。
微程序控制(簡(jiǎn)稱微碼控制)的基本思路是:用微指令產(chǎn)生微操作命令,用若干條微指令組成一段微程序?qū)崿F(xiàn)一條機(jī)器指令的功能(為了加以區(qū)別,將前面所講的指令稱為機(jī)器指令)。設(shè)機(jī)器指令M執(zhí)行時(shí)需要三個(gè)階段,每個(gè)階段需要發(fā)出如下命令:階段一發(fā)送K1、K8命令,階段二發(fā)送K0、K2、K3、K4命令,階段三發(fā)送K9命令。當(dāng)將**條微指令送到微指令寄存器時(shí),微指令寄存器的K1和K8為1,即發(fā)出K1和K8命令,該微指令指出下一條微指令地址為00101,從中取出**條微指令,送到微指令寄存器時(shí)將發(fā)出K0、K2、K3、K4命令,接下來是取第三條微指令,發(fā)K9命令。
1、控制存儲(chǔ)器(contmlMemory)用來存放各機(jī)器指令對(duì)應(yīng)的微程序。譯碼器用來形成機(jī)器指令對(duì)應(yīng)的微程序的入口地址。當(dāng)將一條機(jī)器指令對(duì)應(yīng)的微程序的各條微指令逐條取出,并送到微指令寄存器時(shí),其微操作命令也就按事先的設(shè)計(jì)發(fā)出,因而也就完成了一條機(jī)器指令的功能。對(duì)每一條機(jī)器指令都是如此。
2、微指令的寬度直接決定了微程序控制器的寬度。為了簡(jiǎn)化控制存儲(chǔ)器,可采取一些措施來縮短微指令的寬度。如采用字段譯碼法**分段譯碼。顯然,微指令的控制字段將大大縮短。,一些要同時(shí)產(chǎn)生的微操作命令不能安排在同一個(gè)字段中。為了進(jìn)一步縮短控制字段,還可以將字段譯碼設(shè)計(jì)成兩級(jí)或多級(jí)。