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

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


第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 微程序控制器实验(微程序设计) 课程设计指导教师评定成绩表分 值 优...
微程序控制器的设计与实现
控制方式中,用指令码做为 微地址来寻址微程序存储器,找到执行该指令的微程序。...第三章第三讲微程序控制... 18页 免费 计组-微程序控制器设计报... 暂无评...
微程序设计
19 5 作者姓名: (微程序设计) 课程设计正文 一、总体设计( )本次课程设计的内容为基于微程序控制器的基本原理,设计并实现相应指令格式 及编码,并实现各指令的...
微程序控制器的设计与实现
计算机原理课程设计报告 微程序控制器的设计与实现一、设计目的 1、巩固和深刻...三、设计具体要求 1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、...
微程序控制器的概述
引入到控制器的设计中, 即把一条指 令看作是由一个微指令系列组成的微程序...第三章第三讲微程序控制... 18页 免费 微程序控制器 25页 1下载券 微程序...
微程序
ECS系统微程序设计实验 1. 实验目的 了解微程序控制器的组成、运行原理,深入...第三列是为 AM2910 选定的命令码。 第四列是在本条微指令字的下地址字段 ...
控制程序的微程序设计
第三章第三讲微程序控制... 18页 免费 动态参数控制的植物光自... 暂无评价...控制系统的微程序设计 一、概述 微程序控制器的定义: 把控制子系统中的每一个...
微程序控制器的组成与微程序设计实验报告
信息学院 实学号: 课程名称:计算机组成原理 实验性质: ①综合性实验 实验时间: 姓名: 验 报 告班级: 实验名称:微程序控制器的组成与微程序设计实验 ②设计性...
微程序控制器设计与调试实验报告
2.微程序控制器 根据微指令和微程序的长度,确定控制存储器需选用几片 EPROM(2716)用 位扩展方式组成。 3.微程序设计 将机器的全部指令系统采用微指令序列实现的...
微程序控制器综合设计
微程序放在控制存储器中,取指令和分析指令属公用的微程序段,执行指令则不 同指令对应不同的微程序字段,到控制器的那个单元取指令,其地址在 uPC 中,而 uPC 的...
更多相关标签:
微程序控制器 | 微程序控制器实验报告 | 微程序控制器实验 | 微程序控制器实验心得 | 微程序控制器组成实验 | 微程序控制 | 微程序控制器原理 | 微程序控制的基本思想 |