Skip to content

硬布线控制器

考情分析

硬布线与微程序是控制器的两种实现方案,408考研每年必考其对比。选择题常考"速度快的是哪种""易于修改的是哪种",理解各自的工作原理是作答基础。

基本原理

硬布线控制器(也称组合逻辑控制器)通过逻辑电路直接产生控制信号。在单周期 CPU 中,控制器是纯组合逻辑;在多周期 CPU 中,控制器本质上是一个有限状态机(时序逻辑 + 组合逻辑),但仍归类为硬布线控制器。

控制信号=f(操作码,时序信号,状态条件)

每个控制信号都是上述输入变量的布尔函数,通过逻辑门电路直接实现,没有"存储"和"查表"的过程。

输入信号

硬布线控制器的输入来自三个方面:

1. 操作码(Op Code)

来自 IR(指令寄存器)的高位字段,经过指令译码器产生各指令对应的使能信号 I1,I2,,In

例如,若 ADD 指令的操作码为 000,则译码器输出 IADD=1,其余为 0。

2. 时序信号(节拍 / 时钟信号)

时序发生器产生节拍脉冲 T1,T2,,Tk,控制每个机器周期内各微操作的先后顺序。

常见实现:环形计数器,每个时钟周期只有一个 Ti=1

3. 状态条件(机器状态)

来自 PSW、外部中断请求等:

  • 进位标志 CF、零标志 ZF、符号标志 SF
  • 中断请求信号 INTR
  • 存储器就绪信号 READY

控制信号的生成

以一个简化的例子说明:

控制信号 C1(表示"将 MDR 内容送入 IR")在取指周期的第 3 节拍有效,对任何指令均成立:

C1=T3FetchCycle

控制信号 C2(表示"ALU 执行加法")仅在 ADD 指令的执行周期第 1 节拍有效:

C2=IADDT1ExecuteCycle

所有控制信号最终由类似的布尔表达式综合而来,通过与门、或门等实现。

硬布线控制器的结构

                 ┌────────────────┐
操作码  ──→  指令译码器  ──→  │                │
                 └────────────────┘  │   组合逻辑   │ ──→ 控制信号
节拍信号  ──────────────────────→  │   网络(PLA)  │
                                      │              │
状态条件  ──────────────────────→  │              │
                                      └────────────────┘

实现方式:通常用**PLA(可编程逻辑阵列)**或一组与-或逻辑门实现。

设计步骤

  1. 分析每条指令的微操作序列:列出每条指令在每个节拍需要的微操作
  2. 列出所有控制信号的逻辑表达式:对每个控制信号,找出哪些指令的哪些节拍需要它
  3. 化简布尔表达式:用卡诺图或代数方法化简
  4. 用逻辑门电路实现

交互可视化

加载可视化中...

硬布线 vs 微程序控制器

对比项硬布线控制器微程序控制器
实现方式组合逻辑电路控制存储器(ROM)
速度(纯组合逻辑,无存储器延迟)较慢(需从 CM 读微指令)
规整性不规整,逻辑复杂规整,易于扩展
修改灵活性(需重新布线/设计电路)(修改控制存储器内容)
适用场景RISC处理器(指令集简单)CISC处理器(指令集复杂)
复杂指令支持难以支持复杂指令容易支持复杂指令

例题

例1:某硬布线控制器有4条指令(ADD、SUB、LW、BEQ),3个节拍(T1,T2,T3),控制信号 CALU-Add 在以下条件下有效:ADD指令的 T2、LW指令的 T2。写出其逻辑表达式。

解:CALU-Add=(IADD+ILW)T2

即在第2节拍,当前指令是ADD或LW时,ALU加法控制信号有效。ADD需要ALU做加法运算,LW需要ALU计算基址+偏移的有效地址。

例2:硬布线控制器和微程序控制器,哪个更适合RISC?哪个更适合CISC?

解:硬布线控制器适合 RISC。RISC 指令集简单、指令数量少,组合逻辑电路的复杂度可控,而且硬布线速度快,符合 RISC 追求高性能的目标。微程序控制器适合 CISC。CISC 指令集复杂、指令数量多,用硬布线实现电路极为庞大且难以维护,微程序可以通过修改控制存储器内容灵活支持复杂指令。

例3:若要给硬布线控制器新增一条指令,需要做什么?若是微程序控制器呢?

解:硬布线控制器需要重新分析新指令的微操作序列,修改所有相关控制信号的布尔表达式,重新设计并布局逻辑电路——本质上是重新设计硬件。微程序控制器只需在控制存储器中新增一段微程序,并在映射逻辑中添加新操作码到微程序入口地址的映射,不需要改动硬件电路。

考点清单

  • 硬布线控制器 = 组合逻辑电路,无存储器,速度最快
  • 控制信号是操作码、时序、状态的布尔函数
  • 指令集越复杂,硬布线设计越困难(这是 RISC 追求简单指令集的原因之一)
  • 修改硬布线控制器需要重新设计电路,灵活性差
  • RISC 处理器(如 ARM)多用硬布线;CISC 处理器(如 x86)历史上多用微程序,现代 x86 内部也用类似硬布线的设计来提速

真题练习

相关真题(1题)

2009Q19选择题2分

硬布线控制器与微程序控制器的对比