JUC2课程设计44887教程文件.docx
《JUC2课程设计44887教程文件.docx》由会员分享,可在线阅读,更多相关《JUC2课程设计44887教程文件.docx(34页珍藏版)》请在冰点文库上搜索。
JUC2课程设计44887教程文件
JUC2课程设计44887
计算机组成原理课程设计报告
JUC2模型机的微程序设计
姓名
学号
专业
计算机科学与技术
指导教师
肖铁军
江苏大学计算机学院
2014年6月30日
1熟悉微程序的设计和调试方法
1.1目标要求
(1)掌握微程序的设计方法
(2)熟悉利用调试软件运行、调试微程序的方法
1.2微程序设计
1.2.1取指令的微程序设计
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
000
20080001
1
0
0
0
2
0
0
0
0
001
PCoe,ARce
001
00069002
0
0
0
0
1
2
1
1
0
002
ARoe′,RD,DRce′,PCinc
002
CC000003
6
3
0
0
0
0
0
0
0
003
DRoe,IRce
003
00000404
0
0
0
0
0
0
0
0
2
004
BM2
1.2.2取目的操作数的微程序设计
(1)直接寻址的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
02C
20080033
1
0
0
0
2
0
0
0
0
033
PCoe,ARce
033
00069034
0
0
0
0
1
2
1
1
0
034
ARoe′,RD,DRce′,PCinc
034
C0080035
6
0
0
0
2
0
0
0
0
035
DRoe,ARce
035
00061036
0
0
0
0
1
2
0
0
0
036
ARoe′,RD,DRce′
036
D4000007
6
4
0
0
0
0
0
0
0
007
DRoe,TRce
1.2.3执行阶段的微程序设计
(1)INC指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
071
1A700E50
0
0
9
3
0
0
0
4
0
050
INC,SVce,PSWce
(2)保存运算结果的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
050
68000200
3
2
0
0
0
0
0
0
0
051
Soe,GRSce
051
60030052
3
0
0
0
0
3
0
0
0
052
Soe,DRce
052
00052200
5
0
0
0
0
1
0
2
0
000
ARoe,DRoe’,WR
(3)JMP指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
070
A4000200
5
1
0
0
0
0
0
0
1
000
ARoe,PCce
1.3调机程序设计
程序11
0030:
0460;INC0040H
0031:
0040;
0032:
0420;JMP0030H
0033:
0030;
程序1-2
0030:
0460;INCFF02H
0031:
FF02;
程序1-3
0030:
0480;DECR0
1.4运行调试
运行调试记录表举例:
1.5小结
通过本次上机试验,我掌握了微指令编码与指令编码的翻译方法,而且对取指令等操作的过程中各个寄存器的变化有了更加清晰的了解。
2双操作数指令的设计与调试
2.1目标要求
完成双操作数指令的微程序设计和验证;去源操作数阶段和去目的操作数阶段相关寻址方式的微程序设计和验证,
2.2设计任务
2.2.1取源操作数
(1)立即寻址
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
004
00000A08
0
0
0
0
0
0
0
0
0
008
BM=5
00B
20080012
1
0
0
0
2
0
0
0
0
012
PCoe,ARce
012
00069016
0
0
0
0
1
2
1
1
0
016
ARoe’,RD,DRce’,PCinc
016
D0000006
6
4
0
0
0
0
0
0
0
006
DRoe,TRce
(2)直接寻址
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
00C
20080013
1
0
0
0
2
0
0
0
0
008
PCoe,ARce
013
00069014
0
0
0
0
1
2
1
1
0
012
ARoe’,RD,DRce’,PCinc
014
C0080015
0
0
0
0
1
2
1
1
0
016
DRoe,ARce
015
00061016
6
4
0
0
0
0
0
0
0
006
DRoe,TRce
(3)间接寻址
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
00D
20080017
1
0
0
0
2
0
0
0
0
017
PCoe,ARce
017
00069018
1
0
0
0
2
0
0
0
0
018
ARoe’,RD,DRce’,PCinc
018
C00800119
6
0
0
0
2
0
0
0
0
019
DRoe,ARce
019
00061014
6
4
0
0
0
0
0
0
0
006
ARoe’,RD,DRce’,
2.2.2取目的操作数
(1)寄存器寻址
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
028
54000007
2
5
0
0
0
0
0
0
0
006
GRSoe,Ace
(2)寄存器间接寻址
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
029
40080035
2
5
0
0
0
0
0
0
0
035
GRSoe,Ace
035
00061036
6
4
0
0
0
0
0
0
0
036
ARoe’,RD,DRce’,
036
D4000007
6
5
0
0
0
0
0
0
0
007
DRoe,Ace
2.2.3执行阶段
(1)MOV指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
041
94000040
6
5
0
0
0
0
0
0
0
040
DRoe,Ace
040
00300E50
0
0
0
3
0
0
0
0
0
050
SVce,
(2)SUB指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
044
98F00E50
4
6
3
3
0
0
0
0
0
050
TRoe,SUB,SV,PSWce
2.3调机程序设计
程序2-1,2-2
0030:
1620;MOV#0101,0040H
0031:
0101;
0032:
0040;
0033:
4620;SUB#FFFF,0040
0034:
FFFF;
0035:
0040
程序2-3
0030:
1801;MOVFF08H,R1
0031:
FF08;
0032:
1060;MOVR1,FF02H
0033:
FF02;
程序2-4
0030:
4A20;SUB(0020H),0040H
0031:
0020;
0032:
0040;
0040:
0003
程序2-5
0030:
1608;MOV#0101(R0)
0031:
0101;
2.4调试结果
2.5小结
通过本次上机实验,我掌握了mov指令与sub指令的程序设计,并且也初步了解LED灯的相关的知识点。
3条件转移指令的设计与调试
3.1设计目标
为CPU扩充转移指令,完成转移指令的微程序设计与调试。
3.2设计任务
3.2.1取目的操作数
(1)相对寻址
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
02F
2008003D
1
0
0
0
2
0
0
0
0
03D
PCoe,ARce
03D
0006903E
0
0
0
0
1
2
1
1
0
03E
ARoe’,RD,DRce’,PCinc
03E
D400003F
6
5
0
0
0
0
0
0
0
03F
DRoe,Ace
03F
20700032
1
0
1
3
0
0
0
0
0
032
PCoe,ADD,SVce
032
60080035
3
0
0
0
2
0
0
0
0
035
Soe,ARce
035
00061036
0
0
0
0
1
2
0
1
0
036
ARoe’,RD,DRce’,
036
D4000007
6
5
0
0
0
0
0
0
0
007
DRoe,Ace
3.2.2操作指令
(1)CMP指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
049
98F00200
4
6
3
3
0
0
0
0
0
000
TRoe,SUB,SVce,PSWce
(2)JC指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
068
00000626
0
0
0
0
0
0
0
0
0
026
BM=3
026
00000200
0
0
0
0
0
0
0
0
0
000
027
A4000200
5
1
0
0
0
0
0
0
0
000
ARoe,PCce
(3)TEST指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
04A
99700200
4
6
5
3
0
0
0
0
0
000
TRoe,AND,SVce,PSWce
(4)JNZ指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
06D
00000626
0
0
0
0
0
0
0
0
0
000
BM=3
027
A4000200
5
1
0
0
0
0
0
0
0
000
ARoe,PCce
3.3调机程序设计
程序3-1,3-2,3-3,3-4
0030:
1601;MOV#0001,R1;
0031:
0001;
0032:
9601;CMP#0001,R1;
0033:
0001;
0034:
0220;JC0040H;
0035:
0040H;
0036:
1620;MOV#0001H,FF01H;
0037:
0001H;
0038:
FF01H;
0040:
1620;MOV#0080H,FF01H;
0041:
0080;
0042:
FF01;
程序3-5
0030:
1601;MOV#0001,R1;
0031:
0001;
0032:
9601;CMP#0001,R1;
0033:
0001;
0034:
0238;JC‘disp
0035:
000A;
0036:
1620;MOV#0001H,FF01H;
0037:
0001H;
0038:
FF01H;
0040:
1620;MOV#0080H,FF01H;
0041:
0080;
0042:
FF01;
程序3-6
0030:
1601;MOV#0002,R1;
0031:
0002;
0032:
A601;TEST#0002,R1;
0033:
0002;
0034:
0360;JNZ0040H;
0035:
0040
0036:
1620;MOV#0001H,FF01H;
0037:
0001H;
0038:
FF01H;
0040:
1620;MOV#0080H,FF01H;
0041:
0080;
0042:
FF01;
3.4调试记录
3.5小结
通过本次上机实验,我清楚了JC,TEST,CMP等指令操作的过程,并且同时也了解到JC,JNZ指令的跳转条件,实现了CPU转移指令的扩充。
4移位指令的设计与调试
4.1设计目标
为CPU扩充移位指令,完成移位指令的微程序设计与调试。
4.2设计任务
4.2.1操作指令
(1)SHR指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
063
18100E50
0
6
0
1
0
0
0
0
7
050
SRce,PSWce
(2)ROL指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
064
18200E50
0
6
0
2
0
0
0
0
7
050
SLce,PSWce
4.3调机程序设计
程序4-1.4-2
0030:
1600;MOV#0001,R0;
0031:
0001;
0032:
00C0;SHR,R0;
0033:
0238;JC’FFFDH;
0034:
FFFD;
程序4-3,4-4,4-5
0030:
1601;MOV#0505,R1;
0031:
0505;
0032:
A601;TEST#0001,R1;
0033:
0001;
0034:
0338;JZ‘0003;
0035:
0003;
0036:
0101;ROL,R1;
0037:
0420;JMP0032H;
0038:
0032;
程序4-6
0030:
1600;MOV#0001,R0;
0031;0001;
0032:
1060;MOV,R0,FF01H;
0033:
FF01;
0034:
9600;CMP#0100,R0;
0035:
0100;
0036:
0338;JZ‘0006;
0037:
0006;
0038:
0100;ROL,R0;
0039:
0420;JMP0032H;
0040:
0032;
4.4调试记录
4.5小结
通过本次上机实验,完成了CPU移位指令的扩充,同时也更深一步的接触到LED灯工作的原理及过程。
独立的写出了任务4所需的程序,是我这次上机最大的收获。
5堆栈相关指令的设计与调试
5.1设计目标
为CPU扩充PUSH,POP,CALL,RET指令,完成微程序设计。
5.2设计任务
5.2.1操作指令
(1)PUSH指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
078
03000084
0
8
0
0
0
0
0
0
0
084
SPdec
084
E0080085
7
0
0
0
2
0
0
0
0
085
SPoe,ARce
085
03000051
0
0
0
3
0
0
0
0
0
051
SVce
(2)POP指令的微程序(非寄存器)
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
079
00000E8C
0
0
0
0
0
0
0
0
0
08E
BM=7
08E
0006108F
7
0
0
0
2
0
0
0
0
08F
SPoe,ARce
08F
D400008A
6
5
0
0
0
0
0
0
0
08A
DRoe,Ace
08A
00300050
0
0
0
3
0
0
0
0
0
050
SVce
(3)POP指令的微程序(寄存器)
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
08D
B0000090
5
4
0
0
0
0
0
0
0
090
ARoe,TRce
090
E0080091
7
0
0
0
2
0
0
0
0
091
SPoe,ARce
091
02C61092
0
0
B
0
1
1
0
1
0
092
SPinc,ARoe’,DRce’,RD
092
80080093
4
0
0
0
2
0
0
0
093
TRoe,ARce
093
00052200
0
0
0
0
1
1
0
2
0
000
ARoe’,DRoe’,WR
(4)CALL指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
07A
0300009A
0
8
0
0
0
0
0
0
0
09A
SPdec
09A
B000009B
5
4
0
0
0
0
0
0
0
09B
ARoe,TRce
09B
E008009C
7
0
0
0
2
0
0
0
0
09C
SPoe,ARce
09C
2003009D
1
0
0
0
0
3
0
0
0
09D
PCoe,DRce
09D
0005209E
0
0
0
0
1
1
0
2
0
09E
ARoe’,DRoe’,WR
09E
84000001
4
1
0
0
0
0
0
0
0
000
TRoe,PCce
(5)RET指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
05A
00000094
0
0
0
0
0
0
0
0
0
094
BM=0
094
E0080095
7
0
0
0
2
0
0
0
0
095
SPoe,ARce
095
02C61096
0
0
B
0
1
1
0
1
0
096
SPinc,ARoe’,DRce’,RD
096
C4000000
6
1
0
0
0
0
0
0
0
000
DRoe,PCce
5.3调机程序设计
程序5-1,5-2,5-3
0030:
1600;MOV,#0041,R0;
0031:
0041;
0032:
0600;PUSHR0;
0033:
0620;PUSH0040H;
0034:
0040;
0035:
0648;POP(R0);
0036:
0641;POPR1;
0040:
0420;
程序5-4,5-5
0030:
06A0;CALL,0040;
0031:
0040;
0032:
1601;MOV#0505,R1;
0033;0505;
0040:
1