存储器可以指主存、高速缓存或寄存器栈等用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令划分为作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对作码进行测试,以便识别所要求的作。指令译码器就是做这项工作的。指令寄存器中作码字段的输出就是指令译码器的输入。作码一经译码后,即可向作控制器发出具体作的特定信号。
程序计数器:指明程序中下一次要执行的指令地址的一种计数器,又称指令计数器。它兼有指令地址寄存器和计数器的功能。当一条指令执行完毕的时候,程序计数器作为指令地址寄存器,其内容必须已经改变成下一条指令的地址,从而使程序得以持续运行。
为此可采取以下两种办法:
种办法是在指令中包含了下一条指令的地址。在指令执行过程中将这个地址送人指令地址寄存器即可达到程序持续运行的目的。这个方法适用于早期以磁鼓、延迟线等串行装置作为主存储器的计算机。根据本条指令的执行时间恰当地决定下一条指令的地址就可以缩短读取下一条指令的等待时间,从而收到提高程序运行速度的效果。
种办法是顺序执行指令。一个程序由若干个程序段组成,每个程序段的指令可以设计成顺序地存放在存储器之中,所以只要指令地址寄存器兼有计数功能,在执行指令的过程中进行计数,自动加一个增量,就可以形成下一条指令的地址,从而达到顺序执行指令的目的。这个办法适用于以随机存储器作为主存储器的计算机。当程序的运行需要从一个程序段转向另一个程序段时,可以利用转移指令来实现。转移指令中包含了即将转去的程序段入口指令的地址。执行转移指令时将这个地址送人程序计数器(此时只作为指令地址寄存器,不计数)作为下一条指令的地址,从而达到转移程序段的目的。子程序的调用、中断和陷阱的处理等都用类似的方法。6ES7131-4BD00-0AA0
在随机存取存储器普及以后,种办法的整体运行效果大大地优于种办法,因而顺序执行指令已经成为主计算机普遍采用的办法,程序计数器就成为中央处理器不可或缺的一个控制部件。
CPU内的每个功能部件都完成一定的特定功能。信息在各部件之间传送及数据的动控制部件的实现。通常把许多数字部件之间传送信息的通路称为“数据通路”。信息从什么地方开始,中间经过哪个寄存器或多路开关,后传到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的任务,是由称为“作控制器”的部件来完成的。
作控制器的功能就是根据指令作码和时序信号,产生各种作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令6ES7131-4BD00-0AA06ES7131-4BD00-0AA0
的控制。