JUC2模型机微程序设计计算机组成原理课设.docx
《JUC2模型机微程序设计计算机组成原理课设.docx》由会员分享,可在线阅读,更多相关《JUC2模型机微程序设计计算机组成原理课设.docx(35页珍藏版)》请在冰豆网上搜索。
JUC2模型机微程序设计计算机组成原理课设
计算机组成原理课程设计报告
JUC2模型机的微程序设计
姓名
学号
专业
指导教师
江苏大学计算机学院
2015年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
006
00000A28
0
0
0
0
0
0
0
0
5
02C
BM5
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
1
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
6
9
3
0
0
0
0
0
050
INC,SVce,PSWce
(2)保存运算结果的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
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
(2)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
(3)DEC指令的微程序
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
072
1AB00E50
0
6
A
3
0
0
0
0
7
050
DEC,SVce,PSWce
1.3调机程序设计
程序11
0030:
0460;INC0040H
0031:
0040;
0032:
0420;JMP0030H
0033:
0030;
程序1-2
0030:
04A0;DECFF02H
0031:
FF02;
0032:
0420;JMP0030H
0033:
0030;
1.5小结
今天是课设第一天,在开始之前,老师对大致的过程做了一些讲解。
主要通过本次上机试验,是要适应一下实验室的环境,软件环境。
为以后的课设做准备。
然后开始做的时候,有一些困难,不过过了一段时间,大约能够熟悉了,条理比较清晰。
做出INC的时候感觉很兴奋,期待着第二天的课设。
运行调试记录表学号__________姓名_________
操作/说明
微地址
微指令
运行结果及分析
2双操作数指令的设计与调试
2.1目标要求
(1)完成双操作数指令的微程序设计与调试
(2)完成取原操作数和取目的操作数的微程序设计与调试
2.2微程序设计
2.2.1取指令的微程序设计(略,同1.2.1)
2.2.2取源操作数(见附录流程图)
(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
BM5
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
013
PCoe,ARce
013
00069014
0
0
0
0
1
2
1
1
0
014
ARoe’,RD,DRce’,PCinc
014
C0080015
6
0
0
0
2
0
0
0
0
015
DRoe,ARce
015
00061016
0
0
0
0
1
2
0
1
0
016
ARoe’,RD,DRce’
016
D0000006
6
4
0
0
0
0
0
0
0
006
DRoe,TRce
2.2.3取目的操作数(见附录流程图)
(1)立即寻址
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
006
00000A28
0
0
0
0
0
0
0
0
0
028
BM5
02B
00000007
0
0
0
0
0
0
0
0
0
007
BM0
(2)直接寻址
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
006
00000A28
0
0
0
0
0
0
0
0
0
028
BM5
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
1
0
036
ARoe’,RD,DRce’
036
D4000007
6
4
0
0
0
0
0
0
0
007
DRoe,TRce
2.2.4执行阶段的微程序设计
(3)MOV指令的微程序设计
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
041
94000040
4
5
0
0
0
0
0
0
0
040
TRoe,Ace
040
00300E50
0
0
0
3
0
0
0
0
7
050
SVce
(4)ADD指令的微程序设计
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
042
98700E50
4
6
1
3
0
0
0
0
7
050
TRoe,ADD,SVce,PSWce
(5)SUB指令的微程序设计
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
044
98F00E50
4
6
3
3
0
0
0
0
7
050
TRoe,SUB,SVce,PSWce
(6)ADDC指令的微程序设计
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
043
98B00E50
4
6
2
3
0
0
0
0
7
050
TRoe,ADDC,SVce,PSWce
2.3调机程序设计
程序21
0030:
1620;MOV#0101,0040H
0031:
0101;
0032:
0040;
程序22
0030:
1620;MOV#0101,0040H
0031:
0101;
0032:
0040;
0033:
4620;SUB#FFFF,0040H
0034:
FFFF;
0035:
0040;
程序23
0030:
2820;ADD0043H,0041H
0031:
0043;
0032:
0041;
0033:
3820;ADDC0042H,0040H
0034:
0042;
0035:
0040;
[测试数据]
0040:
0001;
0041:
0111;
0042:
0000;
0043:
0001;
2.5总结
第二天我们要完成双操作数的微程序设计,刚开始老师说选一条指令来完成,当时没明白老师的意思,结果我选了其中的一个立即寻址来做,做到取目的操作数的时候,微地址直接回到了000。
经过询问发现,应该先把所有的微地址都写下来,然后输入汇编指令的时候在慢慢执行。
运行调试记录表学号__________姓名_________
操作/说明
微地址
微指令
运行结果及分析
3条件转移指令的设计与调试
3.1目的要求
(1)为CPU扩充转移指令
(2)完成转移指令的微程序设计与调试
3.2微程序设计
3.2.1取指令的微程序设计(略,同1.2.1)
3.2.2取源操作数
(1)相对寻址
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
00F
2008001D
1
0
0
0
2
0
0
0
0
01D
PCoe,ARce
01D
0006901E
0
0
0
0
1
2
1
1
0
01E
ARoe’,RD,DRce’,PCinc
01E
D400001F
6
5
0
0
0
0
0
0
0
01F
DRoe,Ace
01F
20700020
1
0
1
3
0
0
0
0
0
020
PCoe,ADD,SVce
020
60080015
3
0
0
0
2
0
0
0
0
016
Soe,ARce
016
D0000006
6
4
0
0
0
0
0
0
0
006
DRoe,TRce
3.2.3取目的操作数
(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.4执行阶段的微程序设计
(1)CMP指令的微程序设计
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
049
98C00200
4
6
3
0
0
0
0
0
1
000
TRoe,SUB,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
3
026
NOP
(3)HALT指令的微程序设计
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
058
00000058
0
0
0
0
0
0
0
0
0
058
(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
3
026
NOP
(5)TEST指令的微程序设计
微地址(H)
微指令(H)
微指令字段(H)
微命令
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
04A
99400200
4
6
5
0
0
0
0
0
1
000
TRoe,AND,SVce,
3.3调机程序设计
程序3-1
0030H:
1601;MOV#0002,R1
0031H:
0002;
0032H:
9601;CMP#0001,R1
0033H:
0001;
0034H:
0220;JC0040H
0035H:
0040;
0036H:
1620;MOV#0001H,FF01H
0037H:
0001;
0038H:
FF01;
0039H:
0000;HALT
0040H:
1620;MOV#0080H,FF01H
0041H:
0080;
0042H:
FF01;
0043H:
0000;HALT
程序3-2[只注明与程序3-1不同的主存单元]
0032H:
A601;TEST#000F,R1
0033H:
000F;
0034H:
0360;JNZ0040H
0035H:
0040;
程序3-3
0030H:
0460;INCFF02H
0031H:
FF02;
0032H:
0001;NOP
0033H:
0460;INC0028H
0034H:
0028;
0035H:
9620;CMP#FFFF,0028H
0036H:
FFFF;
0037H:
0028;
0038H:
0220;JC0040H
0039H:
0040;
003AH:
0420;JMP0032H
003BH:
0032;
0040H:
0420;JMP0030H
0041H:
0030;
程序3-4
0030H:
1800;MOV0028H,R0
0031H:
0028;
0032H:
1428;MOV(R0)+,(0029H)
0033H:
0029;
0034H:
9600;CMP#0109,R0
0035H:
0109;
0036H:
0220;JC0040H
0037H:
0040;
0038H:
0460;INC0029H
0039H:
0029;
003AH:
0420;JMP0032H
003BH:
0032;
0040H:
0000;HALT
[测试数据]
0100H~0108H:
1111222233334444
5555666677778888
3.5总结
第三天开始时先将第二天遗留的最后一题完成,然后就开始编写条件转移指令相关的微程序。
运行调试记录表学号__________姓名_________
操作/说明
微地址
微指令
运行结果及分析
4移位指令的设计与调试
4.1目的要求
(1)为CPU扩充移位指令
(2)完成移位指令的微程序设计与调试
4.2微程序设计
4.2.1取指令的微程序设计(略,同1.2.1)
4.2.2取源操作数、目的操作数的微程序设计(见附录流程图)
4.2.3执行阶段的微程序设计
(1)SHR的微程序设计(SAR,ROR,RCR与此指令类似,只有入口地址不同)
微地址(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的微程序设计(SHL,RCL与此指令类似,只有入口地址不同)
微地址(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
0030:
1600;MOV#0001,R0;
0031:
0001;
0032:
00C0;SHR,R0;
0033:
0238;JC’FFFDH;
0034:
FFFD;
程序4-2
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-3
0030:
1600;MOV#0001,R0;
0031;0001;
0032:
1060;MOV,R0,FF01H;
0033:
FF01;
00340100;ROLR0
00359600;CMP#0100