控制器(英文名稱(chēng):controller)是指按照預(yù)定順序改變主電路或控制電路的接線(xiàn)和改變電路中電阻值來(lái)控制電動(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ēng)微碼控制)的基本思路是:用微指令產(chǎn)生微操作命令,用若干條微指令組成一段微程序?qū)崿F(xiàn)一條機(jī)器指令的功能(為了加以區(qū)別,將前面所講的指令稱(chēng)為機(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命令,接下來(lái)是取第三條微指令,發(fā)K9命令。
1、控制存儲(chǔ)器(contmlMemory)用來(lái)存放各機(jī)器指令對(duì)應(yīng)的微程序。譯碼器用來(lái)形成機(jī)器指令對(duì)應(yīng)的微程序的入口地址。當(dāng)將一條機(jī)器指令對(duì)應(yīng)的微程序的各條微指令逐條取出,并送到微指令寄存器時(shí),其微操作命令也就按事先的設(shè)計(jì)發(fā)出,因而也就完成了一條機(jī)器指令的功能。對(duì)每一條機(jī)器指令都是如此。
2、微指令的寬度直接決定了微程序控制器的寬度。為了簡(jiǎn)化控制存儲(chǔ)器,可采取一些措施來(lái)縮短微指令的寬度。如采用字段譯碼法**分段譯碼。顯然,微指令的控制字段將大大縮短。,一些要同時(shí)產(chǎn)生的微操作命令不能安排在同一個(gè)字段中。為了進(jìn)一步縮短控制字段,還可以將字段譯碼設(shè)計(jì)成兩級(jí)或多級(jí)。