跳至主要內容

4.控制器的功能和工作原理


控制器的结构和功能

image.png
image.png

硬布线控制器

警告

不是考试重点,微程序控制器考的更多

image.png
image.png

微程序控制器

微程序控制的基本概念

  • 一条机器指令可以分解成一个微操作序列
  • 微命令是微操作的控制信号,微操作是微命令的执行过程
  • 微指令是若干微命令的集合

基本术语:

  1. 程序:由指令序列组成
  2. 微程序:由微指令序列组成,每一种指令对应一个微程序
  3. 指令是对程序执行步骤的描述
  4. 微指令是对指令执行步骤的描述
  5. 主存储器与控制存储器。主存储器用于存放程序和数据,在CPU外部,用RAM实现;==控制存储器(CM)==用于存放微程序,在CPU内部,用ROM实现

注意

  1. 微命令和微操作是一一对应的[1]
  2. 微指令中可能包含多个微命令
  3. 在组合逻辑控制器中也存在微命令与微操作这两个概念,它们并非只是微程序控制器的专有概念。

区分一下寄存器

  1. 地址寄存器(MARMAR)。存放主存读写地址
  2. 微地址寄存器(CMARCMAR)。用于存放控制存储器的读/写微指令地址
  3. 指令寄存器(IRIR)。存放从主存中读出的指令
  4. 微指令寄存器(CMDRCMDRμIR\mu IR)。存放从控制存储器中读出的微指令
image.png
image.png

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

image.png
image.png

提示

通常,一条机器指令对应一个微程序。由于任何机器指令的取指令操作都是相同的,因此可将取指令操作的微命令统一编成一个微程序,这个微程序只负责将指令从主存单元中取出并送至指令寄存器。此外,也可编出对应间址周期的微程序和中断周期的微程序。这样,控制存储器中的微程序个数应为机器指令数再加上对应取指、间址和中断周期等公共的微程序数

微指令的编码方式(控制方式)

警告

这一小节为高频考点

直接编码方式

直接编码法无需进行译码,微指令的微命令字段每位都代表一个微命令。

image.png
image.png

字段直接编码方式

将微指令的控制字段分成若干“段”,每段经译码后发出控制信号微命令字段分段的原则:

  1. 互斥性微命令分在同一段内,相容性微命令分在不同段内。
  2. 每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。
  3. 一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此,当某字段的长度为3位时,最多只能表示7个互斥的微命令,通常用000表示不操作。
image.png
image.png

字段间接编码方式

一个字段的某些微命令需由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,因此称为字段间接编码,又称隐式编码。这种方式可进一步缩短微指令字长,但因削弱了微指令的并行控制能力,因此通常作为字段直接编码方式的一种辅助手段。

微指令的地址形成方式

  1. 直接由微指令的下地址字段指出。微指令格式中设置一个下地址字段,由微指令的下地址字段直接指出后继微指令的地址,这种方式又称断定方式。
  2. 根据机器指令的操作码形成。机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成。
  3. 增量计数器法。(CMAR)+1CMAR(CMAR)+1 \to CMAR
  4. 分支转移
  5. 测试网络形成
  6. 硬件直接产生微程序入口地址

微指令的格式

水平型微指令

微指令编码方式中三种方式都属于水平型微指令,一条水平型微指令定义并执行几种并行的基本操作

垂直型微指令

采用类似于机器指令操作码的方式,一条垂直指令只能定义并执行一种基本操作

混合型微指令

在垂直型基础上加上一些不太复杂的并行操作

微程序控制单元的设计步骤

  1. 分析每个阶段的微操作序列
  2. 写出对应机器指令的微操作命令及节拍安排
    (1)写出每个周期所需要的微操作(参照硬布线)
    (2)补充微程序控制器特有的微操作:
    a.取指周期:
    Ad(CMDR)→CMAR
    OP(IR)→微地址形成部件→CMAR
    b.执行周期:
    Ad(CMDR)→CMAR
  3. 确定微指令格式
  4. 编写微指令码点

硬布线和微程序控制器的特点

image.png
image.png

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