微程序控制器–微指令编码方式
水平型微指令
微指令的字长比较长
在一条微指令中可以产生较多的微命令
操作的并行性较高
垂直型微指令
微指令的字长比较短
操作的并行性不高
微程序比水平型的要长
微程序控制器–常用的微指令编码方法
1.直接控制法(不译法
)
微指令操作控制字段的每一位都直接表示一个微命令,该位为“1”,表示执行这个微命令。
优点
:结构简单,并行性强,无需译码,速度快。
缺点
:微指令字太长,信息效率低。
特点
:直观、硬件实现简单,执行速度快,具有高度的并行操作能力。
编码效率低,微指令字长很长,对控存容量的需求较大,不经济,缺乏实用价值。
***典型的水平型微指令***
2.最短编码法
将所有
的微命令进行统一编码,每条微指令只定义一个微命令。若微命令总数为N,则最短编码法中操作控制字段的长度L,应满足:L≥log2N
优点
:使微指令字长大大缩短
缺点
:需译码,各微命令不能并行,使微程序很长
***典型的垂直型微指令***
3. 字段直接编码法
将微指令操作控制字段划分为若干个子字段,每个子字段内的所有微命令进行统一编码。
子字段划分的主要原则
:
① 把互斥的微命令划分在同一字段内,如存储器的读和写。相容的微命令划分在不同字段内,如ALU和存储器之间的微命令。
② 一般每个子字段应留出一个编码状态,表示本字段不发任何微命令。(参考计算机操作系统的控制信号)
③每个子字段所定义的微命令数不宜太多,否则将使微命令译码复杂。
4.字段间接编码方式
微命令
的产生并不是直接从一个字段译码得到,而是需要另一个字段的编码
加以解释 。
有效地压缩了微指令字长,不仅组内
的微命令是相斥
的,组与组之间
也成为互斥
的,降低了微指令的并行操作能力,接近于垂直型微指令
格式。 (类似计算机操作系统的多生产着,多消费者问题)