微程序控制器
| 硬布线控制器 | 微程序控制器 | |
|---|---|---|
| 逻辑 | 同步时序 | 存储 |
| 速度 | 快 | 较慢 |
| 修改难度 | 大 | 小 |
| 适用对象 | RISC | CISC |
微程序控制方式的基本思想
- 将并发信号事先存储为微指令
| 一条指令对应多个时钟周期 |
| 多个时钟周期安排为多条微指令 |
| 一个微指令就是一组并发的控制信号 |
| 一条机器指令对应一段微程序(多条微指令) |
- 完成指令所需的控制信号按格式编写成微指令,存放到控制存储器(CM)。
CM可采用EPROM,有利于微程序的修改和动态微程序设计
硬布线控制器的状态等同与CM里面的微程序地址。执行指令的过程变为:
微指令格式
直接编码法

操作控制字段:每一位都代表一个控制信号
顺序控制字段:判别逻辑为0,下一条微指令地址从下址字段获取,否则按约定规则生成
| 优点 | 缺点 |
|---|---|
| 简单、直观 | 微指令字长过长,导致CM单元位数过多 |
| 执行速度快,操作并行性最好 | 给定的任何一个微指令中,往往只有部分位置为1,不能充分利用有效空间 |
字段直接编码法

微命令:控制信号
微周期:通常指从CM中读取一条微指令并执行相应的微操作所需的时间
压缩互斥性微命令
| 互斥性微命令 | 在同一微周期中不能同时出现的微命令,如PCout,ARout,WR和RD |
| 相容性微命令 | 在同一微周期中可以同时出现的微命令 |
互斥性微命令组合在同一字段中,设有m条微命令,互斥性字段有n位:m + 1 <= 2n
+1是什么微命令都不给出的情况,通常用全零表示
相容性微命令组合在不同字段。
微指令寄存器的输出端增加译码器,译码器的输出即为原来的微指令
后继微地址的形成
- 下址字段法:
下址字段指明下一条要执行的微指令地址。当一条微指令被取出时,下址字段送入μAR。相当于每一条微指令都具有转移微指令的功能。 - 计数器法:
| 顺序执行 | 非顺序执行 |
|---|---|
| 地址由μPC提供,后续微指令地址 = μPC ++ | 由转移微指令进行转移,当控制字段满足条件时,将转移地址字段作为下址送入μPC |
| 下址字段法 | 计数器法 |
|---|---|
| 微指令长,CM容量大 | 微指令短,需要加法器 |
水平型和垂直型
- 水平型微命令:一次能定义并执行多个并行微命令的微指令
- 垂直型微命令

微指令中设置微操作码字段,由微操作码规定微指令的功能。用较长的微程序结构换取较短的微指令结构
| 水平型 | 垂直型 | |
|---|---|---|
| 执行时间 | 短 | 较长 |
| 并行能力 | 好 | 较差 |
| 效率 | 高 | 较低 |
| 灵活性 | 强 | 较差 |
| 微指令字段 | 长,需要CM单元容量较大 | 较短 |
| 微程序结构 | 短 | 较长 |
| 用户上手难度 | 难 | 类似汇编语言,容易掌握 |
微程序执行的过程

- 根据微地址寄存器(μAR)的内容,从CM的0号单元读出一条“取指令”的微指令,送到μAR。产生有关控制信号,存储器将机器指令送往IR,并修改PC的内容。
- IR中机器指令的操作码通过微地址形成这条指令对应的微程序入口地址,送入μAR。
- 根据μAR中微地址从CM中取出对应微程序的第一条微指令,产生有关控制信号,由顺序控制字段形成下一条微指令地址,送入μAR,重复第3步直到该机器指令的微程序执行完。
- 执行完一条机器指令的微程序后,返回到CM的0号微地址单元,重复第1步。
微指令的执行方式
- 串行执行方式(又称顺序执行方式)
| 第k条 | 第k+1条 | ||
|---|---|---|---|
| 取微执行 | 执行 | 取微执行 | 执行 |
- 并行执行方式(又称重叠执行方式)
在一条微指令取出并开始执行时,同时去取下一条微指令。
| 取微指令 | 执行 | ||
|---|---|---|---|
| 取微执行 | 执行 | ||
| 取微执行 | 执行 |

浙公网安备 33010602011771号