832 字
4 分钟
CU
硬布线控制器
CU发出的微命令是操作码,标志寄存器PSW与节拍的函数
控制信号先用关于操作码,标志与节拍的逻辑式表示,化简后用硬件电路实现
微程序控制器
引入了一个指令解释层。采用微程序设计的cpu实际上由三部分构成。前端接受cisc风格的指令,中端把前端的指令用硬件解释成risc风格的微程序,再把risc微程序交给后端执行。
概念
- 程序
- 微程序 一条指令对应一段微程序,一段微程序是由若干个微指令构成
- 微周期 执行一条微指令的时间,通常为一个时钟周期
- 微指令 微命令 微操作 微指令译码得到微命令,微命令发送给执行部件,执行部件做出微操作
结构

- 控制存储器CM 存放微程序,在CU内部,由ROM实现
- uPC CMAR 类比PC与MAR
- 地址译码:处理微地址,转化为CM控制信号
- CMDR(uIR):存储从CM中取出的微指令,位数与微指令字长相等
- 微地址形成部件:通过IR中指定的操作码确定该指令对应的微指令序列的首微地址
- 工作流程
run() {
loop {
fetch instr
decode instr
call op // 根据IR中指定的操作码,跳转到对应微程序的入口地址
check interrupt
}
}
opXXX() {
// 根据指令功能执行相应的微代码
ret // 跳转到主循环
}
指令格式
垂直型
类似于指令格式中介绍的格式,都是由操作码和操作数构成的
水平型
由操作控制与顺序控制两部分构成,操作控制形成微命令,顺序控制决定微程序的控制流
操作控制部分的编码格式
讨论水平型微指令中操作控制部分如何编码表示微命令
- 直接编码法 操作控制部分每一位对应一个微命令
- 字段直接编码法
- 把操作控制分成若干个字段,把互相互斥的微命令编码在同一个字段里,不同字段的微命令之间是相容的
- 一个n位的字段可以表示个互斥的微命令(需要有一个状态表示都不发出任何微命令,如果需要的话)
- 字段间间接编码法 一个字段的内容需要另外一个字段的内容来解释
微指令的地址形成方式
讨论水平型微指令的顺序控制部分怎么决定微程序的控制流,类比程序的控制流
- 上电复位让uPC指向取值周期的第一条微指令的地址。类比cpu上电复位
- 顺序执行 类似程序的顺序执行
- 跳转
- 直接跳转 顺序控制部分指出下一条指令的地址也叫断定方式
- 间接跳转 依据机器指令的操作码得到微程序的入口地址 类比于间接跳转
- 分支 根据测试条件来决定是否跳转到目标地址
