指令寄存器用来存放正在执行的指令。指令分成两部分:作码和地址码。作码用来指示指令的作性质,如加法、减法等;地址码给出本条指令的作数地址或形成作数地址的有关信息(这时通过地址形成电路来形成作数地址)。有一种指令称为转移指令,它用来改变指令的正常执行顺序,这种指令的地址码部分给出的是要转去执行的指令的地址。
2、作码译码器:用来对指令的作码进行译码,产生相应的控制电平,完成分析指令的功能。
3、时序电路:用来产生时间标志信号。在微型计算机中,时间标志信号一般为三级:指令周期、总线周期和时钟周期。微作命令产生电路产生完成指令规定作的各种微作命令。这些命令产生的主要依据是时间标志和指令的作性质。该电路实际是各微作控制信号表达式(如上面的A→L表达式)的电路实现,它是组合逻辑控制器中为复杂的部分。
4、指令计数器:用来形成下一条要执行的指令的地址。通常,指令是顺序执行的,而指令在存储器中是顺序存放的。所以,一般情况下下一条要执行的指令的地址可通过将现行地址加1形成,微作命令“1”就用于这个目的。如果执行的是转移指令,则下一条要执行的指令的地址是要转移到的地址。该地址就在本转移指令的地址码字段,将其直接送往指令计数器。6ES7214-2BD23-0XB8问问6ES7214-2BD23-0XB8问问6ES7214-2BD23-0XB8问问
微程序控制器的提出是因为组合逻辑设计存在不便于设计、不灵活、不易修改和扩充等缺点。
微程序控制(简称微码控制)的基本思路是:用微指令产生微作命令,用若干条微指令组成一段微程序实现一条机器指令的功能(为了加以区别,将前面所讲的指令称为机器指令)。设机器指令M执行时需要三个阶段,每个阶段需要发出如下命令:阶段一发送K1、K8命令,阶段二发送K0、K2、K3、K4命令,阶段三发送K9命令。当将条微指令送到微指令寄存器时,微指令寄存器的K1和K8为1,即发出K1和K8命令,该微指令指出下一条微指令地址为00101,从中取出条微指令,送到微指令寄存器时将发出K0、K2、K3、K4命令,接下来是取第三条微指令,发K9命令。
微程序控制器的组成:
1、控制存储器(contmlMemory)用来存放各机器指令对应的微程序。译码器用来形成机器指令对应的微程序的入口地址。当将一条机器指令对应的微程序的各条微指令逐条取出,并送到微指令寄存器时,其微作命令也就按事先的设计发出,因而也就完成了一条机器指令的功能。对每一条机器指令都是如此。
2、微指令的宽度直接决定了微程序控制器的宽度。为了简化控制存储器,可采取一些措施来缩短微指令的宽度。如采用字段译码法一级分段译码。显然,微指令的控制字段将大大缩短。,一些要同时产生的微作命令不能安排在同一个字段中。为了进一步缩短控制字段,还可以将字段译码设计成两级或多级。