微指令结构的确定是微程序设计的关键。
微指令结构的设计的目标是:
•有利于提高微程序设计的灵活性
一、微指令编码
微命令编码就是对微指令中的操作控制字段采用的表示方法。通常有以下三种方法:
1、直接表示法
其特点是操作控制字段中的每一位代表一个微命令。这种方法的优点是简单直观,其输出直接用于控制。缺点是微指令字较长,因而使控制存储器容量较大。
2、编码表示法
编码表示法是把一组相斥性的微命令信号组成一个小组(即一个字段) ,然后通过小组(字段)译码器对每一个微命令信号进行译码 ,译码输出作为操作控制信号。
3、混合表示法
这种方法是把直接表示法与字段编码法混合使用,以便能综合考虑指令字长、灵活性、执行微程序速度等方面的要求。
另外 在微指令中还可附设一个常数字段
二、微地址的形成方法
微指令执行的顺序控制问题,实际上是如何确定下一条微指令的地址问题。通常,产生后继微地址有两种方法:
1.计数器方式
这种方法同用程序器计数来产生机器指令地址的方法相类似。
在顺序执行微指令时,后继微地址由现行微地址加上一个增量来产生;在非顺序执行微指令时,必须通过转移方式,使现行微指令执行后,转去执行指定后继微地址的下一条微指令。
在这种方法中,微地址寄存器通常改为计数器。为此,顺序执行的微指令序列就必须安排在控制存储器的连续单元中。
计数器方式的基本特点是:微指令的顺序控制字段较短,微地址产生机构简单。但是多路并行转移功能较弱,速度较慢,灵活性较差。
2.多路转移方式
一条微指令具有多个转移分支的能力称为多路转移。
在多路转移方式中,当微程序不产生分支时,后继微地直接由微指令的顺序控制字段给出;当微程序出现分支时,有若干“后选”微地址可供选择:即按顺序控制字段的“判别测试”标志和“状态条件”信息来选择其中一个微地址。“状态条件”有n位标志,可实现微程序2的n次方路转移,涉及微地址寄存器的n位 。
多路转移方式的特点是:能以较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度较快,但转移地址逻辑需要用组合逻辑方法设计。
微指令的编译方法是决定微指令格式的主要因素。
微指令的格式大体分成两类:水平型微指令和垂直型微指令。
1.水平型微指令
一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。 其一般格式如下:
控制字段+判别测试字段+下地址字段
按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合的水平型微指令。
2、垂直型微指令
微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能 ,称为垂直型微指令。
其结构类似于机器指令的结构。它有操作码,在一条微指令中只有1—2个微操作命令,每条微指令的功能简单,因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多。它是采用较长的微程序结构去换取较短的微指令结构。
3、水平型微指令与垂直型微指令的比较
(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则较差。
(2)水平型微指令执行一条指令的时间短,垂直型微指令执行时间长。
(3)由水平型微指令解释指令的微程序,有微指令字较长而微程序短的特点。垂直型微指令则相反。
(4)水平型微指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,比较容易掌握。
微程序设计技术有静态微程序设计和动态微程序设计之分。
1.静态微程序设计
对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无须改变而且也不好改变,这种微程序设计技术称为静态微程序设计。
2.动态微程序设计
当采用EPROM作为控制存储器时,还可以通过改变微指令和微程序来改变机器的指令系统,这种微程序设计技术称为动态微程序设计。采用动态微程序设计时,微指令和微程序可以根据需要加以改变,因而可在一台机器上实现不同类型的指令系统。这种技术又称为仿真其他机器指令系统,以便扩大机器的功能。