硬布线控制器(组合逻辑控制器)
组合逻辑控制器由复杂的组合逻辑门电路和一些触发器构成。
CU 的输入信号来源:
- 经指令译码器产生的指令信息
- 时序系统产生的机器周期信号和节拍信号
- 来自执行单元的反馈信息,即标志
微程序控制器
将每条机器指令编写成一个微程序,每个微程序包含若干微指令,每个微指令对应若干微操作。
微命令和微操作
微命令是控制部件向执行部件发出的各种控制命令,是构成控制序列的最小单位,一个微命令对应一个微操作。
微命令有相容性和互斥性之分。
微指令
微指令是若干微命令的集合,包含两大部分信息:
- 操作控制字段,也称微操作码字段
- 顺序控制字段,也称微地址码字段
微周期
微周期指从控制存储器中取出并执行一条微指令所需的全部时间,通常为一个时钟周期。
控制存储器 CM
和指令系统中,主存保存指令,在 CPU 外部,用 RAM 实现相对应,控制存储器保存微程序,在 CPU 内部,用 ROM 实现。
微程序控制器和硬布线控制器的比较
微程序控制器 | 硬布线控制器 | |
---|---|---|
工作原理 | 微操作控制信号以微程序的形式存放在控制存储器 CM 中,执行指令时读出即可 | 微操作控制信号由组合逻辑电路根据当前的指令码、状态和时序即时产生 |
执行速度 | 慢 | 快 |
规整性 | 规整 | 不规整 |
应用场合 | CISC 型 CPU | RISC 型 CPU |
易扩充性 | 易扩充修改 | 不易扩充修改 |
微程序控制器的工作过程
- 执行取指令公共操作。机器开始运行时,自动将取指微程序的入口地址送入μPC,并从 CM 中读出相应的微指令并送入μIR。取指微程序的入口地址一般为 CM 的 0 号单元,取指微程序完成后,从主存取出的机器指令就已经存入 IR 中
- 由机器指令的操作码字段通过微地址形成部件产生该机器指令所对应的微程序的入口地址
- 从 CM 中逐条取出对应的微指令并执行
- 完成一个微程序后,又回到取指微程序的入口地址,取下一条指令
微指令的编码方式
直接编码方式
无需译码,每一位代表一个微命令,将对应位设置成 1 或 0 来控制是否执行对应的微操作。
- 互斥性的微命令在同一段内,相容的微命令在不同段内
- 每个小段中包含的信息位不能太多,会增加译码电路的复杂性和译码时间
- 每个小段要留出一个全 0 的状态表示空命令。
字段直接编码方式
把操作字段分成多个字段,每个字段独立编码,同一个字段里面都是互斥的微命令,需要经过译码器来选择对应的微命令。
字段间接编码方式
一个字段的某些微命令需由另一个字段的某些微命令来解释,不是靠直接译码发出的微命令,也称隐式编码。
微指令的地址形成方式
后继微地址的形成主要有以下几个基本类型:
- 由微指令的后继地址字段(下地址字段 ) 给出,这种方式也称断定方式
- 根据机器指令的操作码经微地址形成部件形成,该方法获得微程序的首地址
- (μPC)+1→μPC,适用于后继微地址指令连续的情况
- 根据各种标志决定下一条微指令分支转移的地址
- 由硬件直接产生微程序入口地址,比如取指周期微程序的入口地址
微指令的格式
水平型微指令
从编码方式上看,直接编码、字段直接编码、字段间接编码、混合编码都属于水平型微指令。
指令中的一位对应一个控制信号,一条水平型微指令定义并执行集中并行的基本操作。
垂直型微指令
和机器指令的格式类似,使用微操作码。
μOP | Rd | Rs |
---|---|---|
微操作码 | 目的地址 | 源地址 |
两种类型的比较
水平型 | 垂直型 | |
---|---|---|
并行操作 | 能力强、效率高、灵活性强 | 较差 |
执行一条时间 | 较短 | 较长 |
微指令和微程序 | 微指令字长,微程序短 | 微指令字短,微程序长 |
用户掌握难易度 | 难 | 易 |