二、微程序设计

发布时间 2023-06-18 20:19:11作者: Oh,mydream!

二、微程序设计

组合方式进行控制器的设计结构清晰,简单明了,但是电路庞杂,每一个控制信号都需要设计单独的电路来完成控制信号的生成,修改起来十分困难,因此产生了这种设计容易,修改容易的控制器设计方法

1.微程序设计思想

一条机器指令对应一个微程序,一个微程序包含多个微指令,一个微指令包含一条或多条微操作命令,微指令具有先后顺序,所有的微指令存储在ROM(制度存储器中)

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

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

原理分析:
1)取指阶段
M->CMAR
CM(CMAR)->CMDR
由CMDR发命令
形成下条微指令地址 M+1
Ad(CMDR)->CMAR
CM(CMAR)->CMDR
由CMDR发命令
形成下条微指令地址 M+2
Ad(CMDR)->CMAR
由CMDR发命令
2)执行阶段 执行LDA微程序
OP(IR)->微地址形成部件->CMAR
CM(CMAR)->CMDR
由CMDR发命令
Ad(CMDR)->CMAR
CM(CMAR)->CMDR
由CMDR发命令
Ad(CMDR)->CMAR
CM(CMAR)->CMDR
由CMDR发命令
Ad(CMDR)->CMAR 最后跳转回M地址,即取指阶段的首地址
3)取指阶段 与1)相同
全部微指令存在CM中,程序执行过程中只需读出

关键:

  • 微指令的操作控制字段如何形成微操作命令
  • 后续的地址如何形成

3.微指令的编码方式(控制方式)

  1. 直接编码方式(直接控制)
    在微操作的操作控制字段中,每一位代表一个微操作命令,某位为1表示改控制信号有效
    这种方式速度最快,但是微指令的操作控制字段会很长
  2. 字段直接编码方式
    将微指令的控制字段分成若干段
    每段经移码后发出控制信号
    每个字段中的命令是互斥的,缩短了微指令字长,增加了译码时间
    显式编码,微程序执行速度较慢
  3. 字段间接编码方式
    控制信号的输出不仅和该段的译码结果相关,还与其他段的译码结果相关,叫做隐式编码
  4. 混合编码
    直接编码和字段编码(直接和间接)混合使用
  5. 其他

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

  1. 微指令的下地址字段指出
  2. 根据机器指令的操作码形成
  3. 增量计数器 (CMAR)+1->CMAR
  4. 分支转移
    微指令组成: 操作控制地段|转移方式|转移地址
    转移方式 指明判别条件
    转移地址 指明转移成功后的去向
  5. 通过测试网络,测试上调指令的下一条指令是否是通的
  6. 由硬件产生微程序入口地址
    第一条微指令地址 由专门硬件产生
    中断周期 由硬件产生中断周期微程序首地址
  7. 后续微指令地址形成方式原理图
    后续微指令地址形成方式原理图

5. 微指令的格式

  1. 水平型微指令
    一次能定义并执行多个并行操作
    如:直接编码、字段直接编码、字段间接编码、直接和字段混合编码
    2.垂直型微指令
    类似机器指令操作码的方式,用于控制硬件操作,操作比较复杂
    由微操作码字段规定微指令的功能
    3.两种微指令格式的比较
    1)水平型微指令比垂直型微指令并行操作能力强,灵活性强
    2)水平型微指令执行一条机器指令所要的伪指令数目少,速度快
    3)水平型微指令用较短的微程序结构换取较长的微指令结构
    4)水平型微指令与机器指令差别大