4.控制器的功能和工作原理
大约 5 分钟
控制器的结构和功能

硬布线控制器
警告
不是考试重点,微程序控制器考的更多

微程序控制器
微程序控制的基本概念
- 一条机器指令可以分解成一个微操作序列
- 微命令是微操作的控制信号,微操作是微命令的执行过程
- 微指令是若干微命令的集合
基本术语:
- 程序:由指令序列组成
- 微程序:由微指令序列组成,每一种指令对应一个微程序
- 指令是对程序执行步骤的描述
- 微指令是对指令执行步骤的描述
- 主存储器与控制存储器。主存储器用于存放程序和数据,在CPU外部,用RAM实现;==控制存储器(CM)==用于存放微程序,在CPU内部,用ROM实现。
注意
- 微命令和微操作是一一对应的[1]
- 微指令中可能包含多个微命令
- 在组合逻辑控制器中也存在微命令与微操作这两个概念,它们并非只是微程序控制器的专有概念。
区分一下寄存器
- 地址寄存器()。存放主存读写地址
- 微地址寄存器()。用于存放控制存储器的读/写微指令地址
- 指令寄存器()。存放从主存中读出的指令
- 微指令寄存器(或)。存放从控制存储器中读出的微指令

微程序控制器组成和工作原理

提示
通常,一条机器指令对应一个微程序。由于任何机器指令的取指令操作都是相同的,因此可将取指令操作的微命令统一编成一个微程序,这个微程序只负责将指令从主存单元中取出并送至指令寄存器。此外,也可编出对应间址周期的微程序和中断周期的微程序。这样,控制存储器中的微程序个数应为机器指令数再加上对应取指、间址和中断周期等公共的微程序数。
微指令的编码方式(控制方式)
警告
这一小节为高频考点
直接编码方式
直接编码法无需进行译码,微指令的微命令字段每位都代表一个微命令。

字段直接编码方式
将微指令的控制字段分成若干“段”,每段经译码后发出控制信号微命令字段分段的原则:
- 互斥性微命令分在同一段内,相容性微命令分在不同段内。
- 每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。
- 一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此,当某字段的长度为3位时,最多只能表示7个互斥的微命令,通常用000表示不操作。

字段间接编码方式
一个字段的某些微命令需由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,因此称为字段间接编码,又称隐式编码。这种方式可进一步缩短微指令字长,但因削弱了微指令的并行控制能力,因此通常作为字段直接编码方式的一种辅助手段。
微指令的地址形成方式
- 直接由微指令的下地址字段指出。微指令格式中设置一个下地址字段,由微指令的下地址字段直接指出后继微指令的地址,这种方式又称断定方式。
- 根据机器指令的操作码形成。机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成。
- 增量计数器法。
- 分支转移
- 测试网络形成
- 硬件直接产生微程序入口地址
微指令的格式
水平型微指令
微指令编码方式中三种方式都属于水平型微指令,一条水平型微指令定义并执行几种并行的基本操作
垂直型微指令
采用类似于机器指令操作码的方式,一条垂直指令只能定义并执行一种基本操作
混合型微指令
在垂直型基础上加上一些不太复杂的并行操作
微程序控制单元的设计步骤
- 分析每个阶段的微操作序列
- 写出对应机器指令的微操作命令及节拍安排
(1)写出每个周期所需要的微操作(参照硬布线)
(2)补充微程序控制器特有的微操作:
a.取指周期:
Ad(CMDR)→CMAR
OP(IR)→微地址形成部件→CMAR
b.执行周期:
Ad(CMDR)→CMAR - 确定微指令格式
- 编写微指令码点
硬布线和微程序控制器的特点

如微命令1使得PCout、MARn有效。完成对应的微操作1(PC)→MAR ↩︎
