控制器是整个CPU的命令和控制中心。 它由三部分组成:指令寄存器IR,程序计数器PC和操作控制器0C。 这对于协调整个计算机的有序工作非常重要。
指令寄存器
指令寄存器:一种类型的寄存器,用于保存当前正在执行或即将执行的指令。 该指令包含用于确定操作类型的操作代码以及指示操作数源或目标的地址。 指令长度因计算机而异,并且指令寄存器的长度也不同。 在分析了指令寄存器中存储的指令之后,将执行计算机的所有操作。 指令寄存器的输入端从存储器接收指令,指令寄存器的输出端分为两部分。 操作码部分发送到解码电路进行分析,指示该指令应执行哪种类型的操作; 地址部分被发送到地址加法器以生成有效地址,然后作为获取或存储数字的地址发送到内存。
控制器
寄存器可以引用主存储器,高速缓存或寄存器堆栈等,用于保存当前正在执行的指令。 执行一条指令时,首先要从内部将其访问到数据寄存器(DR)中,然后再传输到IR中。 指令分为操作码和地址码字段,由二进制数字组成。 为了执行任何给定的指令,必须对操作码进行测试以识别所需的操作。 指令解码器完成这项工作。 指令寄存器中操作码字段的输出是指令解码器的输入。 一旦操作码被解码,就可以将用于特定操作的特定信号发送到操作控制器。
程序计数器
程序计数器:一个计数器,它指定程序中接下来要执行的指令的地址。 它具有指令地址寄存器和计数器的功能。 当执行一条指令时,程序计数器用作指令地址寄存器,并且其内容必须已更改为下一条指令的地址,以便程序可以继续运行。 为此,可以采用以下两种方法:
一种方法是在指令中包括下一条指令的地址。 在指令执行期间将该地址发送到指令地址寄存器可以实现连续程序操作的目的。 此方法适用于以串行设备(例如磁鼓和延迟线)为主内存的早期计算机。 通过根据该指令的执行时间适当地确定下一指令的地址,可以缩短读取下一指令的等待时间,从而获得提高程序运行速度的效果。
二种方法是顺序执行指令。 一个程序由几个程序段组成,每个程序段的指令可以设计为顺序存储在存储器中,因此,只要指令地址寄存器还具有计数功能,它就会在指令执行期间自动计数 增加一个增量,您可以形成下一条指令的地址
控制者从而达到顺序执行指令的目的。 此方法适用于以RAM为主要内存的计算机。 当程序的操作需要从一个程序段转移到另一个程序段时,可以通过使用传输指令来实现。 分支指令包含要传送的块的输入指令的地址。 当执行传输指令时,该地址作为下一条指令的地址发送到程序计数器(此时仅用作指令地址寄存器,不进行计数),以达到传输程序段的目的。 子例程调用,中断和陷阱的处理方式相似。 在随机存取存储器流行之后,第二种方法的整体效果比前一种方法好得多,因此指令的顺序执行已成为主流计算机的流行方法,并且程序计数器已成为中央处理器不可或缺的一部分 。 控制组件
操作控制器
CPU中的每个功能组件都执行某些特定功能。 组件之间的信息传递和数据流控制组件的实现。 在许多数字组件之间传输信息的路径通常称为“数据路径”。 必须控制信息从何处开始,哪个寄存器或多路开关在中间传递,最后传递到哪个寄存器。 在寄存器之间建立数据路径的任务由称为“操作控制器”的组件完成。
操作控制器的功能是根据指令操作码和时序信号产生各种操作控制信号,以正确建立数据路径,从而完成取指令和执行指令的控制。