第七章 控制器

52
1 第7 第第第 第第第 第第第 第第第 第第第 第第第 7.1 7.1 第第第第第第第第第第第第 第第第第第第第第第第第第 7.2 7.2 第第第第第第第第第第 第第第第第第第第第第 7.3 7.3 微微微微微微 微微微微微微 7.4 7.4 第第第第第第第第第第第第第第第 第第第第第第第第第第第第第第第 7.5 7.5 第第第第第第 第第第第第第 7.6 7.6 第第第第第第第第 第第第第第第第第 7.7 Pentium CPU 7.7 Pentium CPU 第第第第 第第第第 微微 微微

Upload: indira-mays

Post on 31-Dec-2015

35 views

Category:

Documents


6 download

DESCRIPTION

第七章 控制器. 7.1 控制器的组成及指令的执行 7.2 控制方式和时序的产生 7.3 微程序控制器 7.4 微程序控制器及其微程序设计举例 7.5 硬布线控制器 7.6 流水线的基本原理 7.7 Pentium Ⅱ CPU 本章小结 作业. 7.3 微程序控制器. 一、基本概念 二、微程序控制器的基本工作原理 三、微程序控制器的组成 四、微程序控制原理举例 五、微程序设计技术. 一、 基本概念. 微操作: 指令执行时必须完成的基本操作。例如, PC→AR , PC+1→ PC , RAM→IR 。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第七章   控制器

1

第第 77 章 控制器章 控制器

第七章 控制器 第七章 控制器 7.1 7.1 控制器的组成及指令的执行控制器的组成及指令的执行7.2 7.2 控制方式和时序的产生控制方式和时序的产生7.3 7.3 微程序控制器微程序控制器7.4 7.4 微程序控制器及其微程序设计举例微程序控制器及其微程序设计举例7.5 7.5 硬布线控制器硬布线控制器7.6 7.6 流水线的基本原理流水线的基本原理7.7 Pentium CPUⅡ7.7 Pentium CPUⅡ本章小结本章小结作业作业

Page 2: 第七章   控制器

2

第第 77 章 控制器章 控制器

7.3 7.3 微程序控制器微程序控制器

一、基本概念一、基本概念二、微程序控制器的基本工作原理二、微程序控制器的基本工作原理三、微程序控制器的组成三、微程序控制器的组成四、微程序控制原理举例四、微程序控制原理举例五、微程序设计技术五、微程序设计技术

Page 3: 第七章   控制器

3

第第 77 章 控制器章 控制器

一、 基本概念一、 基本概念1.1. 微操作:微操作:指令执行时必须完成的基本操作。例指令执行时必须完成的基本操作。例

如,如, PC→ARPC→AR ,, PC+1→ PCPC+1→ PC ,, RAM→IRRAM→IR 。。2.2. 微命令:微命令:是组成微指令的最小单位,也就是是组成微指令的最小单位,也就是控控

制微操作制微操作实现的控制信号。一般用于控制数据实现的控制信号。一般用于控制数据通路通路上上门的打开门的打开 // 关闭关闭,或者,或者功能选择功能选择。。

3.3. 微指令:微指令:是一组是一组微命令的集合微命令的集合,用于完成一个,用于完成一个功能相对完整的操作。功能相对完整的操作。

4.4. 微程序:微程序:微指令的有序集合微指令的有序集合,用于实现机器指,用于实现机器指令的功能。令的功能。

Page 4: 第七章   控制器

4

第第 77 章 控制器章 控制器

一、 基本概念一、 基本概念5.5.控制存储器:控制存储器:简称控存,用于简称控存,用于存放所有指令的存放所有指令的

微程序微程序,其中一个存储单元存放一条微指令。,其中一个存储单元存放一条微指令。一般为一般为 ROMROM 。。

6.6.微地址:微地址:微指令在控存中的地址。微指令在控存中的地址。7.7.微周期:微周期:指从控存中取出并执行一条微指令所指从控存中取出并执行一条微指令所

需要的时间,一般需要的时间,一般与一个机器周期相当与一个机器周期相当。。

Page 5: 第七章   控制器

5

第第 77 章 控制器章 控制器

二、微程序控制器的基本工作原理二、微程序控制器的基本工作原理一条机器指令由一段微程序来解释实现一条机器指令由一段微程序来解释实现 。 。微程序控制的计算机工作过程:微程序控制的计算机工作过程:

开机上电

产生Reset信号

置 PC 为第一条指令的地址

置 μPC 为取指令微程序段的入口地址

取指令

分析指令

执行指令

执行取指令微程序段

产生该指令的微程序入口地址

执行该指令的微程序段

Page 6: 第七章   控制器

6

第第 77 章 控制器章 控制器

三、微程序控制器的组成三、微程序控制器的组成微程序控微程序控制器的组制器的组成框图成框图

Page 7: 第七章   控制器

7

第第 77 章 控制器章 控制器

微程序控制器的构成部件微程序控制器的构成部件1.1.控制存储器控制存储器 :: 简称控存、简称控存、 CMCM ,用于存放微程序,一般,用于存放微程序,一般由由 ROMROM 构成。构成。

2.2.微地址寄存器微地址寄存器 :: 存放要访问的控存中的微指令的地址,存放要访问的控存中的微指令的地址,又称又称 μAR μAR 、、 CMARCMAR 。。

3.3.微指令寄存器微指令寄存器 :: 存放从控存中读出的微指令本身,又称存放从控存中读出的微指令本身,又称μIRμIR 。其控制字段用于产生微操作控制信号,其下址则。其控制字段用于产生微操作控制信号,其下址则送至微地址形成电路,产生下一条微指令的地址。送至微地址形成电路,产生下一条微指令的地址。

4.4.微地址形成电路微地址形成电路 :: 用于产生下一条微指令的地址。包含用于产生下一条微指令的地址。包含了指令译码器,了指令译码器,

5.5.微程序控制器中微程序控制器中 IDID 的作用是将指令寄存器中的操作码的作用是将指令寄存器中的操作码OPOP 转换成该指令的微程序入口地址。转换成该指令的微程序入口地址。

Page 8: 第七章   控制器

8

第第 77 章 控制器章 控制器

四、微程序控制原理举例四、微程序控制原理举例

(一)模型计算机系统结构(一)模型计算机系统结构(二)模型计算机数据通路(二)模型计算机数据通路(三)模型计算机控制信号(三)模型计算机控制信号(四)微指令格式(四)微指令格式(五)微程序设计举例(五)微程序设计举例

Page 9: 第七章   控制器

9

第第 77 章 控制器章 控制器

(一)模型计算机系(一)模型计算机系统结构统结构

指令译码器

微控器

Ai

IO-R

OUTPUTUNIT

IO-W

INPUTUNIT

MEM

A7-A0

M-WM-R

D7-D0

PCPC+1PC-B

B-PC

B-ARAR

IRB-IR

ALUS0S1S2S3

MCi

DA2B-DA2

DA1B-DA1

ALU-B

SP-B(R3-B)

R0-BR0B-R0R1

R3

R1-BB-R1B-R2

Ai

R2 R2-BB-SP(B-R3)

J 1

A7-A0

Page 10: 第七章   控制器

10

第第 77 章 控制器章 控制器

(二)模型计算机数据通路(二)模型计算机数据通路11 、存储器读操作、存储器读操作:分成两步::分成两步:

送地址到总线,并打入地址寄存器送地址到总线,并打入地址寄存器 ARAR ;;发送存储器读信号发送存储器读信号 M-R# =0M-R# =0 ,启动存储器读操作,,启动存储器读操作,并将读出的数据从总线上接收至目的部件(例如并将读出的数据从总线上接收至目的部件(例如某通用寄存器或者暂存器某通用寄存器或者暂存器 DA1DA1 、、 DA2DA2 )。)。

例如:取指令操作例如:取指令操作PC→ARPC→AR ,, PC+1PC+1 ;;发送发送 M-R# =0 M-R# =0 ,并,并 RAM→IRRAM→IR 。。

Page 11: 第七章   控制器

11

第第 77 章 控制器章 控制器

(二)模型计算机数据通路(二)模型计算机数据通路22 、存储器写操作:、存储器写操作:分成两步:分成两步:

送地址到总线,并打入地址寄存器送地址到总线,并打入地址寄存器 ARAR ;;送数据到总线,并发送存储器写信号送数据到总线,并发送存储器写信号 M-W# =0M-W# =0 ,启动,启动存储器写操作。存储器写操作。

33 、运算器的运算操作:、运算器的运算操作:分成三步:分成三步:送第一个数据到总线,并打入送第一个数据到总线,并打入 ALUALU 暂存器暂存器 DA1/DA2DA1/DA2

送第二个数据到总线,且打入送第二个数据到总线,且打入 ALUALU 暂存器暂存器 DA2/DA1DA2/DA1

发送运算器功能选择信号发送运算器功能选择信号 S3S3 ~~ S0S0 、、 MM 、、 CiCi ,控制,控制 AALULU 进行某种运算,并打开进行某种运算,并打开 ALUALU 输出三态门输出三态门 (ALU-B#=(ALU-B#=0)0) ,将总线上运算结果送目的部件。,将总线上运算结果送目的部件。

Page 12: 第七章   控制器

12

第第 77 章 控制器章 控制器

(三)模型计算机控制信号(三)模型计算机控制信号序号

控制信号 功能 序

号控制信号 功能

1 PC-B# 指令地址送总线 8 S3

S3- S0选择 ALU16种运算之一

2 B-AR 总线数据打入 AR 9 S2

3 PC+1 程序计数器 +1 10 S1

4 B-PC 总线数据打入 PC 11 S0

5 B-IR 总线数据打入 IR 12 M 选择逻辑运算 (1)和算数运算 (0)

6 M-W# 存储器写 13 B-DA1 总线数据打入暂存

器 DA1

7 M-R # 存储器读 14 B-DA2 总线数据打入暂存器 DA2

Page 13: 第七章   控制器

13

第第 77 章 控制器章 控制器

(三)模型计算机控制信号(三)模型计算机控制信号序号

控制信号 功能 序

号控制信号 功能

15 ALU-B#

运算器 ALU 内容送总线 22 R1-B # R1 内容送总线

16 Ci ALU 进位输入 23 R2-B # R2 内容送总线

17 B-R0 总线数据打入 R0 24 R3-B # R3 内容送总线

18 B-R1 总线数据打入 R1 25 I/O-W

#写(输出) I/O 端

19 B-R2 总线数据打入 R2 26 I/O-W

#读(输入) I/O 端

20 B-R3 总线数据打入 R3 27 Ai # 端口地址线

21 R0-B # R0 内容送总线 28 J1# 指令译码器译码

Page 14: 第七章   控制器

14

第第 77 章 控制器章 控制器

(四)微指令格式(四)微指令格式

微指令的微指令的控制字段控制字段 2828 位,一位表示一个微命令。位,一位表示一个微命令。微指令的微指令的下址字段下址字段指出下一条微指令的地址,该模指出下一条微指令的地址,该模型机的控制存储器地址是型机的控制存储器地址是 77 位,表示最多有位,表示最多有 128128 个个单元,每个单元(单元,每个单元( 28+7=3528+7=35 位)。 位)。

1 2 27 28 29 35

控制字段 下址字段

PC-B# B-AR Ai# J1#

Page 15: 第七章   控制器

15

第第 77 章 控制器章 控制器

(五)微程序设计举例(五)微程序设计举例微程序设计步骤:微程序设计步骤:

1)1) 根据数据通路,根据数据通路,写出每条指令的执行过程写出每条指令的执行过程,画,画出微程序流程图。出微程序流程图。

2)2) 写出每条微指令所写出每条微指令所发出的微操作控制信号发出的微操作控制信号。。3)3) 按照微指令格式,按照微指令格式,编写每条微指令的代码编写每条微指令的代码。。4)4) 对照指令的执行流程图,对照指令的执行流程图,分配微指令的地址分配微指令的地址5)5) 将写好的微指令按分配好的微地址将写好的微指令按分配好的微地址装入控制存装入控制存

储器储器。。

Page 16: 第七章   控制器

16

第第 77 章 控制器章 控制器

(五)微程序设计举例(五)微程序设计举例假设存放在存储器中的二条指令内容为:假设存放在存储器中的二条指令内容为:

地址地址 机器码机器码 助记符助记符 功能功能

04H04H 0101 00000101 0000 ADD RADD R00, ,

06H06H (R(R00)+06H)+06HRR0005H05H 0000 01100000 0110 (立即数)(立即数)06H06H 1000 00001000 0000

JMP 04HJMP 04H 04H04HPCPC07H07H 0000 01000000 0100 (转移地址)(转移地址)

Page 17: 第七章   控制器

17

第第 77 章 控制器章 控制器

11 、指令执行过程、指令执行过程ADD RADD R

00, 06H, 06H

取指令:取指令:M1 (M1 ( 送存储器地址送存储器地址 )) :: PCPCAR, PC+1AR, PC+1

M2 (M2 ( 读存储器,指令译码读存储器,指令译码 )) :: MEMMEM IR,J1# IR,J1#

执行指令:执行指令:M3M3 (取源操作数-送地址):(取源操作数-送地址): PCPCAR, PC+1AR, PC+1

M4M4 (取源操作数-读):(取源操作数-读): MEMMEM DA1 DA1

M5M5 (取目的操作数): (取目的操作数): R0R0DA2DA2

M6M6 (计算并置结果):(计算并置结果): DA1+DA2DA1+DA2RdRd

Page 18: 第七章   控制器

18

第第 77 章 控制器章 控制器

11 、指令执行过程、指令执行过程JMP ADDRJMP ADDR取指令:取指令:

M1 (M1 ( 送存储器地址送存储器地址 )) ::PCPCAR, PC+1AR, PC+1M2 (M2 ( 读存储器读存储器 ,, 指令指令译码译码 )) :: RAMRAMIR, JIR, J1#1#

执行指令:执行指令:M4M4 (取操作数-送地(取操作数-送地址):址): PCPCAR, PC+AR, PC+11M5M5 (取操作数-读):(取操作数-读):RAMRAM PC PC

Page 19: 第七章   控制器

19

第第 77 章 控制器章 控制器

22 、指令执行时产生的微操作序列、指令执行时产生的微操作序列序号 功能 发送控制信号

取指令

( 1) PC→AR,PC+1 PC-B#,B-AR,PC+1,

( 2) MEM→IR M-R#,B-IR,J1#

ADDADD

( 1) PC→AR,PC+1 PC-B#,B-AR,PC+1,

( 2) MEM→DA1 M-R#,B-DA1

( 3) R0→DA2 R0-B#,B-DA2

( 4) DA1+DA2→R0 S3~S0,M,Ci=100101,ALU-B#,B-R0

JMPJMP( 1) PC→AR,PC+1 PC-B#,B-AR,PC+1,

( 2) MEM→PC M-R#,B-PC#

Page 20: 第七章   控制器

20

第第 77 章 控制器章 控制器

33 、指令的微程序代码:、指令的微程序代码: ADDADD

(1)

(2)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

(1)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

(2)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

(3)

(4)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

0 1

35

35

35

35

35

35

1

0

0 1 1

0 1

1 0

01 0 0 1 10 1

控制位 下址

0 0 0 0 0 1 0

× × ×× × × ×

取指令

执行指令

当前微地址01H

02H

20H

04H

05H

06H

0 0 0 0 1 0 0

0 0 0 0 1 0 1

0 0 0 0 1 1 0

0 0 0 0 0 0 1

图7.13 ADD指令的微指令

1 0

Page 21: 第七章   控制器

21

第第 77 章 控制器章 控制器

33 、指令的微程序代码:、指令的微程序代码: JMPJMP

(1)

(2)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

(1)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

(2)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

0 1

35

35

35

35

1

0

0 1 1

0

控制位 下址

0 0 0 0 0 1 0

× × ×× × × ×

取指令

执行指令

当前微地址01H

02H

21H

07H

0 0 0 0 1 1 1

0 0 0 0 0 0 1

图7.14 JMP指令的微指令

0

1 0

Page 22: 第七章   控制器

22

第第 77 章 控制器章 控制器

44 、为微指令分配微地址、为微指令分配微地址01H

02H

20H 21H

07H04H

05H

06H

Page 23: 第七章   控制器

23

第第 77 章 控制器章 控制器

五、微程序设计技术五、微程序设计技术采用微程序设计的采用微程序设计的目的目的::缩短微指令字长;缩短微指令字长;减少控制存储器的容量;减少控制存储器的容量;微程序的执行速度;微程序的执行速度;易于微指令的修改;易于微指令的修改;增加微程序设计的灵活性。增加微程序设计的灵活性。

微指令由两部分构成:微指令由两部分构成:控制字段:控制字段:指出微指令的功能,表示要发送的微命令指出微指令的功能,表示要发送的微命令下址字段:下址字段:用于指出下一条微指令的地址。用于指出下一条微指令的地址。

Page 24: 第七章   控制器

24

第第 77 章 控制器章 控制器

五、微程序设计技术五、微程序设计技术

(一)控制字段的编码方法(一)控制字段的编码方法

(二)下址字段的设计方法(二)下址字段的设计方法

(三)微指令格式的类型(三)微指令格式的类型(四)控制存储器和动态微程序设计(四)控制存储器和动态微程序设计(五)毫微程序设计(五)毫微程序设计

Page 25: 第七章   控制器

25

第第 77 章 控制器章 控制器

(一)控制字段的编码方法(一)控制字段的编码方法11 、直接控制法:、直接控制法:微指令的控制字段中,每一位代表一微指令的控制字段中,每一位代表一个微命令(控制信号),在设计微指令时,如果要发个微命令(控制信号),在设计微指令时,如果要发出某个微命令则将控制字段中对应位置有效信号,即出某个微命令则将控制字段中对应位置有效信号,即打开对应控制门。打开对应控制门。

优点:优点:无需译码,执行速度快;微程序较短。无需译码,执行速度快;微程序较短。缺点:缺点:微指令字长很长,占用控存容量大。微指令字长很长,占用控存容量大。

22 、全译码方式:、全译码方式:将所有的控制信号进行编码,作为控将所有的控制信号进行编码,作为控制字段。在执行微指令时,译码产生各个微命令。制字段。在执行微指令时,译码产生各个微命令。

优点:优点:微指令字长很短。微指令字长很短。缺点:缺点:并行操作能力弱,微程序很长,执行速度慢并行操作能力弱,微程序很长,执行速度慢

Page 26: 第七章   控制器

26

第第 77 章 控制器章 控制器

(一)控制字段的编码方法(一)控制字段的编码方法33 、字段直接编译法 :、字段直接编译法 :将控制字段分成若干段,每段将控制字段分成若干段,每段通过编码通过编码 // 译码对应到各个控制信号。译码对应到各个控制信号。优点:并行操作能力较强,字长较短优点:并行操作能力较强,字长较短分段原则是:分段原则是:相斥性微命令分在同一字段内,相容性相斥性微命令分在同一字段内,相容性微命令分在不同字段内微命令分在不同字段内。。前者可以提高信息位的利用前者可以提高信息位的利用率,缩短微指令字长;后者有利于实现并行操作,加率,缩短微指令字长;后者有利于实现并行操作,加快指令的执行速度。快指令的执行速度。 相斥性微命令:相斥性微命令:指在同指在同一个微周期中一个微周期中不可能不可能同同时出现的微命令时出现的微命令。。相容性微命令:相容性微命令:指在同指在同一个微周期中可以同时一个微周期中可以同时出现的微命令出现的微命令

Page 27: 第七章   控制器

27

第第 77 章 控制器章 控制器

(一)控制字段的编码方法(一)控制字段的编码方法44 、字段间接编译法 :、字段间接编译法 :某字段的编码含意,除了其本某字段的编码含意,除了其本身的编码外,还需要由另一字段来加以解释。也就是身的编码外,还需要由另一字段来加以解释。也就是说,某一字段所产生的微命令,是和另一字段的代码说,某一字段所产生的微命令,是和另一字段的代码联合定义出来的。 联合定义出来的。

优点:进一步缩短微指令字长 优点:进一步缩短微指令字长 例如:模型机的微指令格式定义例如:模型机的微指令格式定义 (24(24 位位 ))

M23:21M23:21

(( 33 ))M20:18M20:18

(( 33 ))M17:15M17:15

(( 33 ))M14M14(1)(1)

M13:8M13:8

(( 66 ))M7M7(1)(1)

M6:0M6:0

(( 77 ))BTOBTO OTBOTB FUNCFUNC FSFS S3:0 M CiS3:0 M Ci 空空 MA6:0 MA6:0

直接控制法

Page 28: 第七章   控制器

28

第第 77 章 控制器章 控制器

模型机微指令字段编码表 模型机微指令字段编码表

编码 + 译码 BTO OTB

FUNC

FS=1 FS=0

000 空 空 PC+1 空001 B-DA1(t4) ALU-B# (t2) J 1# (t2) M-W# (t3)

010 B-DA2(t4) 299-B# (t2) J 2# (t2) M_R# (t2)

011 B-IR(t3) SR-B# (t2) J 3# (t2) I/O-W# (t3)

100 B-DR(t4) DR-B# (t2) J 4# (t2) I/O_R# (t2)

101 B-SP( t4) SI-B# (t2)* J5# (t2) INT_R# (t2)

110 B-AR(t3) SP-B# (t2)* CyCn# (t2) INT_E# (t2)

111 B-PC# (t4) PC-B# (t2) CyNCn# (t2)

字段间接编译法

字段直接编译法

Page 29: 第七章   控制器

29

第第 77 章 控制器章 控制器

(二)下址字段的设计方法(二)下址字段的设计方法微指令中下址字段的结构和后继微指令地址的微指令中下址字段的结构和后继微指令地址的形成方法有关,又称为微程序流的控制。形成方法有关,又称为微程序流的控制。后继后继微指令地址获得方法有三种:微指令地址获得方法有三种:a)a)根据机器指令操作码产生该指令对应的根据机器指令操作码产生该指令对应的微程序入口微程序入口地址地址(通过指令译码散转);(通过指令译码散转);

b)b)由下址字段指出下一微地址,或由下址字段指出下一微地址,或顺序+顺序+ 11 ;;c)c)根据上一条微指令执行结果来判断微指令转移还是根据上一条微指令执行结果来判断微指令转移还是顺序执行微指令,即实现顺序执行微指令,即实现微程序分支微程序分支。。

Page 30: 第七章   控制器

30

第第 77 章 控制器章 控制器

(二)下址字段的设计方法(二)下址字段的设计方法11 、微程序入口地址的产生、微程序入口地址的产生22 、后继微地址的产生 、后继微地址的产生 33 、模型机微地址的产生举例、模型机微地址的产生举例

Page 31: 第七章   控制器

31

第第 77 章 控制器章 控制器

11 、微程序入口地址的产生、微程序入口地址的产生根据机器指令的操作码转移到其对应的微程序根据机器指令的操作码转移到其对应的微程序入口地址,通常称为入口地址,通常称为操作码映射操作码映射。。这是一种多分支情况,也就是指令译码,通常这是一种多分支情况,也就是指令译码,通常采用以下两种方法来实现这种转移。采用以下两种方法来实现这种转移。映射映射 ROMROM ::简称简称 MAPROMMAPROM ,该,该 ROMROM 中存放的中存放的是指令的微程序入口地址。是指令的微程序入口地址。以指令的操作码为地以指令的操作码为地址址,访问该,访问该 MAPROMMAPROM 单元,读出的内容即是该单元,读出的内容即是该指令的微程序入口地址。指令的微程序入口地址。逻辑电路:逻辑电路:以指令的操作码作为输入变量,通过以指令的操作码作为输入变量,通过组合逻辑电路,产生的输出变量即为指令的微程组合逻辑电路,产生的输出变量即为指令的微程序入口地址。序入口地址。

Page 32: 第七章   控制器

32

第第 77 章 控制器章 控制器

22 、、后继微地址的产生后继微地址的产生每条微指令执行完毕,都必须根据要求产生后继微指每条微指令执行完毕,都必须根据要求产生后继微指令地址。方法有两种:令地址。方法有两种:(( 11)计数器方式)计数器方式::在微程序控制器单元中设置一个在微程序控制器单元中设置一个微程序计数器微程序计数器 μPCμPC ,,用于保存用于保存后继微指令地址后继微指令地址。。

在顺序执行微指令时,后继微指令地址由现行微在顺序执行微指令时,后继微指令地址由现行微地址地址 11 (即(即 μPC μPC ++ 11 )来产生。)来产生。遇到转移时,由微指令给出转移地址,使微程序遇到转移时,由微指令给出转移地址,使微程序按新的微地址顺序执行。 按新的微地址顺序执行。 微指令格式:微指令格式: 控制字段控制字段 BAFBAF BCFBCF

Page 33: 第七章   控制器

33

第第 77 章 控制器章 控制器

(( 11 ))计数器方式计数器方式

BAFBAF :转移地址字段,:转移地址字段,用于给出用于给出微指令转移的部分微指令转移的部分微地址微地址。。 BAFBAF 一般位数少,将它送到一般位数少,将它送到 μPCμPC 的若干低的若干低位或高位形成后继微地址。 位或高位形成后继微地址。 BCFBCF ::转移控制字段,用来确定后继微地址是顺序转移控制字段,用来确定后继微地址是顺序执行还是条件转移。执行还是条件转移。

当条件成立时,微程序转移,将当条件成立时,微程序转移,将 BAFBAF 送送 μPCμPC ;否则顺序;否则顺序执行下一条微指令(执行下一条微指令( μPCμPC++ 11 )。)。转移控制字段转移控制字段 BCFBCF 应当能够定义各种后继微地址来源。应当能够定义各种后继微地址来源。假设,在微程序中有顺序执行、无条件转移、条件转移、假设,在微程序中有顺序执行、无条件转移、条件转移、测试循环、转微子程序和微子程序返回测试循环、转微子程序和微子程序返回 66 种情况,再加上种情况,再加上指令散转至相应的微程序入口地址,则转移控制字段指令散转至相应的微程序入口地址,则转移控制字段 BCFBCF用用 33 位编码位编码上述上述 77 种情况。 种情况。

•优点是微指令字较短,便于编写微程序,后继微地址产生机构比较简单;

•缺点是执行速度低,微程序在控制存储器中的物理分配不方便,需合理安派、调整

Page 34: 第七章   控制器

34

第第 77 章 控制器章 控制器操作码 地址码 IR

指令译码器

μ PC

控制存储器

控制字段 BAF BCF

译码器

1+

0 1

转移控制电路

2 3 4 5

条件满足

外部条件

返回地址寄存器

6

开机置微地址初值

Page 35: 第七章   控制器

35

第第 77 章 控制器章 控制器

(( 22))判定方式(下址字段法)判定方式(下址字段法)

微指令格式:微指令格式:控制字段控制字段 判别测试字段判别测试字段 下址字段下址字段

微指令格式中必须设置一个下址字段,用来指明下一条要执行的微指令地址,所以也称为下址字段法。当微程序不产生分支时,后继微指令地址直接由微指令的下址字段给出;当微程序出现分支时,按判别测试字段和状态条件通过逻辑电路来形成后继微地址。由于每一条微指令至少都是一条无条件转移微指令,因此不必设置专门的转移微指令。

•优点是可以实现快速多路分支,以提高微程序的执行速度,微程序在控制存储器的物理分配方便,微程序设计灵活;

•缺点是微指令字长,形成后继微地址的结构比较复杂

Page 36: 第七章   控制器

36

第第 77 章 控制器章 控制器

微地址散转及修改电路

μ AR

控制存储器

控制字段 测试 下址

开机置微地址初值

状态标志

操作码 地址码 IR

Page 37: 第七章   控制器

37

第第 77 章 控制器章 控制器

33 、模型机微地址的产生举例 、模型机微地址的产生举例 模型机微程序控制器结构模型机微程序控制器结构模型机微程序入口地址的产生方法:逻模型机微程序入口地址的产生方法:逻辑电路辑电路模型机后继微地址的产生方法:下址字模型机后继微地址的产生方法:下址字段法段法模型机后继微地址转移控制部件模型机后继微地址转移控制部件

合二为一

Page 38: 第七章   控制器

38

第第 77 章 控制器章 控制器举例:模举例:模型机微程型机微程序控制器序控制器结构结构

Page 39: 第七章   控制器

39

第第 77 章 控制器章 控制器

模型机微程序控制器结构模型机微程序控制器结构后继微地址的产生方法:后继微地址的产生方法:下址字段法下址字段法。。控存中的控存中的 2424 位微码读出后,在位微码读出后,在 T2T2节拍,节拍,高高 1717 位送微位送微指令寄存器指令寄存器 µIRµIR保存并译码,保存并译码,低低 77 位(下址字段)则位(下址字段)则送控存地址寄存器送控存地址寄存器。。在在 T4T4节拍,由后继微地址转移控制部件发出节拍,由后继微地址转移控制部件发出微地址修微地址修改信号改信号 SE6#SE6# ~~ SE0#SE0# ,对控存地址寄存器中保存的下,对控存地址寄存器中保存的下址进行修改址进行修改 (SEi#=0(SEi#=0 ,则,则 11→ → MAi)MAi) ,作为后继微地址,作为后继微地址后继微地址转移控制部件后继微地址转移控制部件根据判别测试字段根据判别测试字段 FUNCFUNC 发发出的转移控制信号出的转移控制信号 J1J1 #~#~ J5J5 ##,结合指令操作码,结合指令操作码 OPOP及目前的运算结果状态及目前的运算结果状态 FZFZ 、、 FCFC ,开关,开关 K2K2 、、 K1K1状状态和中断态和中断 INTINT状态,来发送微地址修改信号状态,来发送微地址修改信号 SE6SE6 #~#~SE0SE0 #,#,以决定如何修改下址字段所提供的微地址以决定如何修改下址字段所提供的微地址,产,产生后继微地址。生后继微地址。

Page 40: 第七章   控制器

40

第第 77 章 控制器章 控制器

模型机后继模型机后继微地址转移微地址转移控制部件控制部件

J 2I 3I 2

J 3

K2K1

J 4FCFZ

J 5

I NT

T4

J 1I 7I 6

I 5

I 4

I 3

I 2

SE3

SE2

SE1

SE0

SE5

SE4

SE6

+5

+5

Page 41: 第七章   控制器

41

第第 77 章 控制器章 控制器

• 模型机后继微地址转移控制逻辑模型机后继微地址转移控制逻辑 (J1(J1 ## ))

J1#=0J1#=0 时,时,根据指令的操作码(根据指令的操作码( OPOP )) I7I7 ~~ I4I4 进行散转进行散转,产,产生该条指令的微程序入口地址。散转规则:生该条指令的微程序入口地址。散转规则:

当当 II77II66=11=11 时时 (( 即指令格式三的指令即指令格式三的指令 )) ,则,则 SE5#=0SE5#=0 ,,即即 11→→MAMA55 ,,并且:并且:

若若 II55=1=1 ,,则则 SE3#=0SE3#=0 ,,即即 11→→MAMA33 ;;若若 II44=1=1 ,,则则 SE2#=0SE2#=0 ,,即即 11→→MAMA22 ;;若若 II33=1=1 ,,则则 SE1#=0SE1#=0 ,,即即 11→→MAMA11 ;;若若 II22=1=1 ,,则则 SE0#=0SE0#=0 ,,即即 11→→MAMA00 ;;

当当 II77II66≠≠1111 时时 (( 即指令格式一和格式二的指令即指令格式一和格式二的指令 ) ) ,则:,则:若若 II77=1=1 ,,则则 SE3#=0SE3#=0 ,,即即 11→→MAMA33 ;;若若 II66=1=1 ,,则则 SE2#=0SE2#=0 ,,即即 11→→MAMA22 ;;若若 II55=1=1 ,,则则 SE1#=0SE1#=0 ,,即即 11→→MAMA11 ;;若若 II44=1=1 ,,则则 SE0#=0SE0#=0 ,,即即 11→→MAMA00 ;;

Page 42: 第七章   控制器

42

第第 77 章 控制器章 控制器

• 模型机后继微地址转移控制逻辑模型机后继微地址转移控制逻辑 (J2#)(J2#)

当当 J2#=0J2#=0 时,时,根据指令操作码根据指令操作码 I3I2I3I2 进行散转进行散转,转移至相应,转移至相应指令的微程序段。指令的微程序段。

主要应用于格式二的机器指令主要应用于格式二的机器指令,即含寻址方式码(,即含寻址方式码( MODMOD )的格)的格式。该指令格式中, 式。该指令格式中, I7I6I7I6 为第一操作码,通常是指令格式二的为第一操作码,通常是指令格式二的特征码,特征码, I5I4I5I4 为寻址方式码(为寻址方式码( MODMOD ),), I3I2I3I2 为指令的第二操作为指令的第二操作码,用于区分格式二的四条指令。码,用于区分格式二的四条指令。在这些指令的微程序实现中,通常在这些指令的微程序实现中,通常首先根据首先根据 I7I7 ~~ I4I4 进行进行 J1J1 #散#散转,转,转移至相应的寻址方式微程序段(主要功能是计算有效地址转移至相应的寻址方式微程序段(主要功能是计算有效地址EAEA ););然后进行第二次的然后进行第二次的 J2J2 #散转#散转,转移至不同的机器指令的,转移至不同的机器指令的微程序段(实现指令的功能)。微程序段(实现指令的功能)。散转规则:散转规则:

II33=1=1 时,则时,则 SE1#=0SE1#=0 ,,即即 11→→MAMA11 ;;II22=1=1 时,则时,则 SE0#=0SE0#=0 ,,即即 11→→MAMA00 ;;

Page 43: 第七章   控制器

43

第第 77 章 控制器章 控制器

• 模型机微地址转移控制逻辑模型机微地址转移控制逻辑 (J3#(J3# 、、 J4#J4# 、、 J5#)J5#)

J3#=0J3#=0 时,时,根据开关根据开关 K2K2 、、 K1K1 状态进行转移状态进行转移;主要;主要应用于控制台操作指令。散转规则:应用于控制台操作指令。散转规则:

KB=0KB=0 时,则时,则 SE1#=0SE1#=0 ,,即即 11→→MAMA11 ;;KA=0KA=0 时,则时,则 SE0#=0SE0#=0 ,,即即 11→→MAMA00 ;;

J4#=0J4#=0 时,时,根据条件根据条件 FCFC 或或 FZFZ 进行转移进行转移;主要应用;主要应用于条件转移指令于条件转移指令 JZCJZC 或或 JZJZ 或或 JCJC 。散转规则:。散转规则:

FC=1FC=1 时,则时,则 SE1#=0SE1#=0 ,,即即 11→→MAMA11 ;;FZ=1FZ=1 时,则时,则 SE0#=0SE0#=0 ,,即即 11→→MAMA00 ;;

J5#=0J5#=0 时,时,根据中断请求信号根据中断请求信号 INTINT 是否有效是否有效,确定,确定转移。散转规则:转移。散转规则:

INT=1INT=1 时,则时,则 SE5#=0SE5#=0 ,,即即 11→→MAMA55 ;;

Page 44: 第七章   控制器

44

第第 77 章 控制器章 控制器

• 模型机微地址转移控制逻辑举例模型机微地址转移控制逻辑举例以第六章所介绍的模型机指令系统(以第六章所介绍的模型机指令系统( P185P185 ))为例,写出为例,写出所有机器指令的所有机器指令的 J1J1 ##散转的微程序入口地址。假设取指散转的微程序入口地址。假设取指令微程序中进行令微程序中进行 J1J1 ##散转的微指令的下址字段为散转的微指令的下址字段为 1010HH ==0010000B0010000B 。 。指令 操作码 微程序入

口地址指令 操作码 微程序入

口地址MOV 0000 10H 直接寻址 1000 18H

ADD 0001 11H 间接 1001 19H

SUB 0010 12H 变址 1010 1AH

AND 0011 13H 相对 1011 1BH

RRC 0100 14H IN 110000 30H

INC 111101 3DH OUT 110001 31H

DEC 111110 3EH CALL 110010 32H

CLR 111111 3FH RET 110011 33H

Page 45: 第七章   控制器

45

第第 77 章 控制器章 控制器

• 模型机微地址转移控制逻辑举例模型机微地址转移控制逻辑举例对于指令格式二的四条指令,通过对于指令格式二的四条指令,通过 J1J1 ##散转到寻址方散转到寻址方式的微程序入口地址后,各自计算有效地址式的微程序入口地址后,各自计算有效地址 EAEA ;;之之后均进行二次的后均进行二次的 J2J2 ##散转,假设进行散转,假设进行 J2J2 ##散转的微散转的微指令的下址字段为指令的下址字段为 4040HH == 1000000B1000000B ,,则格式二的四则格式二的四条指令的微程序入口地址为:条指令的微程序入口地址为:

指令 操作码 微程序入口地址LDA 00 40H

STA 01 41H

JMP 10 42H

JZC 11 43H

Page 46: 第七章   控制器

46

第第 77 章 控制器章 控制器

(三)微指令格式的类型(三)微指令格式的类型不同的计算机有不同的微指令格式,但一般分为不同的计算机有不同的微指令格式,但一般分为水平型微指令和垂直型微指令两种类型。 水平型微指令和垂直型微指令两种类型。

(( 11 )水平型微指令)水平型微指令微指令字采用长格式,也就是微指令字采用长格式,也就是控制字段采用直接控制控制字段采用直接控制法和字段直接编码法法和字段直接编码法,使一条微指令能控制数据通路,使一条微指令能控制数据通路中多个功能部件并行操作。中多个功能部件并行操作。 水平型微指令的水平型微指令的优点优点是:一条微指令可同时发送多个是:一条微指令可同时发送多个微命令,微指令执行效率高,微命令,微指令执行效率高,速度快速度快,较灵活,,较灵活,并行并行操作能力强操作能力强;水平型微指令构成的;水平型微指令构成的微程序较短微程序较短。它的。它的主要主要缺点缺点是:是:微指令字长较长微指令字长较长,明显地增加了控制存,明显地增加了控制存储器的横向容量。储器的横向容量。

Page 47: 第七章   控制器

47

第第 77 章 控制器章 控制器

(三)微指令格式的类型(三)微指令格式的类型(( 22 )垂直型微指令 )垂直型微指令

控制字段采用完全编码的方法控制字段采用完全编码的方法,将一套微命令代码,将一套微命令代码化构成微指令。就像计算机机器指令一样,化构成微指令。就像计算机机器指令一样,它由微它由微操作码、源地址和目标地址以及其他附带信息构成操作码、源地址和目标地址以及其他附带信息构成垂直型微指令垂直型微指令和机器指令一样分成多种类型的微指和机器指令一样分成多种类型的微指令,所有微指令构成一个令,所有微指令构成一个微指令系统微指令系统。。主要特点主要特点:微指令字采用短格式,:微指令字采用短格式,每每条微指令只能条微指令只能控制一二个微操作,控制一二个微操作,并行控制能力差并行控制能力差。。但但由于微指由于微指令和机器指令格式相类似,对于用户来说,垂直型令和机器指令格式相类似,对于用户来说,垂直型微指令微指令比较直观,容易掌握和便于使用。微指令字比较直观,容易掌握和便于使用。微指令字短短,减少了横向控制存储器的容量,减少了横向控制存储器的容量;但;但微程序长,微程序长,影响了执行的速度影响了执行的速度。。

Page 48: 第七章   控制器

48

第第 77 章 控制器章 控制器

(四)控制存储器和动态微程序设计(四)控制存储器和动态微程序设计 控制存储器:控制存储器:一般由一般由 ROMROM 构成构成,因为指令系统一般是,因为指令系统一般是固定的,微程序是解释执行指令的,因此固定的,微程序是解释执行指令的,因此微程序一般也微程序一般也是固定的是固定的,所以使用只读存储器来存放微程序。 ,所以使用只读存储器来存放微程序。 动态微程序设计:在一台微程序控制的计算机中,假如动态微程序设计:在一台微程序控制的计算机中,假如能根据用户的要求改变微程序能根据用户的要求改变微程序,那么这台机器就具有动,那么这台机器就具有动态微程序设计功能。态微程序设计功能。

具有动态微程序设计功能的控制器的具有动态微程序设计功能的控制器的 CMCM 必须是可改写的存必须是可改写的存储器储器,如,如 RAMRAM 或者或者 EE22PROMPROM 。。动态微程序设计动态微程序设计可以通过修改微程序来可以通过修改微程序来实现不同的指令系统实现不同的指令系统,,或者或者实现指令系统的扩充或调整实现指令系统的扩充或调整。。 动态微程序设计的目的是使计算机能更灵活、更有效地适应动态微程序设计的目的是使计算机能更灵活、更有效地适应于各种不同的应用场合。于各种不同的应用场合。

Page 49: 第七章   控制器

49

第第 77 章 控制器章 控制器

(五)(五)毫微程序设计毫微程序设计 将垂直型微指令设计和水平型微指令设计结合起来,采将垂直型微指令设计和水平型微指令设计结合起来,采用两级微程序用两级微程序来实现指令系统:来实现指令系统:第一级为第一级为垂直微程序垂直微程序::用来用来解释机器指令解释机器指令,称为微,称为微程序并程序并存放在称为微程序存储器的控存存放在称为微程序存储器的控存(一级控(一级控存)存)中。中。第二级为第二级为水平微程序水平微程序,用来,用来解释垂直微指令解释垂直微指令,并产,并产生相应微命令,实现数据通路的控制。由于它是解生相应微命令,实现数据通路的控制。由于它是解释微程序的微程序,所以称为毫微程序,释微程序的微程序,所以称为毫微程序,存放在称存放在称为毫微程序存储器的控存为毫微程序存储器的控存(二级控存)(二级控存)中中。 。 毫微程序设计使得微程序流的控制和微命令发出完毫微程序设计使得微程序流的控制和微命令发出完全分离,全分离,微程序流控制由微程序级实现(垂直型微微程序流控制由微程序级实现(垂直型微指令)指令),,而微命令则由毫微程序产生而微命令则由毫微程序产生(水平(水平型微指型微指令令)。)。

Page 50: 第七章   控制器

50

第第 77 章 控制器章 控制器

微地址散转及修改电路

μ微地址寄存器 AR

控制存储器(微程序存储器)

下址

操作码 地址码 IR

μ OP

毫微地址寄存器

控制存储器(毫微程序)

毫微指令寄存器

微命令

垂直微指令寄存器

水平微指令寄存器

毫微程序控制器结构毫微程序控制器结构 返回

Page 51: 第七章   控制器

51

第第 77 章 控制器章 控制器

作业作业P243: P243: 1,2,3,4,61,2,3,4,69,10,11,12,13,15,16,17,189,10,11,12,13,15,16,17,18

Page 52: 第七章   控制器

52

第第 77 章 控制器章 控制器