「微指令与微程序设计」
核心定位:中央控制器分两种实现方式——微程序控制器(软件化,考频极高)、硬布线控制器(硬件化,考频低),考试90%的考点集中在微程序控制器+微指令设计,本内容全部围绕此核心展开。核心逻辑链(必背,贯穿所有考点):一条机器指令 → 对应一段微程序 → 一段微程序由多条微指令组成 → 一条微指令包含多个微命令 → 一个微命令对应一个微操作。
一、微指令&微程序 核心知识点(分模块,必背+标注考频+易错点,★高频,★★必考,★★★压轴)
✅ 模块1:核心基本概念(★★选择必考,填空,无计算,根基知识点,背熟不丢分)
所有概念成体系关联,按逻辑链记忆,无孤立考点,选择题考「概念判断/对应关系」,是送分点。
-
微操作:CPU内部最基本、不可再分的硬件动作(如开门/关门、送数、清零、移位),是控制器的最小操作单位。
- 分类:相容微操作(可同时执行,无冲突)、互斥微操作(不能同时执行,有冲突)→ 微指令编码的核心依据,★★★必考。
-
微命令:控制CPU执行某个微操作的控制信号(如
PC+1、MAR←PC、读内存),微命令是微操作的控制信号,微操作是微命令的执行结果。 -
微指令:若干微命令的集合,一条微指令可以控制CPU执行一组相容的微操作(并行执行);是微程序的基本单位,存放在控制存储器CM中。
- 核心构成:微指令 =
(微命令,核心) + (下地址,决定下一条微指令地址)。
- 核心构成:微指令 =
-
微程序:若干条微指令的有序序列,一段微程序对应一条机器指令的完整执行过程;所有机器指令对应的微程序存放在控制存储器CM中,微程序是固定的,由硬件厂家固化。
-
微地址:微指令在控制存储器CM中的存储地址,类似机器指令在主存的地址;微地址由顺序控制字段决定。
-
核心对应关系(★★★必考结论,选择题高频)
- 1条机器指令 → 1段微程序
- 1段微程序 → 多条微指令
- 1条微指令 → 多个微命令
- 1个微命令 → 1个微操作
✅ 模块2:微程序控制器的组成与工作原理(★★选择+简答必考,无计算)
1. 微程序控制器的核心组成(必背,选择题考「部件功能」,简答考「组成」)
控制存储器CM是核心,所有部件均为微程序服务,无冗余考点:
-
控制存储器(CM):只读存储器ROM,存放全部微程序(微指令),速度极快,位宽等于微指令字长;
-
微地址寄存器(μAR):存放当前正在执行的微指令的微地址,地址送CM,用于读取微指令;
-
微指令寄存器(μIR):存放从CM中读出的当前微指令,其操作控制字段送控制逻辑,顺序控制字段送微地址形成部件;
-
微程序计数器(μPC):类似主存的PC,存放下一条微指令的微地址;有两种工作方式:增量计数(+1)、直接接收下地址字段。
-
微地址形成部件:根据微指令的顺序控制字段、机器指令的操作码,形成下一条微指令的微地址。
2. 微程序控制器的工作过程(★简答考点,6分,按步骤背,采分点清晰)
本质:取微指令→执行微指令→形成下一个微地址,循环执行,直到完成一段微程序(对应一条机器指令):
-
取机器指令:从主存中取出当前要执行的机器指令,送入指令寄存器IR;
-
形成微程序入口地址:由机器指令的操作码,通过微地址形成部件,找到该机器指令对应的微程序的首条微指令的微地址,送入μAR;
-
取微指令:根据μAR中的微地址,从CM中读出微指令,送入μIR;
-
执行微指令:μIR的操作控制字段发出微命令,执行对应的微操作;
-
形成下一个微地址:由μIR的顺序控制字段,通过微地址形成部件,产生下一条微指令的微地址,送入μAR/μPC;
-
重复3~5步,直到执行完该机器指令对应的一段微程序,返回步骤1取下一条机器指令。
✅ 模块3:微指令的格式设计与编码方式(★★★ 重中之重,大题必考,压轴核心,计算+设计双考点,分值最高)
本模块是微指令的核心考点,408每年必考「微指令格式设计+编码方式位数计算」,是该章节分值最高的部分;所有题目均围绕「如何用最少的位数,表示最多的微命令,同时满足相容/互斥规则」展开,公式固定、步骤固定,零失误。核心前提:微指令的操作控制字段是微命令的载体,编码方式就是「操作控制字段的编码规则」,所有计算均针对此字段。
(一)微指令的整体格式(固定,必背,画图必考)
一条完整的微指令,字长固定,分为两大字段,无例外,大题必考画图:
-
操作控制字段(微命令字段):核心,用来表示微命令的组合,决定执行哪些微操作;编码方式不同,此字段的位数、表示的微命令数不同。
-
顺序控制字段(下地址字段):用来表示下一条微指令的微地址,决定微程序的执行顺序(顺序、分支、跳转);位数由控制存储器CM的容量决定:若CM容量为
,则下地址字段占 位。
(二)微指令的2大类型(★★选择必考,对比辨析,无计算)
按「操作控制字段的编码风格+并行性」划分,只有两类,考「特点/优缺点/适用场景」,背熟即可:
1. 水平型微指令(★★★ 大题必考设计,主流设计方式)
-
定义:一次能并行执行多个微操作,操作控制字段的编码直接对应微命令,微指令字长较长,并行性高。
-
核心特点(必背):① 微指令字长长,微命令多;② 能并行执行多个相容微操作,执行效率高;③ 微程序短(一条机器指令对应微指令少);④ 灵活性高,编程容易。
-
核心编码方式:直接编码、字段直接编码、字段间接编码(全部是计算考点)。
2. 垂直型微指令
-
定义:一次只能执行一个微操作,操作控制字段类似机器指令的「操作码+地址码」,微指令字长较短,并行性低。
-
核心特点(必背):① 微指令字长短,微命令少;② 只能串行执行微操作,执行效率低;③ 微程序长;④ 灵活性低,编程复杂。
✔ 水平型 vs 垂直型微指令 核心区别(★★选择必考,表格速记)
| 对比维度 | 水平型微指令 | 垂直型微指令 |
|---|---|---|
| 微指令字长 | 长 | 短 |
| 并行性 | 高(并行执行) | 低(串行执行) |
| 微程序长度 | 短 | 长 |
| 执行效率 | 高 | 低 |
| 编程难度 | 易 | 难 |
| 适用场景 | 微程序控制器主流设计 | 简单控制器 |
(三)微指令的4种编码方式(★★★ 必考计算+设计,核心公式,重中之重)
编码方式:操作控制字段的编码规则,全部针对水平型微指令,是大题的核心考点;优先级:字段直接编码 > 直接编码 > 字段间接编码 > 混合编码,考频从高到低,公式全部必背,计算无难点。核心规则:互斥的微命令可以放在同一段编码,相容的微命令必须放在不同段/不同位。核心公式:若某字段需要表示
个互斥的微命令,则该字段的位数至少为 位;+1是因为要包含「无操作」状态(必考易错点!)。
✔ 方式1:直接编码(直接控制法)【基础,送分计算】
-
规则:操作控制字段的每一位对应一个独立的微命令,位=1表示执行该微命令,位=0表示不执行。
-
核心公式:若有
个微命令 → 操作控制字段至少需要 位。 -
特点:优点是译码速度最快、并行性最高、硬件最简单;缺点是微指令字长太长(微命令越多,位数越多),浪费空间。
-
例:有10个微命令 → 直接编码需要10位操作控制字段。
✔ 方式2:字段直接编码(字段译码法)【★★★ 大题必考,高频计算+设计,核心】
-
规则:将所有微命令按互斥关系分组(同一组内的微命令互斥,不同组的微命令相容),每组作为一个字段;对每个字段独立编码,每段的编码对应本组的一个微命令,不同字段的微命令可以并行执行。
-
核心公式(必考,万能,无例外):
- 对每一组:若有
个互斥微命令 → 该字段位数 = 位; - 总操作控制字段位数 = 各组字段位数之和;
✅ 关键易错点:必须+1!因为每组的编码中要包含「该组无任何微命令执行」的状态,否则会出错,90%的丢分都在这里!
- 对每一组:若有
-
特点:优点是大幅减少微指令字长,兼顾并行性;缺点是译码速度比直接编码慢,需要分组译码。
-
例:有15个微命令,分为3组,组1:6个互斥,组2:5个互斥,组3:4个互斥 → 组1位数=
,组2= ,组3= → 总位数=3+3+3=9位。
✔ 方式3:字段间接编码(隐含编码法)【★选择考点,低频计算】
-
规则:在字段直接编码的基础上,不同字段之间有联系(一组的编码可以隐含另一组的微命令),即一个字段的编码不仅表示本组的微命令,还能决定另一组的微命令是否有效。
-
特点:优点是进一步减少微指令字长;缺点是译码速度更慢,硬件复杂度高,兼容性差,考题极少。
✔ 方式4:混合编码【★★选择考点,无计算】
-
规则:结合直接编码+字段直接编码,对使用频率高、需要并行执行的微命令采用直接编码(一位一个),对互斥的微命令采用字段直接编码。
-
特点:兼顾速度+字长,是实际中最常用的编码方式,选择题考「特点」即可。
✅ 模块4:微地址的形成方式(★★ 计算+选择必考,核心规则,无难点)
微地址:下一条微指令在控制存储器CM中的地址,由微指令的顺序控制字段决定;微地址的形成方式决定微程序的执行顺序(顺序、分支、跳转),是微指令设计的必考点,计算题必考地址位数计算。核心前提:控制存储器CM的容量为
→ 微地址的位数为 → 顺序控制字段的位数至少为 位(必考公式)。共3种主流形成方式,全部必考,按考频排序:
-
下地址字段法(断定方式)【★★★ 大题必考,主流方式】
- 规则:微指令的顺序控制字段直接给出下一条微指令的微地址,是最直接、最常用的方式。
- 特点:灵活性高,能实现任意分支/跳转,适合复杂微程序;微指令字长会增加(包含下地址字段)。
- 必考计算:若CM容量为
单元 → 下地址字段占8位。
-
增量计数器法(微程序计数器法)【★★ 选择+计算】
- 规则:设置微程序计数器
,当前微地址+1得到下一个微地址,类似主存的PC;只有需要分支/跳转时,才由顺序控制字段给出新的微地址。 - 特点:硬件简单,顺序执行效率高;分支/跳转时需要额外的地址字段,灵活性一般。
- 规则:设置微程序计数器
-
结合方式(增量+断定)【★ 选择考点】
- 规则:顺序执行用增量计数器法(μPC+1),分支/跳转用下地址字段法,兼顾硬件简单和灵活性,是实际中最常用的方式。
✅ 模块5:微程序控制器 vs 硬布线控制器(★★★ 选择+简答必考,无计算,性价比最高)
中央控制器的两种实现方式,是每年必考考点,选择题考「判断对错」,简答题考「对比区别」,知识点固定,背熟就拿分,无任何难点,是送分模块!
核心定义
-
微程序控制器:软件化的控制器,将机器指令的控制逻辑设计成微程序,存放在控制存储器CM中,通过执行微程序实现机器指令的控制;本质是「存储程序思想」的延伸。
-
硬布线控制器:硬件化的控制器,将机器指令的控制逻辑用门电路、触发器等硬件直接连线实现,无存储的程序,控制逻辑由硬件电路决定。
核心区别(★★★ 必考,表格整理,一目了然,答出任意6点即可满分)
| 对比维度 | 微程序控制器 | 硬布线控制器 |
|---|---|---|
| 实现方式 | 软件化(微程序存于CM) | 硬件化(门电路直接连线) |
| 控制逻辑 | 规整,易修改 | 复杂,难修改 |
| 执行速度 | 慢(需访存读微指令) | 快(无访存,直接硬件控制) |
| 灵活性 | 高(修改微程序即可改指令) | 低(修改硬件才能改指令) |
| 硬件复杂度 | 低(CM+简单逻辑) | 高(大量门电路+触发器) |
| 设计难度 | 低(编程思想) | 高(硬件逻辑设计) |
| 适用场景 | CISC指令系统(复杂指令) | RISC指令系统(精简指令) |
✅ 模块6:易错点+避坑指南(选择题高频丢分点,必看,避坑=提分)
-
微命令的相容/互斥:相容=可并行,互斥=不可并行,字段编码的分组依据是互斥,这是编码计算的根基,错则全错;
-
字段直接编码的+1规则:计算字段位数时,必须加1(无操作状态),如6个互斥微命令,位数是3位不是2位;
-
微地址位数与CM容量:CM容量
→ 微地址n位 → 下地址字段n位,公式必考; -
机器指令与微程序的对应关系:一条机器指令对应一段微程序,不是一条微指令;
-
微程序存放在控制存储器CM,不是主存,CM是ROM,速度远快于主存;
-
水平型微指令并行执行,垂直型串行执行,并行性是核心区别;
-
硬布线速度快,微程序灵活性高,选择题常考反例,如「微程序速度快」是错误的。
二、微指令&微程序 三大核心题型(解题模板+例题+答案,408必考,全覆盖所有考点,无偏题)
题型标注:★★★=大题必考(5~8分),★★=选择必考(2分),★=低频填空;所有题目均为408真题改编,贴合考试难度,解题步骤固定,模板化答题零失误。
✅ 题型1:微指令编码方式计算题(★★★ 大题必考,核心计算,分值最高)
题型特征
已知:微命令总数、微命令的相容/互斥分组,要求:① 用指定编码方式计算操作控制字段的最少位数;② 设计微指令的操作控制字段格式(画图)。
万能解题步骤(死记,按顺序写,采分点齐全)
-
明确编码方式(直接/字段直接),标注各组的互斥微命令数
; -
若为直接编码:位数=微命令总数;
-
若为字段直接编码:对每组计算位数=
,总位数=各组位数之和; -
画出操作控制字段的格式图,标注每组的字段名+位数;
-
补充说明:不同字段的微命令可并行执行,同字段的微命令互斥。
经典例题(408真题高频,必考)
已知:某CPU有22个微命令,经分析,这些微命令分为4个互斥组,各组的微命令数分别为:组1(6个)、组2(5个)、组3(7个)、组4(4个),所有组之间的微命令均相容。要求:
(1) 采用字段直接编码方式,计算操作控制字段的最少位数;
(2) 若采用直接编码方式,操作控制字段的位数是多少?
(3) 画出字段直接编码的操作控制字段格式图。
标准答案+步骤
(1) 字段直接编码,每组位数计算(必+1):组1:
(2) 直接编码:位数=微命令总数 = 22位。
(3) 格式图:组1(3位) + 组2(3位) + 组3(3位) + 组4(3位)。
✅ 题型2:微指令格式综合设计题(★★★ 大题压轴必考,综合计算+设计,分值最高)
题型特征
已知:控制存储器CM容量、微命令的编码方式、微地址的形成方式,要求:① 设计完整的微指令格式(标注各字段+位数);② 计算微指令的总字长;③ 说明设计依据。
万能解题步骤(核心模板,所有设计题通用)
-
计算顺序控制字段(下地址字段)的位数:CM容量为
→ 下地址字段占n位; -
计算操作控制字段的位数:按指定编码方式(直接/字段)计算,步骤同题型1;
-
微指令总字长 = 操作控制字段位数 + 顺序控制字段位数;
-
画出完整的微指令格式图,标注各字段名称+位数;
-
说明设计依据(编码方式的规则、微地址的形成方式)。
经典例题(408真题改编,压轴大题,8分)
已知:某微程序控制器的控制存储器CM容量为
(1) 计算操作控制字段的最少位数;
(2) 计算顺序控制字段的位数;
(3) 计算微指令的总字长;
(4) 画出完整的微指令格式图。
标准答案+步骤
(1) 字段直接编码,每组位数:组1:
(2) CM容量
(3) 微指令总字长=9+8=17位;
(4) 格式图:
✅ 题型3:概念选择+简答辨析题(★★ 必考,送分题,背熟即拿分)
题型特征
选择题:考概念判断、微程序vs硬布线的区别、编码方式的特点;简答题:考微程序控制器的工作过程、微指令编码方式的优缺点、微程序与硬布线的区别。
解题技巧
-
选择题:抓住核心结论(如硬布线速度快、微程序灵活性高、字段编码要+1),直接秒杀;
-
简答题:按采分点答题,分点罗列,条理清晰,无需展开,答出核心要点即可满分。
经典简答真题(必考,6分)
简述微程序控制器和硬布线控制器的核心区别。
标准答案(采分点清晰,答出6点即可满分)
-
实现方式:微程序控制器是软件化设计,硬布线是硬件化设计;
-
执行速度:微程序控制器速度慢,硬布线控制器速度快;
-
灵活性:微程序控制器灵活性高,硬布线控制器灵活性低;
-
硬件复杂度:微程序控制器硬件简单,硬布线控制器硬件复杂;
-
设计难度:微程序控制器设计容易,硬布线控制器设计困难;
-
适用场景:微程序适合CISC,硬布线适合RISC。
三、微指令&微程序 全套必考题目(含答案+详细解析,适配408,分题型,全覆盖)
✅ 第一部分 概念选择题(共15题,每题2分,总计30分,选择必考,全覆盖所有概念考点)
-
下列关于微操作和微命令的关系,正确的是()
A. 微操作是微命令的控制信号 B. 微命令是微操作的执行结果 C. 微命令控制微操作执行 D. 二者无关联 -
一条机器指令对应()
A. 一条微指令 B. 一段微程序 C. 一个微操作 D. 一个微命令 -
微程序存放在以下哪个部件中()
A. 主存储器 B. 控制存储器CM C. 指令寄存器IR D. 微地址寄存器μAR -
微指令的核心组成是()
A. 操作码+地址码 B. 操作控制字段+顺序控制字段 C. 微命令+微地址 D. 微操作+微命令 -
直接编码方式中,若有12个微命令,则操作控制字段至少需要()
A. 12位 B. 4位 C. 3位 D. 11位 -
字段直接编码的核心分组依据是微命令的()
A. 相容关系 B. 互斥关系 C. 并行关系 D. 串行关系 -
某字段有7个互斥的微命令,该字段的最少位数是()
A. 2位 B. 3位 C. 4位 D. 7位 -
水平型微指令的核心特点是()
A. 微指令字长短 B. 串行执行微操作 C. 并行执行微操作 D. 编程难度大 -
控制存储器CM容量为
单元,则微地址的位数是()
A. 8位 B. 9位 C. 10位 D. 11位 -
微地址的下地址字段法的特点是()
A. 硬件复杂 B. 灵活性高 C. 执行速度慢 D. 微地址由μPC+1得到 -
下列关于硬布线控制器的描述,正确的是()
A. 执行速度慢 B. 灵活性高 C. 硬件复杂度低 D. 适合RISC指令系统 -
微程序控制器的优点是()
A. 执行速度快 B. 硬件简单 C. 无需控制存储器 D. 微程序不可修改 -
相容微操作的含义是()
A. 可同时执行 B. 不可同时执行 C. 串行执行 D. 必须顺序执行 -
垂直型微指令的执行效率低于水平型的原因是()
A. 微指令字长长 B. 并行性高 C. 串行执行微操作 D. 译码速度快 -
混合编码的核心是结合了()
A. 直接编码+字段直接编码 B. 字段直接+字段间接 C. 增量法+断定法 D. 水平型+垂直型
✅ 第二部分 计算题(共4题,每题6分,总计24分,大题必考计算,全覆盖编码+格式设计)
-
已知有15个微命令,分为2组,组1有8个互斥微命令,组2有7个互斥微命令,组间相容。分别计算:① 直接编码的操作控制字段位数;② 字段直接编码的操作控制字段位数。
-
已知控制存储器CM容量为
单元,CPU有20个微命令,分为4组,各组微命令数:5、4、6、5,采用字段直接编码,微地址用下地址字段法。求:① 操作控制字段位数;② 顺序控制字段位数;③ 微指令总字长。 -
已知某微指令的操作控制字段为10位,采用字段直接编码分为3组,组1占3位,组2占3位,组3占4位。求:该微指令最多能表示的微命令数。
-
已知:直接编码的操作控制字段为18位,若改为字段直接编码,分为3组,每组的微命令数均为5个互斥。求:字段编码后的操作控制字段位数,以及节省的位数。
✅ 第三部分 简答+设计大题(共3题,分值8/6/8分,总计22分,大题必考,全覆盖核心考点)
-
(8分,压轴设计题)已知:某微程序控制器的CM容量为256单元,CPU有24个微命令,分为3个互斥组,组1(7个)、组2(8个)、组3(9个),采用字段直接编码,微地址采用下地址字段法。要求:① 计算操作控制字段的位数;② 计算顺序控制字段的位数;③ 计算微指令总字长;④ 画出完整的微指令格式图。
-
(6分,必考简答)简述微程序控制器的完整工作过程。
-
(8分,必考简答)对比水平型微指令和垂直型微指令的异同点,并说明各自的适用场景。
全套题目 标准答案+详细解析(完整版,无删减,直接对照批改,满分参考)
✅ 选择题答案(每题2分)
1.C 2.B 3.B 4.B 5.A 6.B 7.B 8.C 9.C 10.B 11.D 12.B 13.A 14.C 15.A
✅ 计算题答案(每题6分,步骤完整,采分点清晰)
-
① 直接编码:15位;② 字段直接编码:组1=
,组2= → 总位数=4+3=7位。 -
① 字段编码:组1=3,组2=3,组3=3,组4=3 → 9位;② CM容量
→ 顺序控制字段9位;③ 总字长=9+9=18位。 -
组1最多表示
个,组2=7个,组3=15个 → 总微命令数=7+7+15=29个。 -
字段编码位数=3+3+3=9位,节省位数=18-9=9位。
✅ 简答+设计大题答案(满分标准答案,采分点清晰)
-
(8分)① 组1=3位,组2=4位,组3=4位 → 操作控制字段=11位;② CM容量256=
→ 顺序控制字段8位;③ 总字长=11+8=19位;④ 格式图:操作控制字段(11位:组13+组24+组34) + 顺序控制字段(8位)。 -
(6分)微程序控制器工作过程:① 取机器指令送入IR;② 由操作码形成微程序入口地址送入μAR;③ 从CM读出微指令送入μIR;④ 执行微指令的微操作;⑤ 形成下一个微地址送入μAR;⑥ 重复3~5步,直到执行完该机器指令的微程序。
-
(8分)异同点:① 相同点:均为微指令的类型,均由微命令组成;② 不同点:水平型微指令字长长、并行性高、执行效率高、编程容易;垂直型微指令字长短、并行性低、执行效率低、编程困难。适用场景:水平型适合复杂控制器,垂直型适合简单控制器。
额外附赠:微指令必考速记公式(共5个,全部背熟,计算题秒解)
-
直接编码:微命令数
→ 操作控制字段位数= -
字段直接编码:每组互斥微命令数
→ 该字段位数= -
控制存储器CM容量=
→ 微地址位数= → 下地址字段位数= -
微指令总字长 = 操作控制字段位数 + 顺序控制字段位数
-
字段编码总位数 = 各组字段位数之和