微命令是由控制部件通过控制线向执行部件发出的各种控制命令。在微指令的控制字段中,每一位都对应着一个微命令。
简介
微命令的设计可以通过直接控制法实现,即将微指令的控制字段中相应的位置设置为"1"或"0",从而打开或关闭特定的控制门。然而,对于一些复杂计算机系统,微命令的数量可能高达数百个,导致微指令字长过长且对控制存储器的要求较高。为此,出现了多种编译法来改善这种情况。
编译法
字段直接编译法
在这种编译法中,一组互斥的微命令被编排在一个字段中,使用二进制编码来表示。例如,将7个互斥的微命令编排在一起,只需要3位二进制码即可表示,从而缩短了微指令的长度。在微指令寄存器的输出端,添加一个编译器,用于还原原始的微命令。这种编译法可以减少字段长度,提高效率。
字段间接编译法
这是一种建立在字段直接编译法基础上的编译法,它允许一个字段的微命令受到另一个字段的控制。这种方式虽然能够进一步缩短微指令字长,但也可能导致并行控制能力的减弱,因此通常作为一种辅助手段。
常数源字段E
微指令中通常包含一个常数源字段E,用于向某些部件发送常数,类似于指令中的直接操作数。这个字段通常只有几个比特,可用于提供初始值或控制微程序的循环次数等。
微程序流控制
微程序流控制指的是如何确定后继微指令的微地址。在微程序设计中,除了顺序执行微程序之外,还包括转移功能、微循环和微子程序等功能,这些都会影响下一个微地址的形成。常见的产生后继微地址的方法包括增量方式和增量与下址字段相结合的方式。