第八章 控制器设计
8.1 组合逻辑控制器
8.1.1 操作码译码
CU 执行的关键在于 IR 将指令操作码部分传入译码器中,译码器根据指令操作码部分输出对应的指令编号。
CU 再根据输入的指令编号,输出相应的微操作命令。
8.1.2 微操作设计概述
微操作设计的关键任务
由于控制器实质是根据当前指令功能,依次发出一系列控制信号,因此我们需要了解如下信息。
- 有哪些控制信号
- 这些控制信号如何依次发出?即这些控制信号应该安排到哪个机器周期的哪个节拍中发出。
微操作设计的前提假设
- 采用同步控制方式。
- 一个机器周期内有 3 个节拍。(时钟周期)
- CPU 内部结构采用非总线方式。
安排微操作时序的原则
- 微操作的先后顺序一般不得随意更改。
- 被控对象不同的微操作尽量安排在一个节拍内完成。
- 由于被控对象不同,因此不同微操作可以并行执行,提高执行效率。
3. 占用时间较短的微操作,尽量安排在一个节拍内完成,并允许有先后顺序。
- 两个微操作占用时间非常短,因此可以在同一个节拍内依次执行,加快硬件执行效率。
组合逻辑控制器设计流程
组合逻辑控制器就是一个大规模的组合逻辑电路,因此又称为硬布线控制器。
组合逻辑控制器设计一共分为以下 5 个流程。
- 指令周期的微操作节拍安排。
- 绘制操作时间表。
- 设计微操作命令的最简逻辑表达式。
- 设计微操作命令的逻辑电路图。
- 综合优化。
组合逻辑控制器设计的特点
- 思路清晰,简单明了。
- 电路庞杂,调试难,修改难,升级维护难。
- 速度快。
- 这种设计方式主要被 RISC 处理器采用,因此 RISC 处理器速度快,但一旦更新换代则很难做到兼容。
8.1.3 (1) 指令周期微操作节拍安排
取指周期微操作的节拍安排
间址周期微操作的节拍安排
执行周期微操作的节拍安排
以下述十条指令的执行周期为例。
- CLA(清零)
为空,
时安排
。
- COM(取反)
为空,
时安排