当前位置:首页 >> 初中教育 >>

第三章第三讲微程序控制器的微程序设计


第3章 第3讲 章 讲

微程序控制器的微程序设计

作业: 作业:
1. 认真看懂 、B、D组指令的执行步骤,你能提出什么改 认真看懂A、 、 组指令的执行步骤 组指令的执行步骤, 进或者变动的意见吗?说明每组指令各步骤完成的主要功能。 进或者变动的意见吗?说明每组指令各步骤完成的主要功能。 说明取指的两个步骤的控制信号的控制

作用。 说明取指的两个步骤的控制信号的控制作用。 2. 认真看懂 认真看懂ADD指令执行步骤的控制信号的控制作用,写 指令执行步骤的控制信号的控制作用, 指令执行步骤的控制信号的控制作用 指令执行步骤的控制信号, 出SUB、OR、AND指令执行步骤的控制信号,指出它们和 、 、 指令执行步骤的控制信号 ADD 指令使用的控制信号的区别。 指令使用的控制信号的区别。 3. 写出 JR 和 JRC 指令在执行功能、执行步骤和使用的控 指令在执行功能、 制信号方面的区别。 制信号方面的区别。 4. 写出 PUSH DR 和 POPF在指令格式、执行功能和执行步 在指令格式、 在指令格式 骤中使用的控制信号方面的区别。 骤中使用的控制信号方面的区别。 5. 总结教学计算机中确定微指令下地址的方式和在微指令字 中的具体的控制办法。 中的具体的控制办法。

控制器部件
总体要求:控制器部件的功能、组成、 总体要求:控制器部件的功能、组成、设计与实现是课程教学 中的重点难点内容,应该学得好一点。 中的重点难点内容,应该学得好一点。 1. 设计控制器的基础和依据是指令系统,包括指令的功能、 设计控制器的基础和依据是指令系统,包括指令的功能、 格式、选用的寻址方式等; 格式、选用的寻址方式等; 2. 控制器的功能和组成概述,指令的执行步骤概述等内容要 控制器的功能和组成概述, 非常清楚地理解,这是学习后续知识的指导性纲要; 非常清楚地理解,这是学习后续知识的指导性纲要; 3. 依据指令系统和计算机组成的初步设计,完成不同类型指 依据指令系统和计算机组成的初步设计,完成不同类型 不同类型指 令的执行步骤设计(分成几步,各步骤的功能和接续关系) 令的执行步骤设计(分成几步,各步骤的功能和接续关系) 是更为基础一点的内容; 是更为基础一点的内容; 4. 依据计算机的各功能部件的运行要求,设计控制器应该提 依据计算机的各功能部件的运行要求, 供给各功能部件的控制信号,是控制器设计的一个步骤; 供给各功能部件的控制信号,是控制器设计的一个步骤; 5. 设计每条指令的每一个执行步骤所用的控制信号是控制器 设计过程中最机械、费时、繁琐的一个步骤; 设计过程中最机械、费时、繁琐的一个步骤; 6. 硬连线的控制器和微程序的控制器用不同的方法提供全部 控制信号,并用不同的方法实现对自身的控制作用。 控制信号,并用不同的方法实现对自身的控制作用。 7. 指令执行过程的流水线控制是提高指令执行速度的有效措 这些内容不作为基本教学要求。 施,这些内容不作为基本教学要求。

控制器的组成
或接收新值功能。 ①程序计数器PC:存放指令地址,有+1或接收新值功能。 程序计数器 :存放指令地址, 或接收新值功能 指令寄存器IR:存放指令内容:操作码与操作数地址。 ②指令寄存器 :存放指令内容:操作码与操作数地址。 主脉冲源与启停控制线路,按需要给出主脉冲信号。 主脉冲源与启停控制线路,按需要给出主脉冲信号。 指令执行步骤标记线路: 指明每条指令的执行步骤。 ③指令执行步骤标记线路: 指明每条指令的执行步骤。 控制信号记忆或产生线路: ④控制信号记忆或产生线路:给出计算机各功能部件部 件协同运行所需要的控制信号。 件协同运行所需要的控制信号。 各部件包括 运算器部件 也包括 控制器部件 设计中的难点,在于解决对运算器、 设计中的难点,在于解决对运算器、控制器的控制 主存储器部件

总线及输入/输出接口 输入 输出设备) 总线及输入 输出接口(输入 输出设备 输出接口 输入/输出设备

每条指令的执行步骤
—读取指令 读取指令
是一次读 内存操作 指令地址送入主存地址寄存器 公共操作 读主存, 读主存,读出内容送入指定的寄存器

形 成 下 一 条 指 令 地 址

—分析指令 分析指令 —按指令规定内容执行指令 按指令规定内容执行指令
R_R类型指令 类型指令 读写内存类型指令 输入输出类型指令 其他类型指令 不同指令的操作步骤数, 不同指令的操作步骤数, 和具体操作内容差异很大, 和具体操作内容差异很大 可能执行 一次或多次 是每一条指令的特定操作 公共操作

—检查有无中断请求 检查有无中断请求
若有, 若有,则响应中断并转中断处理 若无, 若无,则转入下一条指令的执行过程

控制

控制
下 地 址
….

映射
IR

微程序 方案的 控制器
PC

存储器
存器

控制 地 址 寄 存 存 储器 器



微程序控制器实验
微指令转移 的控制条件

B 口二选一

A 口二选一

IR.DR

IR.SR

0MRW SA I8~6 B口 0SST DC2 口 0 I2~0 SB I5~3 A口 SSHSCI DC1 口

SCC Gal /SCC

微下 地址

/G
CI SCC 3~0 3~0

微指令寄存器
CP

Am2910

MAPROM

控制存储器( 控制存储器( ROM) )
读命令

指令操作码

1. 确定指令功能与格式 2. 划分指令执行步骤 3. 设计微指令内容 4. 分配微指令地址 5. 把新微指令写入控存 6. 需要时修改 MAPROM 和 SCC Gal等 7. 调试并且运行 等

下地址 8个灯 CI3~0

CI SCC 8个灯 SCC3~0

当前地址 8个灯

微程序控制器部件
2~5 21 20

19 17 4 2 40 38 36 34 8 9 11 12 14 19 16 15 12 9 6 5 2 19 16 15 12 9 6 5 2 19 16 15 12 9 6 5 2 D7 ~ D0 /CC I3~I0 31 Q7~Q0 Q7~Q0 Q7~Q0 11 11 11 CLK CLK CLK CP AM2910 6 374 273 377 1 /PL /OE /CLR 1 /MAP D7~D0 D7~D0 Y7 ~ Y0 D7~D0 7 20 18 3 1 39 37 35 33 18 17 14 13 8 7 4 3 18 17 14 13 8 7 4 3 18 17 14 13 8 7 4 3

1 13 GAL20V8
23 18~16 14 6~10 C Z /INT S /Reset IRH4~IRH0

下地址
19~15 13~11 22 /OE D7 ~ D0 20 /CE MAPROM A7 ~ A0 3~10
VCC A8 GND

CI3~0

SCC3~0

/MIO REQ /WE I2~I0 18~16 13~11 D6~D0 /CE MPROM3 A8 A7 ~ A0 25 3~10

20

19~15 13~11 D7~D0 /CE

MPROM1

20

19~15 13~11 D7~D0 /CE MPROM2 A8 A7 ~ A0 25 3~10

. 20

A8 A7 ~ A0 3~10 25

.

IRH7 ~ IRH0

.
3~10 25 A8 A7 ~ A0 20 /CE MPROM5 D7~D0 19~15 13~11 B3 ~B0 A3~A0 20

.
25 3~10 A8 A7 ~ A0 /CE MPROM6 D7~D0 19~15 13~11 SST SSH SCI 20

.
25 A8 3~10 A7 ~ A0

25

.

20

3~10 A8 A7 ~ A0

/CE

MPROM4

/CE MPROM7 D7~D0 19~15 13~11 DC23~20 DC13~10

D7~D0 19~15 13~11 SA I8~I6 SB I5~I3

接 插 件 连 接
SA I8~I6 IRH7~IRH0 SB I5~I3 /MIO REQ /WE I2~I0 1 A3~A0 B3~B0 1 SST SCI SSH 1 DC2 DC1 C Z /INT S /Reset

.

1 13

2~5 6~9 CLK GAL1 /OE 15~18 19~22

34 5789 1 2~5 6~9 CLK CLK GAL2 GAL3 /OE /OE 13 16~18 20 ~ 22 13 15~18 19~22 /MIO REQ /WE I2~I0 IRL3~IRL0 2~5

3~5 6~9 CLK GAL5 /OE 13 16~18 19~22 SST SCI SSH IRL7~IRL4

2~5 6~9 CLK GAL7 /OE 13 15~18 19~22 DC2 DC1 IRL7~IRL0

CK /GAL_OE C_/M SA I8~I6 SB I5~I3

IRH7~IRH0 18 16 14 12 9 7 5 3 1A1~1A4 2A1~2A4

7~10

7~10

2~5

IRHDRV 244
NewIns MicroP

GAL4
15 16 21 22

GAL6
15 16 21 22

1Y1~1Y4 2Y1~2Y4 2468 11 13 15 17 19 16 15 12 9 6 5 2 D7~D0 IRH 377 CLK /OE Q7~Q0 18 17 14 13 8743 IBH7~IBH0

18 16 14 12 9 7 5 3 1A1~1A4 2A1~2A4 1 1G IRLDRV 244 19 2G /ETOIB 1Y1~1Y4 2Y1~2Y4 2468 11 13 15 17 19 16 15 12 9 6 5 2 D7~D0 CLK IRL 377 /OE Q7~Q0 18 17 14 13 8743

这些插针在微程序时 应将每排右边两个短接

...... ......
两个一排/列的插针 微程序时不要短接

A3~A0 11 CK1 1 /GIR

B3~B0

11 CK1 /GIR 1

IBL7~IBL0

56位的微指令字长, 位的微指令字长, 位的微指令字长 微下地址字段16位 微下地址字段 位, 控制命令字段40位 控制命令字段 位, 7 片 28C64 组成控存。 组成控存。 1 片 28C65,从指令操 , 作码产生微地址, 作码产生微地址, 1 片 374 存 8 位下地址, 位下地址, 1 片 273 存 8 位条件码, 位条件码, 1 片377存8位现微地址。 位现微地址。 存 位现微地址 1 片Am2910给出下一条 给出下一条 微指令地址, 微指令地址, 1 片GAL 按判断条件产 生微指令转移信号/CC; 生微指令转移信号 ; 5 片GAL用作为 5 片 8位 用作为 位 触发器的寄存器, 的 D 触发器的寄存器, 2 片GAL 实现两个 位的 实现两个4 2 选 1 芯片功能。 芯片功能。 8 或 16位的指令寄存器。 位的指令寄存器。 位的指令寄存器

图6-3

16位微程序控制器线路逻辑图

/Reset PC ← 0 AR ← PC PC←PC+1 ←
A组 组

寄存器之间 运算与传送

B组 组

IR←(AR) ← /MAP
B、C、D组 、 、 组

AR←地址 ←
C组 组

读、写内存 或 I/O 接口
D组 组

读、写内存 AR←地址 ←

读、写内存 PC←地址 ←

位机的基本指令、 (2) 16 位机的基本指令、扩展指令执行流程图 )

/Reset PC ← 0 AR ← PC PC←PC+1 ←
A组 组

寄存器之间 运算与传送

B组 组

IR←(AR) ← /MAP
B、C、D组 、 、 组

AR←地址 ←
C组 组

读、写内存 或 I/O 接口
D组 组

把原来完成读取指令的那一 条微指令中的下地址字段的 CI3~CI0 从14h 修改为 02h, 则它还同时完成了依据指令 操作码读出对应的微指令。 操作码读出对应的微指令。

读、写内存 AR←地址 ←

读、写内存 PC←地址 ←

位机的基本指令、 (2) 16 位机的基本指令、扩展指令执行流程图 )

00

0→PC、关中断
01

加电启动,按RESET按钮

加电启动时, 加电启动时, 执行 0→PC → 接下来的两步, 接下来的两步, 完成取指操作 按指令操作码, 按指令操作码, 读出相应微指令 按指令具体功能, 按指令具体功能 再分别用 1、2、 、 、 3、4 步完成不同 、 指令组的中各条 指令的执行过程 最后检查中断请 求信号, 求信号,有请求 时则响应中断, 时则响应中断, 否则开始下一条 指令的执行过程

PC→AR、PC+1→PC
02 31 04 05 06 07 A组 08 09 0A 0B 0C 0D 0E 0F 10 转移 11 DR+SR→DR DR-SR→DR DR and SR→DR DR or SR→DR DR xor SR→DR DR-SR DR and SR SR→DR DR+1→DR DR-1→DR SHL DR SHR DR
判断是否转移

MEM→IR

PC→AR、PC+1→PC 3A
伪中断处理,空操作

03

/MAP

30

有中断 无中断

STR→Q、判中断

B、D组

不转移

PC+OFFSET→PC B组 R0→IO IO→R0 FLAG→MEM MEM→FLAG SR→MEM MEM→DR MEM→Q MEM→PC

PORT→AR 12 15 SP-1→SP、AR 17 SP→AR、SP+1→SP DR→AR 19 SR→AR 1B 1D PC→AR、PC+1→PC 1E PC→AR、PC+1→PC 1F PC→AR、PC+1→PC 23 SP→AR、SP+1→SP

13 14 16 PC→MEM、Q→PC 22 18 1A 1C D组 20 SP-1→SP、AR 21 24

图7-4 16位机微程序基本指令流程框图

指令执行流程表举例
下址 CI3~0 SCC3~0 0MRW 0 I2~0

ADD DR, SR IN IO-PORT
SA I8~6 SB I5~3

MVRR DR, SR CALA ADR
0 SST SSH SCI DC2 DC1

B口 B口

A口

00 00 00

E E 2

0 0 0

4 1 4

3 0 0

2 1 1

0 0 0

5 0 0

5 0 0

0 0 0

1 0 0

3 1 0

0 0 0

条微指令和 条微指令用于完成读取指令 用于完成读取指令, 第 1 条微指令和第 2 条微指令用于完成读取指令,具体操作 功能是: 功能是: PC→AR ,PC+1→PC;PC 是 R5,A口 和 B口 均选 , → → ; , 口 口 均选5, B口内容 送 B口;输出 口的内容送 寄存器。读主存, 读 口内容+1 口的内容送AR寄存器 口内容 口 输出A口的内容送 寄存器。读主存, 出内容→ 微指令都是顺序执行 顺序执行, 命令。 出内容→ IR ; 微指令都是顺序执行,故 2910选 14# 命令。 选 条微指令按读出的指令的操作码, 第 3 条微指令按读出的指令的操作码,形成相应微指令的地 读出该条微指令并将其写入微指令寄存器, 命令, 址,读出该条微指令并将其写入微指令寄存器, 2910选 2# 命令, 选 控制运算器的 I8~I6 选 001 码,保证运算器的各寄存器内容不变 无存储器和IO读写 读写, 化。 无存储器和 读写,故/MIO REQ /WE 选 100 码。

指令执行流程表举例
下址 CI3~0 SCC3~0 0MRW 0 I2~0

ADD DR, SR IN IO-PORT
SA I8~6 SB I5~3

MVRR DR, SR CALA ADR
DC2 DC1

B口 B口

A口 0 SST SSH SCI

00 00 00 30 30

E E 2 3 3

0 0 0 0 0

4 1 4 4 4

3 0 0 1 4

2 1 1 B B

0 0 0 8 8

5 0 0 0 0

5 0 0 0 0

0 0 0 1 0

1 0 0 0 0

3 1 0 0 0

0 0 0 0 0

条微指令和 第 3 条微指令和第 4 条微指令 用于完成两个累加器之间的 相加和传送操作 具体操作是: 累加器相加, 操作。 相加和传送操作。具体操作是:2 累加器相加,DR+SR→DR, → , A口和 口 编码来自指令寄存器,故SA 和 SB都给 1 值;下微指 口和B口 编码来自指令寄存器, 口和 都给 令转判中断请求, 令转判中断请求 故 2910选 3# 命令且 SCC 为 0000, 必转 30。 选 。 条微指令,完成两个累加器之间的数据传送, 第 4 条微指令,完成两个累加器之间的数据传送,累加器 SR的内容和 0相加,存入 寄存器中,不保存标志位的值,故 相加, 寄存器中, 的内容和 相加 存入DR寄存器中 不保存标志位的值, SST为000,无存储器和 IO读写。这两条微指令内容有些类似。 读写。 为 , 读写 这两条微指令内容有些类似。

指令执行流程表举例
下址 CI3~0 SCC3~0 DC1 0MRW 0 I2~0

ADD DR, SR IN IO-PORT
SA I8~6 SB I5~3

MVRR DR, SR CALA ADR
SSH SCI DC2

B口 B口

A口 0 SST

14 30

3 3

6 0

4 3

7 7

1 3

0 0

0 0

0 0

0 0

0 0

3 0

2 0

第 5、6 两条微指令完成读串行接口,具体操作是:先送 IO 、 两条微指令完成读串行接口,具体操作是: 端口地址( 寄存器AR, 端口地址( 在 IR 的低 8位)到地址寄存器 ,DC1 为 2 选 IR 位 到地址寄存器 位送内部总线, 的低 8位送内部总线,经 ALU ( 送出 D+0 )到 AR (DC2 为 3 是 位送内部总线 到 AR 接收); 指令时转 接收); 指令时转14# 微指令(下地址 3 个字段为 14 3 );IN 微指令( 6); ); 下一微指令完成读串口输入到内部总线, 下一微指令完成读串口输入到内部总线,把D+0 送到 ALU并 并 );转判中断请求 写进 R0( B 口选 0000);转判中断请求 故 CI 选 3# 且 SCC 为 ( );转判中断请求, 0000, 必转 30。 。

指令执行流程表举例
下址 CI3~0 SCC3~0 0MRW 0 I2~0

ADD DR, SR IN IO-PORT
SA I8~6 SB I5~3

MVRR DR, SR CALA ADR
DC2 DC1

B口 B口

A口 0 SST SSH SCI

00 00 00 30

E E E 3

0 0 0 0

4 1 4 0

3 7 3 2

2 0 3 2

0 0 1 0

5 0 4 5

5 0 0 5

0 0 0 0

1 0 0 0

3 0 3 0

0 0 0 1

条微指令之间顺序执行 之间顺序执行, E,依次完 后 4 条微指令之间顺序执行,前 3 条的 CI 都是 E,依次完 控制命令同读取指令的第1步 成:1. PC→AR,PC+1→ PC;(控制命令同读取指令的第 步) ; → , → ; 控制命令同读取指令的第 2. 读内存 (MRW=001) 送 Q (D+0 →Q) (子程序入口 ; 子程序入口); 子程序入口 3. 修改堆栈指针并送 , SP-1 →SP,AR;SP 是 R4,即R4 修改堆栈指针并送AR, ; , 的内容-1 接收); 的内容 → R4 和 AR ( DC2 为 3 是 AR 接收 4. 写断点( PC的内容)到堆栈 , 即 A 口指定的寄存器 (R5) 写断点( 的内容) 的内容 的内容经数据总线送到内存并写入; 的内容经数据总线送到内存并写入;子程序的入口地址 (在 Q 中) 在 的内容+0) )。下地址控制完成转向 (Q的内容 )送入 PC(B 口指定 R5)。下地址控制完成转向 的内容 ( )。 判中断请求的微指令的地址 30 处 。

8 位和 位教学机的控制器比较 位和16位教学机的控制器比较
1. 8 位和 位两种不同字长,造成教学机中运算器、 位和16位两种不同字长 造成教学机中运算器、 位两种不同字长, 存储器、数据总线、指令寄存器等字长不同; 存储器、数据总线、指令寄存器等字长不同; 2. 不同字长的指令寄存器使常规指令的字长不同,故 不同字长的指令寄存器使常规指令的字长不同, 两种机型使用不同的指令系统和不同的软件系统; 两种机型使用不同的指令系统和不同的软件系统; 3. 8 位机能支持的指令条数较少,通常还只能使用更 位机能支持的指令条数较少, 少的通用累加器; 少的通用累加器; 4. 8 位和 位机都使用 位的地址总线,故程序计数 位和16位机都使用 位的地址总线, 位机都使用16位的地址总线 和堆栈指针SP、地址寄存器AR都为 都为16位 器PC和堆栈指针 、地址寄存器 都为 位; 和堆栈指针 5. 执行 8 位机指令要使用更多的操作步骤,计算与 位机指令要使用更多的操作步骤, 传送16位地址 读写16位数据都得分成 步完成; 位地址, 位数据都得分成2步完成 传送 位地址,读写 位数据都得分成 步完成; 6. 8 位和 位机的控制器提供大体相同的控制信号。 位和16位机的控制器提供大体相同的控制信号 位机的控制器提供大体相同的控制信号。

TEC-2000 8位机指令执行流程图 位机指令执行流程图
1000 ②
R5←0 ←

1100


按RESET键 键

R4←0 ←

0000
读 取 指 令 的 步 骤

ARL←R4 ← C0, R4 ←R4+1 ARH←R5 ← R5 ←R5+C0 存 IR ← B C ARL ← 位 ARL ← 位 A D 指令

0010 0110 0111

0100
寄存器之间的 数据运算与传送 指令 指令 响应与处理 中断请求

0101 0011

寄存器之间的 数据运算与传送

ARH ← 位

0001


1111

CALL RET 1011 ARH ← 位

1001



相关文章:
微程序控制器的设计
水平型微指令格式设计 3、 24 个微命令意义 §3.2 微程序设计 编程/技术--...第三章第三讲微程序控制... 18页 免费 微程序控制器的设计与实... 18页 ...
实验三 微程序设计
实验三微程序设计 一、 实验目的: 1.掌握时序产生器的组成及工作原理;掌握微程序控制器的组成及工作原理; 2.根据给出的指令系统、微指令格式、微命令的字段译码...
微程序控制器的设计与实现
计算机原理课程设计报告 微程序控制器的设计与实现一、设计目的 1、巩固和深刻...三、设计具体要求 1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、...
微程序控制器的组成与微程序设计实验
微程序控制器的组成与微程序设计实验_电子/电路_工程科技_专业资料。实课程名称...第三章第三讲微程序控制... 18页 免费 实验四 常规型微程序控制... 暂无评价...
微程序控制器设计与调试实验报告
2.微程序控制器 根据微指令和微程序的长度,确定控制存储器需选用几片 EPROM(2716)用 位扩展方式组成。 3.微程序设计 将机器的全部指令系统采用微指令序列实现的...
微程序控制器的设计与实现
控制方式中,用指令码做为 微地址来寻址微程序存储器,找到执行该指令的微程序。...第三章第三讲微程序控制... 18页 免费 计组-微程序控制器设计报... 暂无评...
微程序控制器设计
读出一条微指令并执行微指令的时间总 和称为一个微指令周期。通常在串行方式的微程序控制器中,微指令周期就是只 读寄存器是的工作周期。控制存储器的字长就是微...
微程序控制器设计
采用微程序控制器,设计微指令的格式 操作控制字段(15 位) 下址字段(5 位) P106 操作控制字段:采用直接控制法,位数与设计的微命令的个 数一致。 如果下地址...
微程序控制器的组成与微程序设计实验报告
信息学院 实学号: 课程名称:计算机组成原理 实验性质: ①综合性实验 实验时间: 姓名: 验 报 告班级: 实验名称:微程序控制器的组成与微程序设计实验 ②设计性...
微程序控制运算器的设计
其中,自行设计的微程序计数 PC 向控制存储 器提供 8 位微地址,在控存读信号...第三章第三讲微程序控制... 18页 免费 计算机组成原理课程设计... 10页 免费...
更多相关标签:
微程序控制器 | 微程序控制器实验报告 | 微程序控制器实验 | 微程序控制器的发展 | 微程序控制器实验心得 | 微程序控制器逻辑框图 | 微程序控制 | 微程序控制器组成实验 |