第10章 控制单元的设计
( 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
AC
⑨ JMP X
T0
T1 T2 Ad ( IR ) PC
⑩ BAN X
T0
T1 T2 A0 • Ad ( IR ) + A0• PC PC
原则二
MAR
原则二
M ( MAR ) ( PC ) + 1 MDR OP ( IR )
原则三
3. 间址周期 微操作的 节拍安排
T0 T1 T2 Ad ( IR ) 1 MDR R MDR Ad ( IR ) M ( MAR ) MAR
4. 执行周期 微操作的 节拍安排
① CLA
T0
T1
T2
0
AC
② COM T0
T2
MDR
MDR 0
M(MAR)
AC AC 1
1
2. 写出微操作命令的最简表达式
M ( MAR ) MDR
= FE ·T1 + IND · T1 ( ADD + STA + LDA + JMP + BAN ) + EX · T1 ( ADD +LDA ) = T1{ FE + IND ( ADD + STA + LDA + JMP + BAN ) + EX ( ADD +LDA ) }
一、微程序设计思想的产生
1951 英国剑桥大学教授
微操作命令 1
Wilkes
微指令 1 10100000 …
完成 一条机器指令
微操作命令 2
…
微程序
微操作命令 n
一条机器指令对应一个微程序
微指令 n 00010010
存入 ROM
存储逻辑
二、微程序控制单元框图及工作原理
1、微程序控制概念
CPU
IR
PC
内部总线bus
MDR
ACC
R1
ALU
R2
(1)假设要求在取指周期由ALU 完成(PC)+ 1→PC 的操作(即ALU 可以对它的一个 源操 作数完成加 1 的运算)。要求以最少的节拍 写出取指周期全部微操作命令及节拍安排。 (2 )写出指令“ADD # α”(#为立即寻址特 征,隐含的操作数在ACC 中)在执行阶 段所需的微操作命令及节拍安排。
(2 )完成“SUB E,@H”指令所需的微操作命令及 节拍安排 取指周期
T0 PC→Bus→MAR,1→R T1 M(MAR) →MDR,(PC) + 1→PC T2 MDR→Bus→IR,OP(IR)→微操作命令形成部件
间址周期
T0 H→Bus→MAR,1→R T1 M(MAR) →MDR
执行周期
5. 中断周期 微操作的 节拍安排
T0
T1 T2
0
PC MDR
MAR
MDR M ( MAR )
1
W
硬件关中断
向量地址
PC
中断隐指令完成
例 10.1 设 CPU中各部件及其相互连接关系如图 10.1 所示。图中 W 是写控制标志,R是读控制 标志,R1 和R2 是暂存器。
W R 存储器 MAR
微操作命令形成部件
C7 C4
C. 安排微操作时序的原则
原则一 原则二 微操作的 先后顺序不得 随意 更改 被控对象不同 的微操作
尽量安排在
原则三
一个节拍 内完成
占用 时间较短 的微操作 尽量 安排在 一个节拍 内完成 并允许有先后顺序
2. 取指周期 微操作的 节拍安排
T0 T1 T2 PC 1 R MDR PC IR ID
CLK
T0 T1
T2
T3
T0 T1 T2 T3 T0 T1 T2 T3 机器周期 机器周期
二、微操作的节拍安排
采用 同步控制方式 一个 机器周期 内有
C2
3 个节拍(时钟周期)
CPU 内部结构采用非总线方式
MDR C5 C9 PC C0 MAR 时钟 C10 IR C3 C6 C1 C11
C12
AC C8 ALU 标志
0
A
n + 2 位加法器
n+1
0
Q
右移
n n+1
控制门
00,11 01 10
移位和加 控制逻辑
计数器 C GM
0
X
n+1
(1)取指阶段
T0 PC→MAR,1→R T1 M(MAR)→MDR,(PC)+ 1→PC T2 MDR→IR,OP(IR)→ID
执行阶段 乘法开始前要将被乘数由 A→X,并将乘数从主存 α单 元取出送至 Q 寄存器。因 Q15 (最末位)为附加位, 还必须0→Q15,并将A 清 0。上述这些操作可安排在 中央控制节拍内完成。乘法过程的重复加操作受 Q 寄 存器末两位 Q14、Q15 控制,重复移位操作在两个串 接的寄存器A//Q 中完成,这两种操作可安排在局部控 制节拍内完成。具体安排如下: T0 Ad(IR)→MAR,1→R,A→X T1 M(MAR)→MDR,0→Q15,0→A T2 MDR→Q0~14 (Q 寄存器仅取一位符号位) T0*
PC IR ID
T2
1 1
1
1 1
1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
I
I
1
1
IND
EX
工作 状态 周期 节拍 条件 标记
微操作命令信号
Ad (IR) 1
M(MAR)
CLA COM ADD STA LDA JMP
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
第10章
10.1 10.2
控制单元的设计
组合逻辑设计 微程序设计
10.1
1. CU 外特性
组合逻辑设计
一、组合逻辑控制单元框图
IR
n 位操作码 操作码译码
0 1
节 节 拍 拍 CLK 发 发 (机器主频) 生 生 器 器 T0 T1 Tn C0 C1
…
2 n- 1
CU
…
标志
…
Cn
2.节拍信号
时钟周期
(1)完成“ADD B,C”指令所需的微操作命令及节拍安
排
取指周期 T0 PC→Bus→MAR,1→R T1 M(MAR)→MDR,(PC)+1→PC T2 MDR→Bus→IR,OP(IR)→微操作命令形成部件 执行周期 T0 C→Bus→R1 T1 (B)+(R1)→ALU→R1 ;B 通过总线送ALU T2 R2→Bus→B
T1 M(MAR)→MDR, (PC)→Bus→ALU+1→R2
;PC 通过总线送ALU 完成 (PC)+1→R2 T2 MDR→Bus→IR, ;MDR 通过总线送IR OP(IR)→微操作命令形成部件 T3 R2→Bus→PC ;R2 通过总线送PC
(2 )立即寻址的加法指令执行周期的微操作命令及 节拍安排如下: T0 T1 T2 Ad(IR) →Bus→R1 (ACC) +(R1)→ALU→R2 R2 →Bus→ACC ;立即数→R1 ;ACC 通过总线送ALU ;结果通过总线送ACC
OP IR
微地址 形成部件
顺序逻辑 CMDR 下地址 CMAR 地址译码 标志 CLK
控制存储器
微指令基本格式 操作控制 顺序控制
M M+1 M+2 … …
M+1 M+2 ×××
微指令2 ……..
微指令i …….. 微指令n
微 程 序
2.
机器指令对应的微程序
M M+1 M+2
取指周期微程序
间址周期微程序 中断周期微程序
P P+1 P+2 K K+1 K+2 …
对应 LDA 操作的微程序
对应 STA 操作的微程序
3. 微程序控制单元的基本框图 至 CPU 内部和系统总线的控制信号
3. 画出逻辑图
FE
T1
IND
&
JMP
&
BAN
&
&
1
LDA
EX
&
ADD &
STA
&
≥1 M ( MAR) MDR
&
1 & &
特点
思路清晰,简单明了
庞杂,调试困难,修改困难 速度快 (RISC)
10.2
微程序设计
CU采用组合逻辑设计,因微操作控制信号全部由 硬件产生,所以速度快,可用于构成高速的 RISC 机和巨型机。它的缺点: (1)逻辑实现复杂 (2)不易扩展和修改。 采用微程序设计方法可克服上述缺点。它是利用 程序设计及存储逻辑的概念,称为微程序设计技 术。它解决了设计的规整性问题,它将不规则的 微操作命令变成了有规律的微程序,使控制单元 的设计更科学合理。 存储逻辑又解决了可修改问题,简化了控制器的 设计任务,即不易出错成本又较低;缺点是操作 速度比较低。
Q14Q15(A+X) + Q14Q15 (A+X+1)+Q14Q15A + Q14Q15A→A
T1*
L(A//Q)→R(A//Q) (A//Q 算术右移一位)