再上一篇:存储技术与多处理机系统的发展与演化
上一篇:并行处理计算机系统与多处理机系统的分类
主页
下一篇:流水线的相关问题
再下一篇:计算机系统的分层结构
文章列表

微指令的格式及执行方式

微指令的格式及执行方式

1.微指令的格式

微指令操作控制字段的表示方法是决定微指令格式的主要因素。在设计计算机时,考虑到速度、成本等原因,可采用不同的编码译码控制法,即在一台计算机中,也有几种编码译码控制法同时存在的情况。微指令的格式大体分成两类:水平型微指令和垂直型微指令。

(1)水平型微指令

一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。 水平型微指令的一般格式如下:

控 制 字 段

判别测试字段

后继地址字段

按照控制字段的编码方法不同,水平型微指令又分为三种:一种是全水平型(直接表示法)微指令,第二种是字段直接译码法水平型微指令,第三种是直接表示和字段译码相混合的水平型微指令。

(2)垂直型微指令

微指令中设置微操作码字段,采用微操作码编译法来规定微指令的功能的微指令,称为垂直型微指令。垂直型微指令的结构类似于机器指令的结构,它有微操作码,在一条微指令中只定义1~2个微操作命令,且每条微指令的功能简单。因此,实现一条机器指令的微程序要比水平型微指令编写的微程序长得多,它是采用较长的微程序结构去换取较短的微指令结构。

下面用4条垂直型微指令的微指令格式加以说明。设微指令字长为16位,微操作码3位(占高3位),可最多定义8种类型的微指令,我们只将其中典型的4种列出。
① 寄存器-寄存器传送型微指令

寄存器-寄存器传送型微指令,其格式如下:

其功能是把源寄存器数据送目标寄存器。其中13~15位为微操作码(下同);源寄存器和目标寄存器编址各5位,可指定31个寄存器之一;第0~2位是其他字段,可协助本条微指令完成其他控制功能。

② 运算控制型微指令

运算控制型微指令,其格式如下:

其功能是选择ALU的左、右两输入源信息,按ALU字段,即第0~2位所指定的8种运算操作中的一种功能进行处理,并将结果送入暂存器中。左、右输入源编址可指定31种信息源之一。

③ 访问主存微指令

访问主存微指令,其格式如下:

其功能是将主存中一个单元的信息送入寄存器或者将寄存器的数据送往主存。其中,存储器编址是指按规定的寻址方式进行编址。第1、2位指定读操作或写操作,第0位可协助本条微指令完成其他控制功能。

④ 条件转移微指令

条件转移微指令,其格式如下:

其功能是根据测试对象的状态决定是转移到D所指定的微地址单元,还是顺序执行下一条微指令。9位D字段不足以表示一个完整的微地址,但可以用来替代现行μPC的低位地址。测试条件字段有4位,可规定16 种测试条件。 除了这4种类型的微指令之外,还有移位控制型微指令、无条件转移微指令、其他微指令等等。

2.水平型微指令与垂直型微指令的比较

(1)水平型微指令并行操作能力强,效率高,灵活性强;垂直型微指令则差。
在一条水平型微指令中,设置有控制机器中信息传送通路以及进行所有操作的微命令,因此在进行微程序设计时,可以同时定义比较多的并行操作的微命令,控制尽可能多的并行信息传送,从而使水平型微指令具有效率高及灵活性强的优点。

在一条垂直型微指令中,一般只能完成一个微操作,控制一两个信息传送通路,因此垂直型微指令的并行操作能力低,效率低。

(2)水平型微指令执行一条机器指令的时间短,垂直型微指令执行时间长。

因为水平型微指令的并行操作能力强,因此与垂直型微指令相比,可以用较少的微指令数来实现一条机器指令的功能,从而缩短了机器指令的执行时间。而且当执行一条微指令时,水平型微指令的微命令一般直接控制对象,而垂直型微指令要经过译码也会影响速度。

(3)由水平型微指令解释指令的微程序,具有微指令字长比较长,但微程序短的特点。垂直型微指令则相反,微指令字比较短而微程序长。
(4)水平型微指令用户难以掌握,而垂直型微指令与机器指令比较相似,相对来说较容易掌握。

水平型微指令与机器指令差别很大,一般需要对机器的结构、数据通路、时序系统以及微命令很精通才能进行设计。对机器已有的指令系统进行微程序设计是设计人员而不是用户的事情,因此这一特点对用户来讲并不重要,然而某些计算机允许用户自行设计并扩充指令系统,此时就要注意是否容易编写微程序的问题。

实际上,水平型和垂直型微指令两者之间并无明确的界限,一台机器的微指令也往往不局限于一种类型的微指令。混合型微指令兼有两者的特点,它可以采用不太长的微指令又具有一定的并行控制能力,但微指令格式相对复杂。
3.串行微程序控制方式和并行微程序控制方式

(1)串行微程序控制方式

在前面我们所讲微程序控制方式都属于串行微程序控制方式,所谓串行微程序控制方式,在执行当前微指令与取下一条微指令在时间上是顺序进行的,即只有当现行微指令执行完毕后,才能取下一条微指令,如图7-38(a)所示。
串行微程序控制中,微指令周期等于取指令的时间加上执行微指令时间之和,即等于只读存储器的读周期。串行微程序控制的微指令周期较长,但控制简单,形成微地址的硬件较少。

(2)并行微程序控制方式

因为在微指令周期中,取微指令和执行微指令分别由不同的计算机硬件来完成,不同的微指令的取指令和执行指令周期它们之间可以重叠,即并行工作,以缩短微指令周期。所谓并行微程序控制方式,就是将取微指令和执行微指令这两类操作在时间上重叠并行进行的方式,如图7-42(b)所示。
在并行微程序控制方式中,要求在执行本条微指令的同时,预取下一条微指令,从而微指令周期仅等于执行微操作的时间,可以节约取微指令的时间。并行微程序控制可以缩短微指令周期,但是,为了不影响本条微指令的正确执行,需要增加一个微指令寄存器。

图7-38 串行微程序控制和并行微程序控制方式