📜  控制单元介绍及其设计

📅  最后修改于: 2021-06-28 15:12:13             🧑  作者: Mango

控制单元是计算机中央处理单元(CPU)的一部分,它控制处理器的操作。它被约翰·冯·诺伊曼(John von Neumann)纳入冯·诺伊曼(Von Neumann)建筑的一部分。控制单元负责告知计算机的内存,算术/逻辑单元以及输入和输出设备如何响应已发送给处理器的指令。它将程序的内部指令从主存储器中提取到处理器指令寄存器,并且控制单元根据该寄存器内容生成一个控制信号,以监督这些指令的执行。

控制单元通过接收输入信息进行工作,并将其转换成控制信号,然后将其发送到中央处理器。然后,计算机的处理器告诉所连接的硬件要执行哪些操作。控制单元执行的功能取决于CPU的类型,因为CPU的体系结构因制造商而异。需要CU的设备示例包括:

  • 控制处理单元(CPU)
  • 图形处理单元(GPU)

控制单元的功能–

  1. 它协调数据移入,移出处理器以及在多个子单元之间移动的顺序。
  2. 它解释指令。
  3. 它控制处理器内部的数据流。
  4. 它接收外部指令或命令,并将其转换为控制信号序列。
  5. 它控制CPU中包含的许多执行单元(即ALU,数据缓冲区和寄存器)。
  6. 它还处理多个任务,例如获取,解码,执行处理和存储结果。

控制单元的类型–
控制单元有两种类型:硬线控制单元和微程序控制单元。

  1. 有线控制单元–
    在硬连线控制单元中,对于指令执行控制很重要的控制信号是由专门设计的硬件逻辑电路生成的,在这种逻辑中,如果不对电路结构进行物理更改,就无法修改信号生成方法。指令的操作代码包含用于生成控制信号的基本数据。在指令解码器中,操作码被解码。指令解码器构成了许多解码器的集合,这些解码器对指令操作码的不同字段进行解码。

    结果,从指令解码器输出的很少的输出线获得有效信号值。这些输出线连接到矩阵的输入,矩阵的输入为计算机的执行单元生成控制信号。该矩阵实现来自指令操作码的解码信号与来自矩阵的输出的逻辑组合,该矩阵的输出生成代表连续控制单元状态的信号以及来自处理器外部的信号,例如中断信号。矩阵的构建方式类似于可编程逻辑阵列。

    用于指令执行的控制信号必须不是在单个时间点内生成的,而是必须在与指令执行周期相对应的整个时间间隔内生成。根据该循环的结构,在控制单元中组织内部状态的适当顺序。

    由控制信号生成器矩阵生成的多个信号被发送回下一个控制状态生成器矩阵的输入。该矩阵将这些信号与时序信号相结合,时序信号是由时序单元根据通常由石英发生器提供的矩形图案生成的。当新指令到达控制单元时,控制单元处于新指令获取的初始状态。指令解码允许控制单元进入与执行新指令有关的第一状态,只要状态信号和其他输入信号(如标志和计算机的状态信息)保持不变,该状态就会持续。前面提到的任何信号的变化都会刺激控制单元状态的变化。

    这导致为控制信号发生器矩阵产生新的相应输入。当出现外部信号时(例如中断),控制单元进入下一个控制状态,该状态与对该外部信号的反应(例如中断处理)有关。计算机的标志和状态变量的值用于为指令执行周期选择合适的状态。

    循环中的最后一个状态是控制状态,这些控制状态开始获取程序的下一条指令:将程序计数器的内容发送到主存储器地址缓冲寄存器,然后将指令字读取到计算机的指令寄存器。当正在进行的指令是结束程序执行的停止指令时,控制单元进入操作系统状态,在该状态下它等待下一个用户指令。

  2. 可编程微控制器–
    这些单元结构与硬连线控制单元的结构之间的根本区别在于控制存储的存在,该控制存储用于存储包含对指令执行必不可少的编码控制信号的字。

    在微程序控制单元中,随后的指令字以通常的方式提取到指令寄存器中。但是,每条指令的操作代码都不会直接解码以立即生成控制信号,而是包含控制存储区中包含的微程序的起始地址。

    • 使用单级控件存储库:
      在这种情况下,来自指令寄存器的指令操作码被发送到控制存储地址寄存器。根据该地址,将解释该指令执行的微程序的第一个微指令读入微指令寄存器。该微指令在其操作中包含编码的控制信号,通常为很少的比特字段。在一组微指令场解码器中,对场进行解码。微指令还包含给定指令微程序的下一个微指令的地址,以及用于控制微指令地址生成器活动的控制字段。

      最后提到的字段决定要应用于正在进行的微指令中嵌入的地址的寻址模式(寻址操作)。在带有条件寻址模式的微指令中,此地址通过使用代表当前程序中计算状态的处理器条件标志来精炼。给定微程序指令中的最后一条微指令是将下一条指令从主存储器中提取到指令寄存器的微指令。

    • 使用两级控制存储区:
      在此,在具有二级控制存储器的控制单元中,除了用于微指令的控制存储器之外,还包括纳米指令存储器。在这样的控制单元中,微指令不包含编码的控制信号。微指令的操作部分在纳米指令存储器中包含单词的地址,该地址包含已编码的控制信号。纳米指令存储器包含出现在微程序中的控制信号的所有组合,这些微程序解释给定计算机的完整指令集,以纳米指令的形式编写一次。

      这样,避免了不必要地存储微指令的相同操作部分。在这种情况下,微指令字可能比单级控制存储区要短得多。它在微指令存储器中的位大小要小得多,因此,在整个控制存储器中的大小也要小得多。微指令存储器包含用于选择连续微指令的控件,而那些控制信号是在纳米指令的基础上生成的。在纳米指令中,控制信号经常使用1位/ 1信号方法进行编码,从而消除了解码。