硬连线与微程序控制单元

2025年03月17日 | 阅读 9 分钟

在系统或计算机中,大多数任务由处理器或 CPU(中央处理单元)控制,CPU 是计算机的主要组成部分。CPU 通常有两个主要系统:控制单元(CU)和算术逻辑单元(ALU)。控制单元(CU)用于通过发送定时和控制信号来同步任务。另一方面,算术逻辑单元(ALU)可以处理数学和逻辑运算。微程序控制单元和硬连线控制单元可以称为两种类型的控制单元。我们可以通过这两种控制单元来执行指令。

硬连线控制单元中,操作执行速度很快,但实现、修改和解码很困难。相比之下,实现、修改、解码微程序控制单元则非常容易。微程序控制单元还可以处理复杂指令。借助硬连线和微程序控制单元生成的控制信号,我们可以获取和执行指令。

控制信号

为了生成控制信号,这两种控制信号都经过了基本设计。处理器硬件的功能由这些控制信号操作。控制信号用于了解各种类型的事物,如下所述

  • 控制信号用于了解将执行什么操作。
  • 它用于了解处理器执行的操作顺序。
  • 它用于了解操作必须执行的时间以及其他各种类型的事物。

硬连线控制单元

通过生成控制信号,硬连线控制单元能够在正确的时间和正确的顺序执行指令。与微程序控制单元相比,硬连线 CU 通常更快。在此 CU 中,控制信号由 PLA 电路和状态计数器生成。中央处理单元需要所有这些控制信号。通过硬件生成硬连线控制信号,它基本上采用电路方法。

硬连线控制单元的图像如下,其中包含各种电路形式的组件。我们将逐一讨论它们,以便我们能够正确理解“控制信号的生成”。

Hardwired Vs. Micro-programmed Control Unit
  • 指令寄存器是一种处理器寄存器,用于包含当前正在执行的指令。正如我们所见,指令寄存器用于生成相对于操作的操作码位以及操作数寻址模式。
  • 上述生成的op-code 位在指令解码器的字段中接收。指令解码器解释操作和指令的寻址模式。现在,基于指令寄存器中的指令操作的寻址模式,指令解码器将相应的指令信号 INSi 设置为 1。执行每条指令需要一些步骤,即指令获取解码操作数获取算术逻辑单元内存存储。不同的书籍可能包含不同的步骤。但总的来说,我们可以通过这五个步骤来执行指令。
  • 控制单元必须知道指令的当前步骤的信息。现在实现了步骤计数器,它用于包含来自 T1、...、T5 的信号。现在,基于包含指令的步骤,步骤计数器的一个信号将从 T1 设置到 T5 为 1。
  • 现在我们有一个问题,即步骤计数器如何知道指令的当前步骤?因此,为了知道当前步骤,我们实现了时钟。时钟的每个时钟周期都用于每个步骤。例如,假设停止计数器将 T3 设置为 1,那么完成一个时钟周期后,步骤计数器将 T4 设置为 1。
  • 现在我们有一个问题,即如果指令执行因某些原因中断,会发生什么?步骤计数器是否仍由时钟触发?这个问题的答案是。只要当前步骤的执行完成,计数器启用就会“禁用”步骤计数器,使其停止然后增量到下一个步骤信号。
  • 现在我们有一个问题,即如果指令的执行依赖于某些条件怎么办?在这种情况下,将使用条件信号。有各种条件,在这些条件下,信号会由控制信号生成,这些信号可以小于、大于、小于等于、大于等于等等。
  • 外部输入是最后一个。它用于告知控制信号生成器关于中断,这些中断将影响指令的执行。

因此,基于条件信号、步骤计数器、外部输入和指令寄存器获得的输入,控制信号将由控制信号生成器生成。

微程序控制单元

微程序控制单元可以被描述为一个简单的逻辑电路。我们可以通过两种方式使用它,即它能够通过生成控制信号来执行每条指令,并且它还能够通过微指令进行排序。它将通过程序生成控制信号。在过去 CISC 架构演进期间,这种方法非常流行。用于创建控制信号的程序称为“微程序”。微程序放置在处理器芯片上,这是一种快速内存。这种内存也称为控制存储器或控制存储。

微程序用于包含一组微指令。每条微指令或控制字包含不同的位模式。每条微指令都包含 n 位字。根据控制字的位模式,每个控制信号彼此不同。

与上面一样,微程序控制单元中的指令执行也按步骤进行。因此,对于每个步骤,微程序包含一个控制字/微指令。如果我们想执行特定指令,我们需要一系列微指令。这个过程称为微程序。微程序控制单元的图像如下。在这里,我们将学习微程序、微程序和控制字/微指令的组织。

Hardwired Vs. Micro-programmed Control Unit

现在我们将学习微程序 CU 的组织。然后,我们将学习指令执行的流程,这些流程如下所述

Hardwired Vs. Micro-programmed Control Unit
  • 指令获取第一步。在此步骤中,借助微指令地址寄存器从 IR(指令寄存器)中获取指令。
  • 解码第二步。在此步骤中,将通过微指令地址生成器解码从指令寄存器获取的指令。在这里,我们还将获得微程序的起始地址。借助此地址,我们可以轻松执行指令中提到的操作。它还将起始地址加载到微程序计数器中。
  • 增量是第三步。在此步骤中,将读取与微程序起始地址对应的控制字。当执行继续时,微程序计数器的值将增加,以便它可以读取微程序的连续控制字。
  • 结束位是第四步。在此步骤中,微程序的微指令包含一个称为结束位的位。当结束位设置为 1 时,微指令的执行将成功完成。
  • 这是最后一步,在此步骤中,微程序地址生成器将再次返回步骤 1,以便我们可以获取新指令,并且这个过程或周期会持续下去。

因此,在微程序控制单元中,微程序通过控制存储器或控制存储来存储。此 CU 的实现非常容易且灵活,但与硬连线控制单元相比速度较慢。

硬连线控制单元与微程序控制单元的区别

微程序 CU 和硬连线 CU 之间存在各种差异,如下所述

硬连线控制单元微程序控制单元
借助硬件电路,我们可以实现硬连线控制单元。换句话说,我们可以说它是一种电路方法。而借助编程,我们可以实现微程序控制单元。
硬连线控制单元使用逻辑电路来生成处理器所需的控制信号。微程序 CU 使用微指令来生成控制信号。通常,控制存储器用于存储这些微指令。
在此 CU 中,控制信号将以硬连线形式生成。因此,很难修改硬连线控制单元。修改微程序控制单元非常容易,因为修改仅在指令级别进行。
在硬连线控制单元中,一切都必须以逻辑门的形式实现。因此,与微程序控制单元相比,此 CU 成本更高。与硬连线 CU 相比,微程序控制单元成本较低,因为此控制单元只需要微指令即可生成控制信号。
硬连线控制单元无法处理复杂指令,因为当我们为此指令设计电路时,它会变得复杂。微程序控制单元能够处理复杂指令。
由于硬件实现,硬连线控制单元可以使用有限数量的指令。微程序控制单元能够为许多指令生成控制信号。
硬连线控制单元用于也使用 RISC(精简指令集计算机)的计算机。微程序控制单元用于也使用 CISC(复杂指令集计算机)的计算机。
在硬连线控制单元中,硬件用于仅生成所需的控制信号。因此,与微程序控制单元相比,此控制单元更快。在此 CU 中,微指令用于生成控制信号。因此,此 CU 比硬连线控制单元慢。

微程序控制单元与硬连线控制单元的其他一些区别

现在我们将根据速度、成本、修改、指令解码器、控制存储器等参数来描述这些差异。这些差异如下所述

速度

在硬连线控制单元中,操作速度非常快。相比之下,微程序控制单元需要频繁的内存访问。因此,微程序控制单元的操作速度很慢。

修改

如果我们想对硬连线控制单元进行一些修改,我们必须重新设计整个单元。相比之下,如果我们想对微程序控制单元进行一些修改,我们可以通过更改控制存储器中的微指令来做到这一点。在这种情况下,微程序控制单元是更灵活的控制单元。

费用

与微程序控制单元相比,硬连线控制单元的实现非常复杂。在这种情况下,微程序控制单元将在实现时节省我们的钱。

处理复杂指令

如果我们尝试用硬连线控制单元处理复杂指令,我们将很难处理它们。但是,如果我们尝试用微程序控制单元处理复杂指令,我们将很容易处理它们。在这种情况下,微程序控制单元也更好。

指令解码

在硬连线控制单元中,如果我们想执行指令解码,那将非常困难。但是,如果我们用微程序控制单元执行相同的操作,那将非常容易。

指令集大小

硬连线 CU 使用较小的指令集。另一方面,微程序控制单元使用较大的指令集。

控制存储器

硬连线控制单元不使用控制存储器来生成控制信号,但微程序 CU 需要使用控制存储器来生成控制信号。

应用

硬连线控制单元用于主要使用简单指令集的处理器。该集称为精简指令集计算机。另一方面,微程序控制单元用于主要使用复杂指令集的处理器。该集称为复杂指令集计算机。

结论

总之,我们可以说硬连线控制单元是一种用于生成控制信号的时序电路。相比之下,微程序控制单元是一种用于在控制存储器中包含微指令以生成控制信号的单元。这是两种控制单元的主要区别。硬连线和微程序控制单元的相似之处在于,它们都生成“控制信号”。