什么是条件分支?


条件分支指令是一种分支指令,它可能会也可能不会生成控制传输,这取决于 PSR(处理器状态寄存器)中存储位的数值。它为控制单元提供了决策能力。

状态条件是系统中的一些特殊位,它们提供参数信息,例如加法器的进位输出、数字的符号位、指令的模式位以及输入或输出状态条件。可以测试这些位中的信息,并根据其条件(其值是 1 还是 0)启动操作。

状态位以及微指令中指定分支地址的字段控制分支逻辑中生成的条件分支决策。分支逻辑硬件可以通过多种方式实现。

最简单的方法是测试指定的条件,如果满足条件则分支到指定的地址;否则,地址寄存器递增。

这可以使用多路复用器来实现。假设系统中有八个状态位条件。微指令中的三个位用于指定八个状态位条件中的任何一个。这三个位为多路复用器提供选定的变量。如果选定的状态位处于 1 状态,则多路复用器的输出为 1;否则,为 0。

多路复用器中的 1 输出生成一个控制信号,将分支地址从微指令传输到控制地址寄存器。多路复用器中的 0 输出导致地址寄存器递增。在此配置中,微程序遵循两个可能路径之一,具体取决于选定状态位的值。

无条件分支微指令

无条件分支微指令可以通过将分支地址从控制存储器加载到控制地址寄存器来实现。这可以通过将一个状态位的值固定在多路复用器的输入端来完成,使其始终等于 1。控制存储器中的状态位选择线对此位的引用会导致分支地址无条件地加载到控制地址寄存器中。

更新于: 2021-07-24

9K+ 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告