27 KiB
第10章 控制单元设计(详细补充版)
📖 本章介绍控制单元的两种设计方法:组合逻辑设计和微程序设计。 🎯 重点理解微程序设计方法 ⚠️ 考试范围:不考10.1节;重点复习例题10.4和414页微程序设计举例;课后习题10.1、10.2必须掌握
📋 本章目录
10.1 组合逻辑设计
📝 虽然考试范围注明10.1节不考,但组合逻辑设计的基本思想和步骤仍是理解微程序设计的基础,建议了解。
10.1.1 组合逻辑控制单元框图
graph TB
subgraph "组合逻辑控制单元"
IR[IR<br/>指令寄存器] --> |"操作码"| DEC[操作码译码器]
CLK[时钟] --> |"时钟信号"| TG[节拍发生器]
DEC --> |"译码输出"| CU[控制单元]
TG --> |"节拍信号"| CU
FLAG[标志] --> CU
CU --> |"控制信号"| CTRL[控制信号输出]
end
组合逻辑控制单元由三个核心部件组成。操作码译码器负责把指令的操作码翻译成具体的控制信号——比如加法指令的码进来,就输出"做加法"的信号。节拍发生器产生时序信号,控制微操作的先后顺序,就像节拍器控制乐队的节奏。控制单元则是核心,它综合译码结果、节拍信号和标志位,在正确的时刻发出正确的控制信号。
这种设计方式的特点是速度快——信号通过逻辑门直接产生,不需要访问存储器。但缺点也很明显:电路复杂,修改困难,每增加一条指令可能都要重新设计电路。
组合逻辑设计步骤
组合逻辑控制器的设计一般包括以下步骤:
- 列出微操作时间表:对每条指令,按节拍列出每个微操作。
- 写出微操作的逻辑表达式:用操作码译码输出、节拍信号、标志位等变量表示每个微操作。
- 优化逻辑表达式:用卡诺图或布尔代数化简。
- 画出逻辑电路图:用与、或、非门实现。
10.1.2 微操作的节拍安排
安排微操作的节拍时,需要遵循三个原则。
顺序原则:有些微操作的次序不能改变。比如必须先送地址到MAR才能读内存,必须先读到MDR才能送到IR——这些顺序是硬件决定的,不能颠倒。
并行原则:不同控制对象的微操作可以同时执行。比如ALU做加法的同时,寄存器可以读数据——因为它们控制的是不同的硬件部件,互不干扰。
紧凑原则:时间短的微操作可以安排在同一节拍。比如PC送MAR和发读命令可以同时进行,因为它们的操作对象不同,而且都很快速。
取指周期节拍安排
| 节拍 | 微操作 | 说明 |
|---|---|---|
| T₀ | PC → MAR, 1 → R | 地址送MAR,发读命令 |
| T₁ | M(MAR) → MDR, (PC)+1 → PC | 读指令,PC加1 |
| T₂ | MDR → IR, OP(IR) → ID | 指令送IR,译码 |
sequenceDiagram
participant T0 as 节拍T0
participant T1 as 节拍T1
participant T2 as 节拍T2
Note over T0: PC → MAR, 1 → R
Note over T1: M(MAR) → MDR, (PC)+1 → PC
Note over T2: MDR → IR, OP(IR) → ID
三个节拍就完成了取指。T₀节拍同时做两件事:送地址和发读命令,因为它们操作的对象不同(MAR和控制总线),可以并行。T₁节拍也是两件事并行:从内存读指令到MDR,同时PC加1——读内存是主存的操作,PC加1是CPU内部操作,互不影响。T₂节拍把指令从MDR搬到IR,同时操作码送到译码器。
间址周期节拍安排
| 节拍 | 微操作 | 说明 |
|---|---|---|
| T₀ | Ad(IR) → MAR, 1 → R | 形式地址送MAR |
| T₁ | M(MAR) → MDR | 读有效地址 |
| T₂ | MDR → Ad(IR) | 有效地址送IR |
间址周期和取指周期结构类似,但目的不同——这里是为了获取有效地址。T₀送形式地址并发读命令,T₁从内存读有效地址到MDR,T₂把有效地址写回指令的地址字段。这样后续执行周期就知道该去哪操作了。
执行周期节拍安排
非访存指令不需要访问内存,所以很多只需要用到T₂节拍:
| 指令 | T₀ | T₁ | T₂ |
|---|---|---|---|
| CLA | 空 | 空 | 0 → ACC |
| COM | 空 | 空 | \overline{ACC} → ACC |
| SHR | 空 | 空 | L(ACC) → R(ACC) |
| CSL | 空 | 空 | R(ACC) → L(ACC) |
| STP | 空 | 空 | 0 → G |
这些指令都是CPU内部操作,不需要去内存取数据,所以T₀和T₁空闲,只在T₂执行一个操作。这也是为什么非访存指令通常比访存指令快。
访存指令需要访问内存,三个节拍都用满了:
加法指令 ADD X:
| 节拍 | 微操作 |
|---|---|
| T₀ | Ad(IR) → MAR, 1 → R |
| T₁ | M(MAR) → MDR |
| T₂ | (ACC) + (MDR) → ACC |
T₀送地址并发读命令,T₁从内存读操作数到MDR,T₂把累加器的值和MDR的值送到ALU做加法,结果写回累加器。
存数指令 STA X:
| 节拍 | 微操作 |
|---|---|
| T₀ | Ad(IR) → MAR, 1 → W |
| T₁ | ACC → MDR |
| T₂ | MDR → M(MAR) |
STA X 和 ADD X 的区别在于方向:ADD 是从内存读到CPU,STA 是从CPU写到内存。所以T₀发的是写命令(1→W),T₁把累加器的值送到MDR,T₂把MDR的内容写入内存。
取数指令 LDA X:
| 节拍 | 微操作 |
|---|---|
| T₀ | Ad(IR) → MAR, 1 → R |
| T₁ | M(MAR) → MDR |
| T₂ | MDR → ACC |
LDA X 和 ADD X 的前三步完全一样,区别在T₂:ADD 是做加法后送回累加器,LDA 是直接把MDR的值送到累加器(累加器原来的值被覆盖)。
10.2 微程序设计
🔥 本节是考试核心。微指令格式设计(字段位数计算)、微程序控制器工作原理、414页微程序设计举例均为高频考点。
10.2.1 微程序设计的基本概念
[!info] 定义 微程序设计是用程序的方法来设计控制单元,把控制信号编成微指令,存放在控制存储器中。
组合逻辑设计虽然速度快,但电路复杂、修改困难。微程序设计的思路完全不同——它把控制信号看成"数据",存到一个ROM(只读存储器)里,执行指令时从ROM中读取控制信号。这样设计控制单元就变成了编写"微程序",和写软件的思路类似。
三个核心概念:微指令是一组控制信号的集合,一条微指令可以同时激活多个控制信号;微程序是微指令的有序序列,一条机器指令对应一个微程序;控制存储器(CS)是存放微程序的ROM,通常在CPU内部。
举个例子,执行一条加法指令,它的微程序可能包含三条微指令:第一条完成取指(PC→MAR、1→R等),第二条完成取操作数(Ad(IR)→MAR、M(MAR)→MDR),第三条完成加法运算((ACC)+(MDR)→ACC)。每条微指令里的控制信号可以并行发出。
10.2.2 微程序控制器的工作原理
📌 这是复习资料中的原题,期中/期末考试高频出现。下面把工作原理完整梳理一遍。
微程序控制器的工作流程可以概括为:
- 开机:系统初始化,将取指微指令的地址送入微地址寄存器(CMAR)。
- 取微指令:根据CMAR中的地址,从控制存储器(CM)中取出当前微指令。
- 执行微操作:微指令的操作控制字段直接产生控制信号,驱动各部件完成微操作。
- 确定下地址:根据微指令的顺序控制字段(下址字段),决定下一条微指令的地址,送入CMAR。
- 循环执行:重复步骤2-4,直到该机器指令对应的微程序执行完毕。
- 回到取指:一条机器指令执行完毕后,自动回到取指微程序的入口地址,开始下一条指令的取指。
核心要点:每条机器指令对应一段微程序,取指微程序是所有指令共用的公共部分。整个CPU的工作就是不断地从CM中读取微指令、执行微操作、更新地址——本质上是一个"微程序级的取指-执行循环"。
10.2.3 微指令格式与编译方法
微指令由两部分组成:操作控制字段产生各种控制信号,顺序控制字段决定下一条微指令的地址。
⚠️ 微指令格式设计(字段位数计算)是考试高频题型,特别是给定CM容量和转移条件,计算各字段位数。务必掌握下面的编译方法和计算思路。
根据操作控制字段的编码方式,微指令有三种编译法。
直接控制法(不译码法)
操作控制字段的每一位直接对应一个微操作控制信号。某位为1就表示激活对应的控制信号,为0就不激活。可以同时激活多个信号,实现并行操作。
- 优点:不需要译码,速度快,设计简单。
- 缺点:微指令字长很长——如果有N个控制信号,操作控制字段就需要N位。
字段直接编译法(编码法)
把控制信号分成若干组(字段),每个字段内部用二进制编码来表示。比如一个字段有3位,可以编码表示 2³ = 8 个互斥的控制信号(同一时刻只能激活其中一个)。
- 优点:缩短了微指令字长。
- 缺点:需要译码器,增加了硬件开销;同一字段内的信号不能并行(互斥)。
字段间接编译法
在字段直接编译的基础上,一个字段的含义还依赖于另一个字段的值——即字段之间有层次关系。比如第一个字段选择操作类型,第二个字段在该操作类型下进一步细分。
- 优点:进一步压缩微指令字长。
- 缺点:译码电路更复杂,速度更慢。
后继地址的产生方式
确定下一条微指令地址有两种方式:
计数器方式(增量方式):用一个微程序计数器(μPC)记录当前微指令地址,每执行一条微指令自动加1。遇到转移时,把目标地址送到μPC。优点是顺序执行时下址字段可以省略(自动+1),节省空间;缺点是遇到转移需要额外处理。
判定方式(下址字段法):在微指令中直接设置一个"下址字段",存放下一条微指令的地址。优点是地址灵活,转移效率高;缺点是增加了微指令的长度。
实际设计中常把两者结合:顺序执行时用计数器自动递增,转移时用下址字段指定目标地址。
10.2.4 微指令格式设计实例
📌 这是考试的核心计算题,期中/期末都曾考过。下面通过具体例子讲解字段位数的计算方法。
题目:CM容量为 512×48位,转移条件有4个。求微指令各字段的位数。
解题思路:
- 下址字段:CM有512个单元,需要 2⁹ = 512,所以下址字段需要 9位。
- 判别测试字段:有4个转移条件,需要 2² = 4,所以判别测试字段需要 2位。
- 微命令字段(操作控制字段):总宽度48位减去下址和判别测试字段,即 48 - 9 - 2 = 37位。
答案:下址字段9位,判别测试字段2位,微命令字段37位。
解题模板:遇到这类题目,记住三个公式:
- 下址字段位数 = log₂(CM单元数)
- 判别测试字段位数 = log₂(转移条件数)
- 微命令字段位数 = 微指令总位数 - 下址字段位数 - 判别测试字段位数
10.2.5 微程序设计的步骤
📌 对应教材414页的微程序设计举例,这是本章最重要的例题。建议对照教材完整走一遍。
微程序设计可以分为四步。
第一步是分析指令:把每条机器指令分解成微操作序列,确定需要哪些控制信号。比如加法指令需要PC→MAR、1→R、M(MAR)→MDR、(ACC)+(MDR)→ACC这些控制信号。
第二步是设计微指令格式:确定操作控制字段和顺序控制字段的宽度和编码方式。操作控制字段要能表示所有需要的控制信号,顺序控制字段要能表示微程序的地址范围。
第三步是编写微程序:为每条机器指令编写对应的微程序。取指周期的微程序是所有指令共用的,执行周期的微程序因指令而异。
第四步是实现控制存储器:把微程序固化到ROM中。ROM的内容在制造时就确定了,不能修改(除非用可擦写的EPROM)。
10.2.6 微程序设计的优缺点
微程序设计最大的优点是规整性和灵活性。用程序的方法设计控制单元,逻辑清晰、容易理解;需要增加新指令时,只需要在ROM中添加对应的微程序,不需要重新设计电路;调试和维护也方便,可以通过修改微程序来修复bug。
缺点主要是速度。每条微指令都要从控制存储器读取,增加了访存时间,比组合逻辑直接产生信号要慢。另外需要额外的控制存储器,增加了硬件成本。
实际应用中,现代复杂CPU(如x86系列)通常采用微程序设计,因为指令集复杂、需要灵活扩展。而简单处理器(如一些嵌入式处理器)可能采用组合逻辑设计,追求更高的执行速度。
📝 本章小结
核心概念
- 组合逻辑设计:用组合逻辑电路直接产生控制信号,速度快但设计复杂
- 微程序设计:把控制信号存到ROM中,用读取ROM的方式产生控制信号,灵活但速度较慢
- 微指令:一组控制信号的集合
- 微程序:微指令的有序序列,一条机器指令对应一个微程序
- 控制存储器:存放微程序的ROM
- 硬布线vs微程序:硬布线速度快但设计复杂难修改,适合RISC;微程序灵活规整易修改但速度较慢,适合CISC。现代CPU常混合使用
关键术语
| 术语 | 英文 | 含义 |
|---|---|---|
| 组合逻辑 | Combinational Logic | 用逻辑电路实现 |
| 微程序 | Microprogram | 用程序实现 |
| 微指令 | Microinstruction | 控制信号的集合 |
| 控制存储器 | Control Storage | 存放微程序的ROM |
| 直接控制法 | Direct Control | 每位对应一个微命令 |
| 字段直接编译法 | Field Direct Encoding | 编码方式,需译码 |
| 下址字段 | Next Address Field | 存放下一条微指令地址 |
重点图示
[!summary] 必须掌握的图
- 组合逻辑控制单元框图
- 微程序控制单元框图
- 微指令格式图
- 取指周期的节拍安排图
🧪 例题与解析
例题1:取指周期节拍安排
题目:写出取指周期的节拍安排。
答案:
| 节拍 | 微操作 | 说明 |
|---|---|---|
| T₀ | PC → MAR, 1 → R | 地址送MAR,发读命令 |
| T₁ | M(MAR) → MDR, (PC)+1 → PC | 读指令,PC加1 |
| T₂ | MDR → IR, OP(IR) → ID | 指令送IR,译码 |
每个节拍都安排了两个可以并行的操作:T₀送地址和发读命令操作对象不同,可以同时进行;T₁读内存和PC加1一个是主存操作、一个是CPU内部操作,互不干扰;T₂送指令和译码也是类似道理。这样三个节拍就完成了取指,效率很高。
例题2:加法指令节拍安排
题目:写出加法指令 ADD X 的节拍安排。
答案:
| 节拍 | 微操作 |
|---|---|
| T₀ | Ad(IR) → MAR, 1 → R |
| T₁ | M(MAR) → MDR |
| T₂ | (ACC) + (MDR) → ACC |
ADD X 的执行周期需要三次访存操作中的两次(送地址、读数据),然后做加法。T₀送地址并发读命令,T₁等待内存响应并把数据读到MDR,T₂把累加器的值和MDR的值送到ALU做加法,结果写回累加器。如果X是间接寻址的,还需要在前面加一个间址周期。
例题3:微程序设计步骤
题目:简述微程序设计的步骤。
答案:
微程序设计的步骤:
- 分析指令:把每条机器指令分解成微操作序列,确定需要哪些控制信号
- 设计微指令格式:确定操作控制字段和顺序控制字段的宽度和编码方式
- 编写微程序:为每条机器指令编写对应的微程序,取指周期的微程序是共用的
- 实现控制存储器:把微程序固化到ROM中
这四步的核心思想是"用数据代替逻辑"——把原本需要复杂电路实现的控制逻辑,变成存储在ROM中的数据,通过读取ROM来产生控制信号。这样设计更灵活,但代价是速度稍慢。
例题4:组合逻辑与微程序比较
题目:比较组合逻辑设计和微程序设计的优缺点。
答案:
| 特性 | 组合逻辑设计(硬布线) | 微程序设计 |
|---|---|---|
| 设计方法 | 用逻辑电路直接实现 | 用程序(ROM)实现 |
| 优点 | 速度快 | 规整性好,灵活,易修改 |
| 缺点 | 设计复杂,不灵活,难修改 | 速度较慢,需要额外的ROM |
| 应用 | 简单CPU、RISC处理器 | 复杂CPU、CISC处理器 |
选择哪种方式取决于设计目标:追求极致速度就用组合逻辑,追求灵活性和可扩展性就用微程序。现代CPU往往混合使用——简单常用的指令用组合逻辑加速,复杂指令用微程序实现。
例题5:微指令格式设计
题目:设计一个简单的微指令格式,支持8种控制信号。
答案:
操作控制字段:8种控制信号,如果采用水平型编码(每位对应一个信号),需要8位。如果采用垂直型编码(用3位二进制编码选择8种信号之一),只需要3位,但一次只能激活一个信号。
顺序控制字段:需要支持顺序执行和跳转。假设微程序最多16条微指令,地址需要4位;再加1位跳转标志(是否跳转),共5位。
水平型微指令格式(16位):
- 操作控制字段:8位(每位控制一个信号,可同时激活多个)
- 顺序控制字段:4位地址 + 1位跳转标志 + 3位备用 = 8位
垂直型微指令格式(8位):
- 操作控制字段:3位(编码选择8种信号之一)
- 顺序控制字段:4位地址 + 1位跳转标志 = 5位
水平型微指令更灵活(一条指令可以同时控制多个操作),但占用更多空间;垂直型微指令更紧凑,但需要更多条微指令才能完成同样的功能。
📖 真题与作业精选
🔥 以下题目来自复习资料、期中/期末考试和课后习题,每道题都标注了来源和重要程度。考前务必全部过一遍。
真题1:微指令格式设计(字段位数计算)
📌 复习资料原题,期中/期末高频考点。掌握公式即可秒杀。
题目:CM容量为 512×48 位,转移条件有4个。计算微指令各字段的位数。
解题过程:
这道题考查的是微指令格式设计中的位数分配,关键是搞清楚三个字段各自怎么算。
下址字段——CM有512个单元,要能寻址每一个单元。512 = 2⁹,所以下址字段需要 9位。简单理解:9位二进制数刚好能表示0到511这512个地址。
判别测试字段——有4个转移条件需要判断。4 = 2²,所以判别测试字段需要 2位。2位二进制数(00、01、10、11)刚好对应4个条件。
微命令字段(操作控制字段)——剩下的位数全归它。总位数48减去下址9位再减去判别测试2位:48 - 9 - 2 = 37位。
答案:下址字段9位,判别测试字段2位,微命令字段37位。
举一反三:如果CM容量是 1024×64 位,转移条件8个,那么下址字段 = log₂(1024) = 10位,判别测试字段 = log₂(8) = 3位,微命令字段 = 64 - 10 - 3 = 51位。
真题2:微程序控制器原理(简答题)
📌 复习资料原题。这是简答题的标准答案模板,直接背下来。
题目:简述微程序控制器的工作原理。
答案:
微程序控制器的工作过程如下:
- 开机初始化:CPU开机后,将取指微程序的入口地址送入微地址寄存器。
- 取微指令:根据微地址寄存器中的地址,从控制存储器(CM)中取出当前微指令。
- 执行微操作:微指令的操作控制字段产生控制信号,驱动数据通路完成相应的微操作。
- 后继地址形成:根据微指令的顺序控制字段(下址字段),确定下一条微指令的地址。
- 循环:重复步骤2-4,直到当前机器指令对应的微程序全部执行完毕。
- 回到取指:执行完一段微程序后,自动回到取指微程序入口,开始下一条机器指令的处理。
核心思想:每条机器指令对应一段微程序,控制存储器中存放了所有指令的微程序。微程序控制器的本质就是按地址从CM中逐条取出微指令并执行,是一个"微程序级的取指-执行循环"。
真题3:微指令三种编译法
📌 复习资料原题。选择题和简答题都可能出现。
题目:说明微指令的三种编译法及其特点,并简述后继地址的产生方式。
答案:
三种编译法:
| 编译法 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| 直接控制法 | 操作控制字段每位直接对应一个微命令 | 不需译码,速度快 | 微指令字长很长 |
| 字段直接编译法 | 把控制信号分组编码,需译码器 | 缩短字长 | 同组信号互斥,不能并行 |
| 字段间接编译法 | 字段含义依赖于其他字段 | 进一步压缩字长 | 译码复杂,速度更慢 |
后继地址产生方式:
- 计数器方式(增量方式):用微程序计数器自动递增,顺序执行时效率高,转移时需要特殊处理。
- 判定方式(下址字段法):在微指令中直接给出下址,地址灵活但增加了字长。
真题4:硬布线控制器 vs 微程序控制器
📌 复习资料原题。对比题几乎是每次考试必考。
题目:比较硬布线控制器和微程序控制器的特点。
答案:
| 对比项 | 硬布线控制器 | 微程序控制器 |
|---|---|---|
| 实现方式 | 组合逻辑电路直接产生控制信号 | 控制存储器ROM存放微程序 |
| 速度 | 快(信号直接由电路产生) | 较慢(需访问CM取微指令) |
| 设计难度 | 复杂,不规整 | 规整,类似编程 |
| 可修改性 | 难修改,改指令要改电路 | 易修改,改微程序即可 |
| 适用场景 | RISC处理器 | CISC处理器 |
| 现代趋势 | 常用于简单指令的加速 | 常用于复杂指令的实现 |
补充:现代高性能CPU通常混合使用两种方式——简单常用的指令用硬布线实现以获得更高性能,复杂不常用的指令用微程序实现以降低设计难度。
课后习题10.1
📌 教材课后习题,必做。
题目:什么是指令周期、机器周期和时钟周期?三者有什么关系?
答案:
- 指令周期:从取出一条指令到执行完该指令所用的全部时间。一条指令的指令周期可能包含取指、间址、执行、中断等多个阶段。
- 机器周期:也叫CPU周期,是完成一个基本操作(如取指、取操作数)所需的时间。一个指令周期由若干个机器周期组成。
- 时钟周期:也叫节拍或T周期,是CPU时钟信号的最小时间单位。一个机器周期由若干个时钟周期(节拍)组成。
关系:时钟周期 ≤ 机器周期 ≤ 指令周期。一个指令周期包含若干机器周期,一个机器周期包含若干时钟周期。
课后习题10.2
📌 教材课后习题,必做。
题目:画出微程序控制器的组成框图,说明各部分的功能。
答案:
微程序控制器的核心组成:
| 部件 | 功能 |
|---|---|
| 控制存储器(CM) | 存放全部微程序,通常用ROM实现 |
| 微指令寄存器(CMIR) | 存放当前正在执行的微指令 |
| 微地址寄存器(CMAR) | 存放下一条微指令的地址 |
| 地址转移逻辑 | 根据判别测试字段和转移条件,修改微地址 |
| 控制信号输出 | 将微指令的操作控制字段直接作为控制信号输出到数据通路 |
工作流程:CMAR中的地址送CM读出微指令→微指令送CMIR→操作控制字段输出控制信号→顺序控制字段送地址转移逻辑→形成下一条微指令地址→送回CMAR→开始下一个周期。
⚡ 知识点速记卡
考前快速过一遍,30秒回忆整章核心 🔥 标注了考试高频考点和常见题型
两种CU设计方法:组合逻辑(硬布线,快但难改,适合RISC)vs 微程序(ROM存控制信号,灵活但慢,适合CISC)。现代CPU常混合使用。⭐ 对比题必考
组合逻辑CU三部件:操作码译码器(指令→控制信号)、节拍发生器(产生时序)、控制单元(综合输出)。
组合逻辑设计步骤:列微操作时间表→写逻辑表达式→化简→画电路。
节拍安排三原则:顺序原则(先MAR后读内存)、并行原则(不同部件可同时工作)、紧凑原则(短操作放同一节拍)。
取指周期三拍:T₀=PC→MAR+1→R,T₁=M(MAR)→MDR+(PC)+1→PC,T₂=MDR→IR+OP(IR)→ID。⭐ 每次必考
微程序核心三概念:微指令(一组控制信号)、微程序(微指令序列,一条机器指令对应一个微程序)、控制存储器CS(存微程序的ROM)。
微指令三种编译法:直接控制法(每位一个微命令,快但长)、字段直接编译法(编码,短但需译码)、字段间接编译法(字段间有依赖,更短但更慢)。⭐ 选择/简答常考
后继地址两种方式:计数器方式(自动递增,省空间)和下址字段法(直接给地址,灵活但占空间)。
微指令格式位数计算⭐⭐:下址字段=log₂(CM单元数),判别测试字段=log₂(转移条件数),微命令字段=总位数-前两者。例:512×48,4条件→9+2+37。这是最常见的计算题。
微程序控制器原理⭐⭐:开机→置取指地址→从CM取微指令→执行微操作→根据下址取下一条→循环直到指令完成→回到取指。
水平型 vs 垂直型微指令:水平型(位长,可并行多信号,快但占空间)vs 垂直型(位短,编码方式,省空间但慢)。
微程序设计四步:分析指令→设计微指令格式→编写微程序→固化到ROM。核心思想:用数据(ROM)代替逻辑(电路)。⭐ 教材414页举例是重点
选择策略:追求速度→组合逻辑(RISC),追求灵活→微程序(CISC)。现代CPU常混合使用。⭐ 对比题必考
🔗 相关链接
- 00_计算机组成原理学习指南 - 返回主目录
- 09_控制单元功能 - 上一章
- 01_计算机系统概论 - 返回第一章
📚 参考资料
- 教材:《计算机组成原理》第3版 - 唐朔飞
- 复习资料:计算机组成原理知识点总结
- 习题:作业三、作业四
- 真题来源:期中/期末考试、复习资料重点整理
本章难度:⭐⭐⭐⭐⭐ 困难 重要程度:⭐⭐⭐⭐⭐ 重点 补充版本:增加了通俗解释、实际例子、例题、真题与作业精选、考试重点标注