第四节 微程序控制器原理
3.4.1 微程序控制的基本思想
1,若干微命令编制成一条微指令,控制实现
一步操作;
2,若干微指令组成一段微程序,解释执行一
条机器指令;
3,微程序事先存放在控制存储器中,执行机
器指令时再取出。
若干微命令编制成 一条微指令,控制实现
一步操作 ;
若干微指令组成 一段微程序,解释执行 一
条机器指令 ;
3.4.2 组成原理
1.主要部件
( 1)控制存储器 CM
功能:
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
存放微程序 。
CM属于 CPU,不属于主存储器。
( 2)微指令寄存器 μIR
功能:
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
存放现行微指令 。
微命令字段,提供一步操作所需的微命令。
微地址字段,指明后续微地址的形成方式。提供微地址的给定部分。
(微操作控制字段 )
(顺序控制字段 )
( 3)微地址形成电路
功能:
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
提供两类微地址 。
微程序入口地址,由机器指令 操作码 形成。
后续微地址,由 微地址字段, 现行微地
址, 运行状态 等形成。
2.工作过程
( 1)取机器指令
CM 取指 微指令 μIR 微命令字段 译码器 微命令 主存
机器指令IR
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
取指微指令
( 2)转微程序入口
IR 操作码 微地址形成电路 入口 μAR
微命令字段
CM首条微指令
( 3)执行首条微指令
μIR
μIR 译码器
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
取指微指令
微命令 操作部件
( 4)取后续微指令
微地址字段
现行微地址
运行状态
微地址形
成电路
后续微地址 μAR
CM后续微指令μIR
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
( 5)执行后续微指令
同( 3)
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
( 6)返回
微程序执行完,返回 CM (存放 取指微指令 的
固定单元 )。
3.4.3 微指令格式和编码方法
1.格式分类
( 1)垂直型微指令
优点:
一条微指令定义并执行几种并行的基本操作。
微指令短、简单、规整,便于编写微
程序。
缺点,微程序长,执行速度慢;工作效率低。
( 2)水平型微指令
一条微指令定义并执行一种基本操作。
优点:
缺点,微指令长,编写微程序较麻烦。
微程序短,执行速度快。
( 3)混合型微指令
微指令不长,便于编写;微程序不长,执行
速度加快。
在垂直型的基础上增加一些不太复杂的并行
操作。
例,长城 203微指令
AI BI ZO AOP MOP KK ST
3 3 3 3 4 4 4
运算器
输入控
制
运算器
输出控
制
操作
类型
控制
访 M、
I/O
控制
常数 辅助
操作
2.编码方法
( 1)直接控制法
例, 某微指令
微命令按位给出。
不需译码,产生微命令的速度快;
信息的表示效率低。
C0 R W
1 1 1
C0= 0 进位初值为 0
1 进位初值为 1 R=
0 不读
1 读
0 不写
1 写W=
微指令中通常只有个别位采用直接控制法。
( 2)分段直接编译法
例,对加法器输入端进行控制。
微命令由字段编码直接给出。
000 不发命令
微指令中设置 AI字段,控制
加法器的输入选择。
加法器
A B
R,C
D,E
R,C
D,FAI
3
010 C A
100 F B…
001 R A
011 D B?
微命令分组原则:
同类操作中 互斥 的
微命令放同一字段。
不能同时出现
操作唯一;
加法器 A输入端的控制命令放
AI字段,B输入端的控制命令
放 BI字段。
加法器
A B
R,C
D,E
R,C
D,F
000 不发命令
010 C A
100 E A
001 R A
011 D A
AI BI
3 3
000 不发命令
010 C B
100 F B
001 R B
011 D B
AI,BI:
一条微指令能同时
提供若干微命令,便于组织各种操作。
编码较简单;
( 3)分段间接编译法
例,
微命令由本字段编码和其他字段解释共同给
出。
C =C A
1) 设置解释位或解释字段
解释位
1 A为某类命令
0 A为常数
2) 分类编译
按功能类型将微指令分类,分别安排各类微
指令格式和字段编码,并设置区分标志。
( 4)其他编码方法
1) 微指令译码与机器指令译码复合控制
例, 机器指令
寄存器号 寄存器传 A
微指令
译码器 译码器
001 R A
R1
A门
例,
2) 微地址参与解释
004
微地址
指令操作码
1.微程序入口地址的形成
微指令
取指标志
变址标志011
3.4.4 微地址形成方式
微程序入口功能转移
( 1)一级功能转移
各操作码的位置、位数固定,一次转换成功。
入口地址 =页号,操作码
例,
机器指令 1
0F(8位 )
入口地址 =000FH
CM
机器指令 2
10(8位 )
入口地址 =0010H
000F
0010
无条件转 微地址 1
微地址 1
微程序 1
无条件转 微地址 2
微地址 2 微程序 2
功
能
转
移
功
能
转
移
0页
( 2)二级功能转移
各类指令操作码的位置、位数不固定,
分类转:
需两
次转换。
指令类型标志 区分指令类型
功能转,指令操作码 区分操作类型
( 3)用可编程逻辑阵列 PLA实现功能转移
入口地址 1
PLA
IR
入口地址 2
2.后续微地址的形成
( 1)增量方式
以顺序执行为主,辅以各种常规转移方式。
顺序,现行微地址 +1。
跳步,现行微地址 +2。
无条件转移,现行微指令
给出转移微地址。
CM
A
A+1
A+2
B
B
条件转移,现行微指令给
出转移微地址和转移条件。
转移条件 C
C (条件满足 )
(条件不满足 )
转微子程序,现行微指令
给出微子程序入口。
D
D 微子程序
返回微主程序,现行微指
令给出寄存器号。
A+1R
R
微指令
给定后续微地址
高位部分
( 2)断定方式
由直接给定和测试断定相结合形成微地址。
给定部分 断定条件
指明后续微地址低
位部分的形成方式
例, 微指令 D(给定) A(条件)
2位位数可变微地址 10位,约定:
A=
01
10
微地址低 4位为操作码,D给定高 位;
微地址低 3位为机器指令目的寻址方式
微地址低 3位为机器指令源寻址方式
6
7
11
编码,D给定高 位;
编码,D给定高 位。7
16路
分支
8路分支
8路分支
同步控制,用统一微指令周期控制各条微指
令执行。
P
3.4.5 微程序时序安排
微指令周期
微指令
打入 μIR
二级时序:
控制数
据通路
操作
结果打
入目的
地,
读取后续
微指令
后续微
地址打
入 μAR
时钟周期
3.4.6 微程序控制方式优缺点及应用
1.优点
( 1)设计规整,设计效率高;
( 2)易于修改、扩展指令系统功能;
( 3)结构规整、简洁,可靠性高;
( 4)性价比高。
2.缺点
( 1)速度慢
访存频繁
转移较多
( 2)执行效率不高
3.应用范围
用于速度要求不高、功能较复杂的机器中。
特别适用于系列机
未充分发挥数据
通路本身具有的
并行能力
3.4.1 微程序控制的基本思想
1,若干微命令编制成一条微指令,控制实现
一步操作;
2,若干微指令组成一段微程序,解释执行一
条机器指令;
3,微程序事先存放在控制存储器中,执行机
器指令时再取出。
若干微命令编制成 一条微指令,控制实现
一步操作 ;
若干微指令组成 一段微程序,解释执行 一
条机器指令 ;
3.4.2 组成原理
1.主要部件
( 1)控制存储器 CM
功能:
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
存放微程序 。
CM属于 CPU,不属于主存储器。
( 2)微指令寄存器 μIR
功能:
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
存放现行微指令 。
微命令字段,提供一步操作所需的微命令。
微地址字段,指明后续微地址的形成方式。提供微地址的给定部分。
(微操作控制字段 )
(顺序控制字段 )
( 3)微地址形成电路
功能:
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
提供两类微地址 。
微程序入口地址,由机器指令 操作码 形成。
后续微地址,由 微地址字段, 现行微地
址, 运行状态 等形成。
2.工作过程
( 1)取机器指令
CM 取指 微指令 μIR 微命令字段 译码器 微命令 主存
机器指令IR
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
取指微指令
( 2)转微程序入口
IR 操作码 微地址形成电路 入口 μAR
微命令字段
CM首条微指令
( 3)执行首条微指令
μIR
μIR 译码器
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
取指微指令
微命令 操作部件
( 4)取后续微指令
微地址字段
现行微地址
运行状态
微地址形
成电路
后续微地址 μAR
CM后续微指令μIR
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
( 5)执行后续微指令
同( 3)
微地址
形成电路
IR
PSW
PC 微地址寄存器
μAR 控制存储器 CM
译码器
微命令序列
微命令字段 微地址字段 μIR
( 6)返回
微程序执行完,返回 CM (存放 取指微指令 的
固定单元 )。
3.4.3 微指令格式和编码方法
1.格式分类
( 1)垂直型微指令
优点:
一条微指令定义并执行几种并行的基本操作。
微指令短、简单、规整,便于编写微
程序。
缺点,微程序长,执行速度慢;工作效率低。
( 2)水平型微指令
一条微指令定义并执行一种基本操作。
优点:
缺点,微指令长,编写微程序较麻烦。
微程序短,执行速度快。
( 3)混合型微指令
微指令不长,便于编写;微程序不长,执行
速度加快。
在垂直型的基础上增加一些不太复杂的并行
操作。
例,长城 203微指令
AI BI ZO AOP MOP KK ST
3 3 3 3 4 4 4
运算器
输入控
制
运算器
输出控
制
操作
类型
控制
访 M、
I/O
控制
常数 辅助
操作
2.编码方法
( 1)直接控制法
例, 某微指令
微命令按位给出。
不需译码,产生微命令的速度快;
信息的表示效率低。
C0 R W
1 1 1
C0= 0 进位初值为 0
1 进位初值为 1 R=
0 不读
1 读
0 不写
1 写W=
微指令中通常只有个别位采用直接控制法。
( 2)分段直接编译法
例,对加法器输入端进行控制。
微命令由字段编码直接给出。
000 不发命令
微指令中设置 AI字段,控制
加法器的输入选择。
加法器
A B
R,C
D,E
R,C
D,FAI
3
010 C A
100 F B…
001 R A
011 D B?
微命令分组原则:
同类操作中 互斥 的
微命令放同一字段。
不能同时出现
操作唯一;
加法器 A输入端的控制命令放
AI字段,B输入端的控制命令
放 BI字段。
加法器
A B
R,C
D,E
R,C
D,F
000 不发命令
010 C A
100 E A
001 R A
011 D A
AI BI
3 3
000 不发命令
010 C B
100 F B
001 R B
011 D B
AI,BI:
一条微指令能同时
提供若干微命令,便于组织各种操作。
编码较简单;
( 3)分段间接编译法
例,
微命令由本字段编码和其他字段解释共同给
出。
C =C A
1) 设置解释位或解释字段
解释位
1 A为某类命令
0 A为常数
2) 分类编译
按功能类型将微指令分类,分别安排各类微
指令格式和字段编码,并设置区分标志。
( 4)其他编码方法
1) 微指令译码与机器指令译码复合控制
例, 机器指令
寄存器号 寄存器传 A
微指令
译码器 译码器
001 R A
R1
A门
例,
2) 微地址参与解释
004
微地址
指令操作码
1.微程序入口地址的形成
微指令
取指标志
变址标志011
3.4.4 微地址形成方式
微程序入口功能转移
( 1)一级功能转移
各操作码的位置、位数固定,一次转换成功。
入口地址 =页号,操作码
例,
机器指令 1
0F(8位 )
入口地址 =000FH
CM
机器指令 2
10(8位 )
入口地址 =0010H
000F
0010
无条件转 微地址 1
微地址 1
微程序 1
无条件转 微地址 2
微地址 2 微程序 2
功
能
转
移
功
能
转
移
0页
( 2)二级功能转移
各类指令操作码的位置、位数不固定,
分类转:
需两
次转换。
指令类型标志 区分指令类型
功能转,指令操作码 区分操作类型
( 3)用可编程逻辑阵列 PLA实现功能转移
入口地址 1
PLA
IR
入口地址 2
2.后续微地址的形成
( 1)增量方式
以顺序执行为主,辅以各种常规转移方式。
顺序,现行微地址 +1。
跳步,现行微地址 +2。
无条件转移,现行微指令
给出转移微地址。
CM
A
A+1
A+2
B
B
条件转移,现行微指令给
出转移微地址和转移条件。
转移条件 C
C (条件满足 )
(条件不满足 )
转微子程序,现行微指令
给出微子程序入口。
D
D 微子程序
返回微主程序,现行微指
令给出寄存器号。
A+1R
R
微指令
给定后续微地址
高位部分
( 2)断定方式
由直接给定和测试断定相结合形成微地址。
给定部分 断定条件
指明后续微地址低
位部分的形成方式
例, 微指令 D(给定) A(条件)
2位位数可变微地址 10位,约定:
A=
01
10
微地址低 4位为操作码,D给定高 位;
微地址低 3位为机器指令目的寻址方式
微地址低 3位为机器指令源寻址方式
6
7
11
编码,D给定高 位;
编码,D给定高 位。7
16路
分支
8路分支
8路分支
同步控制,用统一微指令周期控制各条微指
令执行。
P
3.4.5 微程序时序安排
微指令周期
微指令
打入 μIR
二级时序:
控制数
据通路
操作
结果打
入目的
地,
读取后续
微指令
后续微
地址打
入 μAR
时钟周期
3.4.6 微程序控制方式优缺点及应用
1.优点
( 1)设计规整,设计效率高;
( 2)易于修改、扩展指令系统功能;
( 3)结构规整、简洁,可靠性高;
( 4)性价比高。
2.缺点
( 1)速度慢
访存频繁
转移较多
( 2)执行效率不高
3.应用范围
用于速度要求不高、功能较复杂的机器中。
特别适用于系列机
未充分发挥数据
通路本身具有的
并行能力