组成原理(十七):微程序设计
目录
目录
学习资料
哈工大《计算机组成原理》
控制单元CU设计:
- 组合逻辑设计
- 微程序设计
1.微程序设计基本思路
组合逻辑设计不便于扩展,增加一个指令需要改变电路
微程序设计示意图:
理解:
- 将可并行的微操作合并,用一个微指令替代
- 执行该微指令,相当于并行执行多个微操作命令
- 微指令代码某一位均代表某个微操作,0代表不执行,1代表执行
- 如果该指令中有多个1,表示一个节拍中有多个微操作并行
- 微指令可以自由编程,实现微操作的多种组合
- 进而可以在不改变逻辑电路的情况下添加新指令
2.微程序控制单元框图及工作原理
2.1 机器指令对应的微程序
- 每个指令取值是一样的,间址和中断可预测,各指令可以共用微程序
- 执行阶段操作不同,需要为每个指令编写单独的微程序
- 控制存储器中微程序个数=机器指令数+3
2.2 微程序控制单元基本框图
- CMAR:控制存储器地址寄存器
- CMDR:控制存储器数据寄存器(存放微指令)
- 顺序逻辑:控制形成吓一跳微指令地址
- 地址译码:和主存的译码驱动相同
2.3 工作原理
1)取指阶段:(三个时钟周期/节拍)
2)执行阶段:
LDA指令微程序:(三个时钟周期)
3)若无间址周期和中断周期:
- 循环执行取指微操作和执行微操作
- 全部微操作指令存在CM中,执行过程中只需要读出
3.微指令编码方式(控制方式)
3.1 直接编码
- 操作控制的每一位代表一个微操作命令
- 某位为1表示该控制信号有效
3.2 字段直接编码
- 将控制字段分为若干段,每段经过译码后发出控制信号
- 每个字段中命令互斥,缩短了微指令字长,增加了译码时间
3.3 字段间接编码
3.4 混合编码
直接编码和字段编码(间接和直接)混合使用
- 常用:直接编码
- 不常用:字段编码
3.5 其他方式
如设置常数字段
4.微操作序列地址形成
1)微指令的下地址字段给出
2)根据机器指令操作码形成
3)增量计数器:
- 取指,中断,执行等周期,下地址都为M+1这种递增形式
- 可以采用增量计数器来代替
4)分支转移:
5)测试网络:
6)硬件产生:
- 第一条微指令地址,由专门硬件产生
- 中断周期,由硬件产生中断周期微程序首地址
7)后继微指令地址形成方式原理图:
5.微指令格式
- 水平微指令:一次能定义并行多个并行操作
- 垂直微指令:
- 类似机器指令操作码的方式
- 由微操作码字段规定微指令的功能
- 基本已经淘汰了
- 两种微指令格式比较:
- 水平微指令比垂直微指令并行操作能力强,灵活性强
- 水平微指令执行一条机器指令所要的微指令数目少,速度快
- 水平微指令用较短的微程序结构换取较长的微指令结构
- 水平微指令与机器指令差别大
6.静态微程序设计和动态微程序设计
静态:微程序无需改变,采用ROM
动态:通过改变微指令和微操作改变机器指令,有利于仿真,采用EPROM
7.毫微程序设计
微程序设计:微程序解释机器指令
毫微程序设计:毫微程序解释微指令
毫微程序控制器基本组成:
8.微程序执行方式
串行微程序控制:串行方式
并行微程序控制:流水方式