Transcript 微命令

计算机组成原理第六章
知识点四:控制器设计
主讲教师:秦磊华
问题引入
指令操作流程每个步骤中所需要的控制信号到底是如何产
生的?又是如何进行同步控制保证指令功能正常执行的?
学习建议
系统观:控制信号产生与同步过程中要用到数字逻辑设
计的知识;优化控制信号的设计,能缩短指令执行时间、
提高性能。
构造观:控制信号产生与同步的实现 。
1.中央处理机的时间与控制
1) CPU内的时序体制—多级时序体制
最基本的是T周期,属于脉冲信号类型;
第二层次是CPU周期,包含多个T周期,属于电位信号;
第三层次是指令周期,包含多个CPU周期。
2) 时序产生电路
T周期、CPU周期、指令周期三级时序(硬布控制器)。
环行脉冲发生器,T周期产生电路
CPU周期发生器
3) 启停控制逻辑
T0
T1
T2
T3
&
&
&
&
0
T0
0
T2
0
T1
Q
D
保证节拍的完整性(每
0
T3
通过原始时钟周期信
Q
Cr
号 T3
R
0
T3
&
&
RST
启动
次都是从T0 ~ T3)
停机
0 来控制
2.微程序控制的基本概念
1)微命令与微操作
微命令:控制部件向执行部
件发出的各种控制命令;
微操作:执行部件收到微命
令后所进行的操作。
2) 微操作的分类
互斥性微操作:不能在同一个CPU
周期中并行执行的微操作;
相容性微操作:能在同一T周期或同
一CPU周期中并行执行的微操作;
3)互斥性的微命令
所有向总线输出的控制信号;
 +1、ADD、SUB
4) 相容性的微命令
从总线接收信息的输入命令;
5) 微指令的格式
操作控制字段
测试字段
下地址字段
操作控制字段:微命令的承载体;
测试字段:选择被测试的条件;
下地址字段:指出一段微程序中后续微指令的地址。
6)微程序控制的基本思想
仿照程序设计的基本方法,将实现指令功能所
需要的控制信号,按照一定的规则编写成若干条微指令,
构成一段微程序,并将其存入控制存储器。当机器运行
指令时,依次从控制存储器中逐条取出对应于该指令的
微指令,发出微命令控制相应部件执行规定的操作,完
成指令的功能。
微程序控制器的设计采用了存储技术和程序设计
技术,使复杂的控制逻辑得到简化,从而推动了微程序
控制器的广泛应用 。
7)指令、程序、微指令及与微程序之间的关
系
微指令
OP
微指令
微程序
指令A
微指令
指令B
指令C
OP
程序
微指令
微指令
微指令
微程序
3.微程序控制器的结构
控制存储器(简称控存) : 存放微程序。
微指令寄存器 : 存放微指令,由多个部分组成。
地址转移逻辑: 实现微程序分支。
微地址寄存器: 存放下一条微指令的地
址。
4.微指令中微命令编码方法
1)直接表示法
微指令中操作控制字段的内容
2) 字段直接译码法
每组的微命令都是互斥性微命令;
微指令字段为2位时,最多只能表示3个互斥性的微命令;
可缩短微指令的长度。
5.微程序中后续微地址的形成—多路转移
三种情况下需要实现微程序转移:
(1)取指后根据OP转移到对应于该指令的微程序入口;
(2)根据操作数的寻址方式,转移到不同的微程序入口;
(3)对于条件转移指令,通过判别测试字段P检测待测试
的“状态条件”,当测试条件满足时,就修改微地址寄
存器的部分位,实现微程序分支。
6.微程序控制器设计举例
1)对指令操作流程中的控制信号进行时间分配
T周期
(1)取指周期的控制信号同
步
操作
对应的控制信号
T0
MAR (PC) ,X  (PC)
T1
Z  ALU
T2
PC  (Z), MDR (M[MAR]) Zout=PCin= DREin=1
T3
IR  MDR
PCout =ARin=1= Xin=1,
Read整个取指周期有效
+1 有效
DRIout=IRin=1
原来的取指周期操作流程(知识点三)
序号
操作
对应的控制信号
1
MAR  (PC)
2
MEM  (MAR)
3
MDR  (M[MAR])
Read=DREin=1
4
IR ( MDR)
DRIout=IRin=1
5
X  (PC)
PCout= Xin=1
6
ALU  (X)
直接传送,不需要控制信号
7
Z  ALU
+1
8
PC  (Z)
Zout=PCin=1
PCout=ARin=1
直接传送,不需要控制信号
(2) LOAD指令执行周期控制信号时间分配
T周期
操作
对应的控制信号
T0 MAR  (IRA)
IRout=ARin=1,
Read整个取数周期有效
T1
T2
MDR(M[MAR])
DREin=1
T3
R[0]  (MDR)
DRIout=R0in=1
(3) STORE 指令执行周期控制信号时间分配
阶段
T周期
送地址
T0
T1
操作
对应的控制信号
MAR  (R[2])
R2out=ARin=1
T0
T1
MDR (R[0])
R0out=DRIin=1
T2
T3
M[R[2]]  (MDR)
DREout=Write=1
T2
T3
存数
…
2)设计微指
令
A为控制ALU执行不同操作的控制信号, 01表示 +1操作,
10表示ADD,11表示SUB ;
P 表示判别测试。
3)设计微程序并存入控存
控存
指令
地址
取指公 0000
操作
LOAD
0010
MOVE
ADD
STORE
0100
0111
1001
1010
JMP
1011
26 25 24 23 22 21 20 19
10 9 8 7 6 5 4
0 0 0 1
0 0
0 0 0 0
1 0
0 0 0 0
0 1
1 1 0 0
1 0
0 0 1 0
0 0
1 0 0 0
0 0
0 0 0 0
0 0
0 1
001
1 1
001
1 0
000
0 0
000
0 0
000
0 0
010
1 0
000
1 1
01
0 0
00
0 0
00
1 0
10
0 0
00
0 0
00
0 1
00
18 17 16 15
14 13 12 11
1 0 1 0
1 1
3 2 1
0
0000
1 0 1 0
0 0
0000
0 0 0 0
0 0
0000
0 0 0 0
1 0
0000
1 0 0 0
0 0
1010
0 1 0 1
0 0
0000
0 0 0 0
0 0
0000
01
00
00
00
00
00
00
4) 微命令的同步
分析所有指令操作流程图中的每一个控制信号;
对每个控制信号进行综合与同步。
学生所设计的微程序控制器实物
知识点四 回顾
CPU时序体制及其设计;
掌握微程序控制器的设计思想;
掌握微程序控制器的设计方法 (总线结构CPU)