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