【笔记】控制单元的设计

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cbwem/article/details/81319969

一、组合逻辑设计

1.组合逻辑控制单元框图

  控制单元的时钟输入实际上是一个脉冲序列,其频率即为机器的主频,它使CU能按一定的节拍发出各种控制信号。节拍的宽度应满足数据信息通过数据总线从源到目的所需的时间。以时钟为计数脉冲,通过一个计数器,又称节拍发生器,便可产生一个与时钟周期等宽的节拍序列。

这里写图片描述

2.微操作的节拍安排

  安排微操作节拍时应注意一下3点:

  • 有些微操作的次序是不容改变的,故安排微操作节拍时必须注意微操作的先后顺序。
  • 凡是被控制对象不同的微操作,若能在一个节拍内执行,应尽可能安排在同一个节拍内,以节省时间。
  • 如果有些微操作所占时间不长,应该将它们安排在一个节拍内完成,并且允许这些微操作有先后次序。

二、微程序设计

1.微程序设计思想的产生

  由于这些微指令是以二进制代码形式表示的,每位代表一个控制信号,因此逐条执行每一条微指令,也就相应地完成了一条机器指令的全部操作。微程序控制单元的核心部件是一个控制存储器。

2.微程序控制单元框图及工作原理

机器指令对应的微程序

  采用微程序设计方法设计控制单元的过程就是编写每一条机器指令的微程序,它是按执行每条机器指令所需的微操作命令的先后顺序而编写的,因此一条机器指令对应一个微程序。

  控制存储器中的微程序个数应为机器指令数再加上对应取指、间接寻址和中断周期3个微程序。

微程序控制单元的基本框图

  点划线框内的控制存储器(简称控存)是微程序控制单元的核心部件,用来存放全部微程序;CMAR是控存地址寄存器,用来存放欲读出的微指令地址;CMDR是控存数据寄存器,用来存放从控存读出的微指令;顺序逻辑是用来控制微指令序列的,具体就是控制形成下一条微指令的地址,其输入与微地址形成部件、微指令的下地址字段以及外来的标志有关。
  微指令的基本格式共分为两个字段,一个为操作控制字段,该字段发出各种控制信号;另一个为顺序控制字段,它可指出下条微指令的地址,以控制微指令序列的执行顺序。

这里写图片描述

3.微指令的编码方式

  微指令的编码方式又称为微指令的控制方式,是指对微指令的控制字段进行编码,以形成控制信号。

直接编码方式

  在微指令的操作控制字段中,每一位代表一个微操作命令,这种编码方式即为直接编码方式
  这种方式含义清晰,而且只要微命令从控存读出,即刻可由控制字段发出命令,速度快。但由于机器中微操作命令甚多,可能造成控存容量极大。

字段直接编码方式

  这种方式就是将微指令的操作控制字段分成若干段,将一组互斥的微操作命令放在一个字段内,通过对这个字段译码,便可对应每一个微命令。这种方式因靠字段直接译码发出微命令,故又有显示编码之称。
  采用字段直接编码方法可用较少的二进制信息表示较多的微操作命令信号。由于增加了译码电路,使微程序的执行速度稍微减慢。至于操作控制字段应分几段,与需要并行发出的微命令个数有关。每段的长度可以不等,与具体要求互斥的微命令个数有关。

字段间接编码方式

  这种方式一个字段的某些微命令还需由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出微命令,故称为字段间接编码,又称为隐式编码。
  这种方法虽然可以进一步缩短微指令字长,但因削弱了微指令的并行控制能力,因此通常用做字段直接编码法的一种辅助手段。

混合编码

  这种方法是把直接编码和字段编码混合使用,以便能综合考虑微指令的字长、灵活性和执行微程序的速度等方面的要求。

其他

  微指令中还可设置常数字段,用来提供常数、计数器初值等。常数字段还可以和某些解释位配合,如解释位为0,表示该字段提供常数;解释位为1,表示该字段提供某种命令,使微指令更灵活。

4.微指令序列地址的形成

直接由微指令的下地址字段指出

  大部分微指令的下地址字段直接指出了后续微指令的地址。这种方式又称为断定方式

根据机器指令的操作码形成

  当机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件。微地址形成部件实际上是一个编码器,其输入为指令操作码,输出就是对应该机器指令微程序的首地址。它可采用PROM实现,以指令的操作码作为PROM的地址,而相应的存储单元内容就是对应该指令微程序的首地址。

增量计数器法

  对于顺序地址,微指令可次啊用增量计数法,即 ( C M A R ) + 1 C M A R (CMAR)+1 \rightarrow CMAR 来形成后续微指令的地址。

分支转移

   当遇到条件转移指令时,微指令出现了分支,必须根据各种标志来决定下一条微指令的地址。

在这里插入图片描述

其中,转移方式指明判别条件,转移地址指明转移成功后的去向,若不成功则顺序执行。

通过测试网络形成

   微指令的地址还可以通过测试网络形成。图中微指令的地址分两部分,高段h为非测试地址,由微指令的H段地址码直接形成;地段1为测试地址,由微指令的L段地址码通过测试网络形成。

由硬件产生微程序入口地址

   当电源加电后,第一条微指令的地址可由专门的硬件电路产生,也可由外部直接向CMAR输入微指令的地址,这个地址即为取指周期微程序的入口地址。故响应中断时,可由硬件产生中断周期微程序的入口地址。
   当出现间接寻址时,也可由硬件产生间址周期微程序的入口地址。

多路选择器可选择以下4路地址:

  • ( C M A R ) + 1 C M A R (CMAR)+1 \rightarrow CMAR
  • 微指令的下地址字段
  • 指令寄存器(通过微地址形成部件)
  • 微程序入口地址

5.微指令格式

  微指令格式与微指令的编码方式有关,通常分为水平型微指令垂直型微指令两种。

水平型微指令

   水平型微指令的特点是一次能定义并执行多个并行操作的微命令。从编码方法看,直接编码、字段直接编码、字段间接编码以、直接和字段混合编码都属于水平型微指令。

垂直型微指令

   垂直型微指令的特点是采用类似机器指令操作码的方式,在微指令字中,设置微操作码字段,由微操作码规定微指令的功能。通常一条微指令有1~ 2个微命令,控制1 ~ 2种操作。

猜你喜欢

转载自blog.csdn.net/cbwem/article/details/81319969