微命令寄存器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16位
SB-ALU
SA
16位
SB
Rseet
LDSB
RA0 读选择 RA1 RA0 RA1 写选择
1个微指令周期
1 us 读ROM
500ns ALU
2us
m1
m2
MOV R2 , R3 指令
1 0 X X 1
R
(R2)+(R3) → R3
0
W
1
LDSA
0
LDSB
0
SB-AW
0
SB-ALU
0
Reset
SUB MOV
R2
SA+SB
SA
R3
R2
SB
R1
SB
SA-SB
R3
SA+SB
R1

5.5 微程序设计技术
设计微指令结构应当追求的目标
(1)有利于缩短微指令字长度;
(2)有利于减小控制存储器的容量;
(3)有利于提高微程序的执行速度; (4)有利于对微指令的修改; (5)有利于微程序设计的灵活性。
5.5.1 微指令编码
(2)水平型微指令执行一条指令的时间短;垂 直型微指令执行的时间长。
(3)由水平型微指令解释指令的微程序,有微 指令字较长而微程序短的特点;垂直型微指令 则相反,微指令字比较短而微程序长。 (4)水平型微指令用户难以掌握;而垂直型微 指令比较相似,相对来说,比较容易掌握。
5.5.4 动态微程序设计
2. 增量方式与断定方式结合:
微指令顺序控制部分分为:条件选择字段和转移地址字段。
转移地址
外部 条件 打入
外部地址
MUX
μPC
控制存储器
条件选择

CM
条件 转移地址
μIR …
控制字段(可编码)
3.多路转移方式: 多路转移 一条微指令具有多个转移分支的能力称为多路转移。
例如:“取指” 微指令根据操作码 OP 产生多路微程 序分支而形成多个微地址。
CS SS IP 总接接口单元 BIU
ALU
8088 CPU 内部 结 构 图
状态标志
80486 CPU 内部结构图
32位 数据总线 数据总线 32位 64位数据总线 线性地址总线 32位 32位 32位 BE0-BE3
地址驱动器
桶形移位器 寄存器堆
基址/变址 总线 32位
段管理部件 描述符 寄存器 边界/属性 PLA
SA-SB
R3
SA+SB
R1
7. 10XX10100000LDSB 16位 8. XX1101001011
0 0 0

0
1
X
X
1
R
0
W
0
LDSA
1
LDSB
0
SB-AW
RA0 RA1
WA0 WA1
W
4个通用寄存器
SB-ALU Reset
RA0 读选择 RA1 RA0 RA1 写选择

0
1
2
WA0 WA1
3
4
R
5
W
6
LDSA
7
LDSB
8
SB-AW
9
SB-ALU
10
Reset
11

RA0 RA1
取指


微 程 序 代 码
测试 MOV
R2 SA R3 SA
SUB
ADD
ADD
R0 SA
1. 00XX10100000 2. 01XX10010000 3. XX0101001001 4. 11XX10100000 5. 10XX10010000 6. XX1101000101 7. 10XX10100000 8. XX1101001011
R2
SB
R1
SB
SUB MOV
4. 11XX10100000 Rseet 5. 10XX10010000 SB 6. XX1101000101
16位
SA-SB
R3
SA+SB LDS R1A
R
X X 1 1 0
R
7. 10XX10100000 RA0 读选择 8. XX1101001011
1
Reset
把直接表示法与字段编码法相混合使用。
5.5.2 微地址的形成方法 产生后继微地址有如下三种方法: 1.计数器方式: ①在顺序执行微指令时,后继微地址由现行微地址加 上增量来产生。 ②在非顺序执行微指令时,必须通过转移方式,使现行 微指令执行后,转去执行指定后继微地址的下一条微指 令。在这种方法中,微地址寄存器通常改为计数器。 为此,顺序执行的微指令序列就必须安排在控制 存储器的连续单元中。 特点:微指令的顺序控制字段较短,微地址产生机构简 单。但多路并行转移功能较弱,速度较慢,灵活 性较差。
0

RA0 RA1
WA0 WA1
取指 指 ALU 令 SUB 微 程 序 代 码
测试 MOV
R2 SA R3 SA
ADD
16位
R0 SA
1. 00XX10100000 16位 ADD S B-ALU 2. 01XX10010000 SB-ALU 3. XX0101001001
SA
0
SA+SB
SB
R3
程序设计技术有两种:
1. 静态微程序设计: 对应与一台计算机的机器指令只有一组微程序, 而且这一组微程序设计好之后,一般无需改变而且 也不好改变,这种微程序设计技术称为静态微程序 设计。 2. 动态微程序设计:
当采用EPROM作为控制存储器时,还可以通 过改变微指令和微程序来改变机器的指令系统,这 种微程序设计技术称为动态微程序设计。
控制字段
判别测试字段
下地址字段
2.垂直型微指令:微指令中设置微操作码字段,采用微操作
码编译法,有微操作码规定微指令的功能,称为垂直型微指令。
垂直型微指令
例: (1)寄存器-寄存器传送指令 15 13 12 0 0 0 原寄存器编码 8 7 3 目标寄存器编码 2 其他 0

水平型微指令编码长,但执行一条指令的时间短
WA0 WA1
取指 指 令 微 程 序 代 码 ALU
测试 MOV
R2 SA R3 SA
SUB
ADD
R0 SA
0
SA+SB
SB
R3
R2
SB
R1
SB
1. 00XX10100000 ADD 2. 01XX10010000 16位 3. XX0101001001 SB-ALU SB-ALU 16位 4. 11XX10100000 SUB 5. 10XX10010000 Rseet SB 6. XX1101000101 SA
MOV
LDSA R
SA-SB
R3
SA+SB
R1
7. 10XX10100000 LDSB 16位 8. XX1101001011
0 0 0

0
1
X
X
1
R
0
W
0
LDSA
1
0
SB-AW
RA0 RA1
WA0 WA1
W
4个通用寄存器
SB-ALU Reset
LDSB
RA0 读选择 RA1 RA0 RA1 写选择
■ 在多路转移方式中,当微程序不产生分支时,后 继微地址直接有微指令的顺序控制字段给出; ■ 当微程序产生分支时,有若干“后选”微地址可 供选择:即按顺序控制字段的“判别测试”标志和 “状态条件”信息来选择其中一个微地址。 特点:能以较短的顺序控制字段配合,实现多路并行 转移,灵活性好,速度快。但转移地址逻辑需要用组 合逻辑方法设计。
树形逻辑网络 N
M1
… M i T1 … Ti
节拍电位/节拍 脉冲发生器
2。指令执行流程
启动 取指节拍 M1 CLA
PC DBUS AR DR PC+1
一个微指令周期对应一个节拍电位
ABUS IR
ADD
STA
JMP
IR PC
NOP
M2
0
AC
IR
AR
IR
AR
PC AR
AR
ABUS
AR
ABUS
M3
DBUS
DR ALU
DR
ALU AC
AC
DR
DR
DBUS
M2,M3 执行节拍
3。微操作控制信号的产生
在硬布线控制器中,某一微操作控制信号由布尔代 数表达式描述的输出函数产生。
? 硬布线控制

微程序控制的比较
硬布线控制的速度快,主要取决于电路的延迟
硬布线控制的硬件复杂,灵活性差。
微程序控制 灵活性好,结构简单
LDSB
1
W
W0
LDSA
4个通用寄存器
0
LDSB
1
SB-AW
0
SB-ALU
RA1 RA0 写选择 RA1 1

RA0 RA1
WA0 WA1

ADD R0 , R1 指令 完成 (R0)+(R1) → R1
0 0 X X 1
R
0
W
1
LDSA
0
LDSB
0
SB-AW
0
SB-ALU
0
Reset
0

RA0 RA1
微命令
5.4.6 机器指令 微指令

与 关系
微命令寄存器
控 制 存储器
地址译码
微地址寄存器 OP
1、一条机器指令对应一个微程序,这个微程序 是由 若干条微指令序列组成的。 指令寄存器 IR 数据缓冲寄存器DR 2、从指令与微指令,程序与微程序,地址与微 地址的一一对应来看,前者与内存储器有关,后 者与控制存储器有关。 3、指令周期中的每一个CPU周期对应着一条微 指令。 程序计数器PC
7
LDSB
8
SB-AW
9
SB-ALU
10
Reset
11

RA0 RA1
要求:用二进制代码写出如下指令的微程序
(1) “ADD R0,R1” (2) “SUB R2,R2” (3)”MOV R2,R3”
ALU
16位
SB-ALU (1) “ADD R0,R1” (2) “SUB R2,R2” (3)”MOV R2,R3” LDSA R W 4个通用寄存器
SB
R1
SB
1. 00XX10100000 ADD 2. 01XX10010000 16位 XX0101001001 SB-ALU SB3. -ALU 16位 4. 11XX10100000 SUB 5. 10XX10010000 Rseet SB 6. XX1101000101 SA
MOV
LDSA R5.5.3源自微指令格式微指令格式大体分为两大类:
水平型微指令
垂直型微指令
1.水平型微指令: 一次能定义并执行多个并行操作微命 令的微指令,叫做水平型微指令。
水平型微指令又分为三种:
第一种是全水平型(不译码)微指令
第二种是字段译码法水平型微指令; 第三种是直接和译码混合的水平型微指令
水平型微指令的一般格式如下:

ADD R0 , R1 指令 完成 (R0)+(R1) → R1
X X 0 1 0
R
1
W
0
LDSA
0
LDSB
1
SB-AW
0
SB-ALU
0
Reset
1

RA0 RA1
WA0 WA1
取指 指 令 微 程 序 代 码 ALU
测试 MOV
R2 SA R3 SA
SUB
ADD
R0 SA
0
SA+SB
SB
R3
R2
(2)运算控制指令 15 13 12
0 0 1 左输入源编码
8
7
3 右输入源编码
2 ALU
0
(3)访问主存微指令 15 13 12 0 1 0 (4)条件转移微指令 15 13 12 0 0 1
8
寄存器编码
7
3
存储器编码
2
读写
1
0
其他
4 D
3
0 测试条件
3. 水平型微指令

垂直型微指令的比较
(1)水平型微指令并行操作能力强,效率高, 灵活性强;垂直型微指令则较差。
地址译码
地址寄存器AR
+1
读 控 R 1 1 1 1 RA0 0 0 1 1
制 RA1 0 1 0 1 选择 R1 R1 R2 R3 W 1 1 1 1
写 控 WA0 0 0 1 1
制 WA1 0 1 0 1 选择 R0 R1 R2 R3
0
X
X
不读出
0
X
X
不写入
0
1
2
WA0 WA1
3
4
R
5
W
6
LDSA
5.6 硬布线控制器
1。基本思想
逻辑电路是一种由门电路和触发器构成的复杂树形逻辑 网络,成为硬布线控制器
图示:硬布线控制器结构框图
结果反馈信息 B1 … Bf I1 指令 … 译码器 Im 指令寄存器 启动 停止 时钟 复位 微操作控制信号 C1 … Cn
某一微操作信号

C=f(Im,Mi,Tk,Bj)
微指令编码:对微指令中操作控制字段采用的表示方法。 通常有三种方法: 直接表示法、编码表示法、混合表示法
(1)直接表示法 特点:操作控制字段中的每一位代表一个微指令。 优点:简单直观,其输出直接用于控制。 缺点:微指令字较长,使控制存储器容量较大。
微指令

译码

译码
P1 P2 Pn

……
……
译码
字段1
字段2 顺序控制
P字段
下一个微地址
顺序控制
字段直接译码法
(2)编码表示法
指令字段
微指令信号
3: 8 译 码
X X X
编码表示法:把一组互斥性的微指令 信号组成一个小组(即一个字段),然后通过小组译 码器对每一个微命令信号进行译码,译码输出作为操 作控制信号。 特点:可用较少的二进制信息位表示较多的微指令 信号。 优点:可使微指令字大大缩短。 缺点:由于增加了译码电路,使微程序的执行速 度变慢。 (3)混合表示法
微程序控制 速度 慢于 硬布线控制,原因是微程序 控制中每一条微指令都要从控存中读一次,影响了速度。
5.7 传统CPU
指令流字节排队器
4 3 2 1
控制总线 C-BUS ∑
总 线 接 口
地址总线
锁存器
数据总线
ES DS
操作 控制器
A-BUS
AH BH CH DH SP BP SI DI AL BL CL DL
页管理 部件
PCD PWT PCD 20位
Cache
管理部件
ALU
TLB
(32)页
8KB cache
写缓冲器 4*80 数据总线 收/发器 总线控制 请求序列 发生器
成组总线控制 总线大小控制
A2-A31 D0-D31
预取部件 浮点运算 部件 (FPU) 控制和保 护部件 32字节代 码队列 2*16字节
相关文档
最新文档