先决条件:控制单元及其设计介绍
微程序控制单元:
微程序控制单元通过使用微指令产生控制信号。
微程序:
- 程序是一组指令。一条指令需要一组微操作。
- 使用控制信号执行微操作。
- 在这里,这些控制信号是使用微指令生成的。
- 这意味着每条指令都需要一组微指令
- 一组微指令称为微程序。
- 所有指令的微程序都存储在称为控制存储器的小存储器中。
控制存储器位于处理器内部。
在职的 :
考虑一条从主存储器取出到指令寄存器 (IR) 中的指令。处理器使用其唯一的操作码来识别第一条微指令的地址。该地址被加载到 CMAR(控制存储器地址寄存器)中。对该地址进行解码以从控制存储器中决定相应的存储器指令。微指令将只有一个控制字段。控制字段 指示要生成的控制信号。大多数微指令不会有地址字段。通常 µPC 会在每个微指令后简单地增加。
只要微程序按顺序执行。如果只有分行微指令,则会有一个地址归档。如果分支是无条件的,分支地址将直接加载到CMAR中。对于条件分支,分支条件将检查适当的标志。这是使用具有所有标志输入的 MUX 完成的。如果条件为真,则多路复用器将通知 CMAR 加载分支地址。如果条件为假,CMAR 将简单地递增。
控制存储器通常使用闪存 ROM 实现,因为它是非易失性的。
优点 :
- 主要优点是灵活性。
- 控制单元的任何变化都可以通过简单地改变微指令来完成。
- 与硬接线控制单元相比,可以轻松调试。
- 大多数微指令都是按顺序执行的,它们不需要任何地址字段。
- 减少控制内存的大小。
缺点:
- 控制内存必须存在于处理器内部,因此会增加处理器的大小。
- 这也增加了处理器的成本。
微程序控制单元的应用:
微编程具有许多优点,如灵活性、简单性、成本效益等。
因此,它在以下应用中具有重大贡献——
- 控制单元的开发——
现代处理器具有非常大且复杂的指令集。微编程用于制作此类处理器的控制单元,因为它的复杂程度要低得多,并且可以轻松修改。 - 高级语言支持 –
现代高级语言具有更高级和更复杂的数据类型。微编程可以直接从处理器级别提供对此类数据类型的支持。因此,该语言变得易于编译并且执行起来也更快。 - 控制单元的用户定制 –
由于控制单元是使用软件开发的,因此可以轻松地重新编程。这可用于控制单元的定制修改。为此,控制存储器必须像 RAM 或闪存 ROM 一样可写。 - 仿真——
仿真是指让一个处理器(比如 A)模仿另一个处理器(比如 B)或表现得像另一个处理器(比如 B)。为此,A 必须能够执行 B 的指令。如果我们像 B 一样重新编程 A 的控制存储器,那么 A 将能够为每条指令模拟 B 的行为。这仅在微程序控制单元中是可能的。
通常在主处理器必须模拟数学协处理器的行为时使用。 - 改进操作系统——
微编程可用于实现操作系统的复杂和安全功能。这不仅使操作系统更加强大和高效,而且更重要的是安全,因为它为操作系统提供了更高程度的恶意病毒攻击保护。 - 微诊断或错误调试 –
由于微程序控制单元是基于软件的,与对复杂的硬接线控制单元执行相同操作相比,调试错误要容易得多。这允许监控、检测和修复控制单元中的任何类型的系统错误。如果相应的硬连线组件出现故障,它还可以用作运行时替代品。 - 专用处理器的开发——
所有处理器都不是通用的。许多应用程序需要专用处理器,例如用于通信的 DSP (数字信号处理器)、 GPU (图形处理器单元)用于图像处理。
它们有复杂的指令集,也需要不断升级。微程序控制单元是他们的最佳选择