3.2 模型机流水微程序控制器设计
3.2.1 模型机流水微程序控制器设计部分一、教学目的
⑴ 融会贯通计算机组成与体系结构课程各章教学内容,通过知识的综合运用,加深对
CPU 各模块工作原理及相互联系的认识。
⑵ 掌握流水微程序控制器的设计方法。
⑶ 培养科学研究能力,取得设计和调试的实践经验。二、实验设备
三、调试与设计任务
1.设计一个流水微程序控制器,和 TEC-8 模型计算机的数据通路结合在一起,构成一个完整的 CPU,该 CPU 要求:
⑴ 能够完成控制台操作:启动程序运行、读存储器、写存储器、读寄存器和写寄存器。控制台操作不要求流水。
⑵ 能够执行本章 3.1 节表 3.1 中的指令,完成规定的指令功能。
3.根据指令系统,编写检测流水微程序控制器正确性的测试程序,并用测试程序对流水微程序控制器在单拍方式下进行调试,直到成功。
4.在调试成功的基础上,整理出设计文件,包括:
⑴ 流水微程序控制器指令周期流程图
⑵ 微指令代码表
⑶ 5 个控制存储器 E2PROM 的二进制代码文件
⑷ 测试程序
⑸ 设计说明书
⑹ 调试总结
四、设计提示
1.流水微程序控制器参考流程图
微指令格式见第 2 章第 2.6 节图 2.16。流水微程序控制器参考流程图见图 3.2。
00
SEL3 = 0 SEL2 = 0
SEL1 = 1 SEL0 = 1 P0
CLR#=0
SWC SWB SWA 100
写寄存器
011
读寄存器
P0
010
读存储器
001
写存储器
000
取指
IR7-IR4 0001
ADD
0010
SUB
0011
AND
0100
INC
0101
LD
0110
ST
0111
JC
1000
JZ
1001
JMP
1110
STP
21 22 23 24 25 26
27 28 29 2E
S = 1001 CIN
S = 0110 ABUS
M
S = 1011
S = 0000 ABUS
M M
S = 1010 S = 1111
P2 P3
M S=1111
STSOTOPP
ABUS
DRW LDZ LDC
LIR PCINC
DRW
LDZ LDC
LIR PCINC
ABUS DRW LDZ
LIR PCINC
DRW LDZ LDC
LIR PCINC
ABUS
LAR
0E
MBUS DRW
ABUS
LAR
10
M
S = 1010
ABUS
P2 C=0
12
C=1
P3
Z=0
13
Z=1
ABUS
LPC
P1 P1
P1 P1
LIR PCINC P1
MEMW
LIR PCINC P1
LIR PCINC P1
PCADD
图 3.2 流水微程序控制器参考流程图
2.画出微指令代码表
根据流水微程序控制器流程图和微指令格式,可以画出微指令代码表。在微指令代码表中,每行表示一条微指令,每列表示某个控制信号的值,控制信号的排列顺序与微指令格式一致。对控制信号,只标出为 1 的值即可。微指令代码表的形式如表 3.4。
表 3.4 微指令代码表
微地址
|
PCADD
|
SELCTL
|
SEL3
|
……
|
LPC
|
PCINC
|
DRW
|
P4
|
P3
|
P2
|
P1
|
P0
|
NµA5
|
NµA4
|
NµA3
|
NµA2
|
NµA1
|
NµA0
|
00H
|
|
|
|
|
|
|
|
|
|
|
|
1
|
|
|
|
|
|
1
|
01H
|
|
|
|
|
|
1
|
|
|
|
|
1
|
|
1
|
|
|
|
|
|
02H
|
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
|
03H
|
|
1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
|
……
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. 生成 2 进制文件
根据微指令代码表生成 5 个 2 进制文件,每个 2 进制文件的长度必须是 64 个字节。
4. 修改控制存储器 E2PROM
将编程切换开关拨到编程位置,利用串口调试助手,使用 5 个 2 进制文件重新对控制存储器编程。编程结束后,将编程切换开关和 DZ11 拨到正常位置,。
5.对流水微程序控制器进行调试
五、设计报告要求
1.流水微程序控制器流程图。
2.微指令代码表。
3.测试程序
4.写出调试中出现的问题、解决办法、验收结果。
5.写出设计、调试中遇到的困难和心得体会。
3.2.2 实验报告记录