第十章 控制单元的1
+1
CMAR
控制存储器
地址译码
某机的微指令格式中,共有8 个控制字段,每个字段 可分别激活5、8、3、16、1、7、25、4 种控制信号。
分别采用直接编码和字段直接编码方式设计微指令的
操作控制字段,并说明两种方式的操作控制字段各取 几位。 解: (1)采用直接编码方式,微指令的操作控制字段的 总位数等于控制信号数。即 5+8+3+16+1+7+25+4=69
10.1
微操作命令信号 CLA COM ADD SAT LDA JMP Ad (IR) MAR R
T0
EX 执行
1
1 T1
M(MAR) AC
W
MDR MDR
(AC)+(MDR) AC T2
MDR
MDR 0
M(MAR)
AC AC
三、组合逻辑设计步骤
1. 列出操作时间表
工作 状态 周期 节拍 条件 标记 T0 T1
10.2
间址周期微程序 中断周期微程序 P P+1 P+2 K K+1 K+2 …
对应 LDA 操作的微程序
对应 STA 操作的微程序
2. 微程序控制单元的基本框图
至 CPU 内部和系统总线的控制信号 OP 微地址 形成部件 顺序逻辑 下地址 CMAR 地址译码 控制存储器 IR
10.2
控制形成下 一条微指令 地址
存放从控存 读出的微指 令
标志 CLK
CMDR
存放全部 微程序
欲读出的微 指令地址
微指令基本格式 操作控制 顺序控制
二、微程序控制单元框图及工作原理
M M+1 M+2 …
转执行周期微程序 转取指周期微程序
10.2
M+1 M+2
取指周期 微程序
间址周期 微程序 中断周期 微程序
… P+1 P+2
P P+1 P+2 K K+1 K+2 …
M ( MAR )
P+ 1 0100
MDR
… 0 P+2
Ad (CMDR ) CMAR 形成下条微指令地址 P+2
CM (CMAR ) 由 CMDR 发命令
形成下条微指令地址 M Ad (CMDR ) CMAR
CMDR
P+ 2
MDR
AC 0 M
0000001 …
(M
CMAR )
(3) 取指阶段
M CMAR
对应 LDA 操作的微程序
M K+1 K+2 M
对应 STA 操作的微程序
3. 工作原理
主存
控存 M M+1 M+2 … P P+1 P+2 … Q Q+1 Q+2 … M+1 M+2
10.2
取指周期 微程序
用 户 程 序
LDA ADD STA STP
X Y Z
P+1 P+2 M
Q+1 Q+2 M K+1 K+2 M …
T0 T1 T2 PC 1 R MDR PC IR ID
原则二
微操作命令 原则三 形成部件
10.1
原则二
MAR
M ( MAR ) ( PC ) + 1 MDR OP ( IR )
3. 间址周期 微操作的 节拍安排
T0 T1 T2 Ad ( IR ) 1 MDR R MDR Ad(IR) M ( MAR ) MAR
CMDR
M
PC
100
0 0 1 M+ 1 PC
CMAR CMDR
M ( MAR )CM (来自MAR )由 CMDR 发命令
( PC ) + 1 MDR
M+1
0100
…
1 0 M+ 2
形成下条微指令地址
M + 2 Ad (CMDR )
CMAR
CM (CMAR )
由 CMDR 发命令
CMDR
M+2
MDR 00100
4. 执行周期 微操作的 节拍安排
① CLA
T0
T1
10.1
非访存指令
T2
0
AC
② COM T0
T1 T2 AC AC
③ SHR T0
T1 T2 L ( AC ) AC0 R ( AC ) AC0
④ CSL
T0
10.1
R ( AC ) L ( AC ) AC0 ACn
T1 T2
⑤ STP
T0 T1 T2 0 G MAR MDR AC 1 W MAR 1 R
对应 LDA 操 作的微程序
对应 ADD 操 作的微程序
K K+1 K+2
对应 STA 操 作的微程序
3. 工作原理
(1) 取指阶段 M CMAR CM ( CMAR ) 由 CMDR 发命令
形成下条微指令地址
M + 1 Ad (CMDR )
M取指周期微程 执行取指微程序 序首地址
10.2
MAR … 1 R
(2)采用字段直接编码方式,需要的控制位少。根
据题目给出的8个控制字段及各段可激活的控制信号
数,再加上每个控制字段至少要留一个码字表示不激
CLK
T0 T1
T2
T3
T0 T1 T2 T3 T0 T1 T2 T3
机器周期 机器周期
二.微操作的节拍安排
采用 同步控制方式 一个 机器周期 内有 3 个节拍(时钟周期)
10.1
CPU 内部结构采用非总线方式
C2 M D R C5 C9 PC C0 M A R 时钟 C10 IR C3 C6 C11
10.1
微操作命令信号 CLA COM ADD SAT LDA JMP PC 1 M(MAR) ( PC ) +1 MDR OP( IR ) MAR R MDR PC IR ID IND EX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
FE 取指
…
…
CMDR 操作控制 H L
顺序控制
6. 由硬件产生微程序入口地址
第一条微指令地址 由专门 硬件 产生
中断周期
由 硬件 产生 中断周期微程序首地址
7. 后继微指令地址形成方式原理图
OP 微地址 形成部件
分支 逻辑
10.2
IR
微程序入口 标志 …
地址 选择
多路选择
控制信号 … CMDR
转移方式 下地址
工作 状态 周期 节拍 条件 标记
10.1
微操作命令信号 CLA COM ADD SAT LDA JMP
Ad (IR) 1 MAR R
T0
IND 间址 T1
M(MAR)
MDR
MDR
Ad (IR) EX
T2
IND
1
间址周期标志
三、组合逻辑设计步骤
1. 列出操作时间表
工作 状态 周期 节拍 条件 标记
3. 画出逻辑图
FE
10.1
JMP
T1
IND
&
&
BAN
&
&
1
LDA
EX
&
ADD &
STA
&
≥
&
1 & &
M ( MAR) MDR
特点
思路清晰
庞杂
简单明了
修改困难
调试困难
速度快 (RISC)
10.2 微程序设计
一、微程序设计思想的产生
1951 英国剑桥大学教授 Wilkes
微操作命令 1
1. 微指令的 下地址字段 指出 2. 根据机器指令的 操作码 形成
10.2
3. 增量计数器
( CMAR ) + 1 CMAR
4. 分支转移
操作控制字段 转移方式 转移地址
转移方式
指明判别条件
转移地址
指明转移成功后的去向
5. 通过测试网络
微指令地址 非测试地址 h 测试地址 l
10.2
测试网络
测试源
C12
AC C8 ALU 标志
C1
C7 C4
CU … …
控制 信号
…
控制信号
1. 安排微操作时序的原则
原则一 微操作的 先后顺序不得 随意 更改 原则二 被控对象不同 的微操作
10.1
尽量安排在 一个节拍 内完成
原则三 占用 时间较短 的微操作 尽量 安排在 一个节拍 内完成 并允许有先后顺序
2. 取指周期 微操作的 节拍安排
⑥ ADD X T0
T1 T2
Ad ( IR ) M ( MAR ) Ad ( IR ) AC
( AC ) + ( MDR ) MDR
⑦ STA X T0
T1 T2
MDR
M ( MAR )
⑧ LDA X
T0
T1 T2
Ad ( IR )
M ( MAR ) MDR
MAR 1
MDR
R
10.1
AC
⑨ JMP X
在微指令的操作控制字段中 每一位代表一个微操作命令
控制信号
10.2
……
下地址
操作控制
速度最快
某位为 “1” 表示该控制信号有效
2. 字段直接编码方式
将微指令的控制字段分成若干 “段” 每段经译码后发出控制信号