《2023年JUC2模型机微程序设计计算机组成原理课设.pdf》由会员分享,可在线阅读,更多相关《2023年JUC2模型机微程序设计计算机组成原理课设.pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、江苏大学计算机学院 2022年4月 1 计算机组成原理课程设计报告 JUC2 模型机的微程序设计 姓名 学号 专业 指导教师 江苏大学计算机学院 2015 年 6 月 30 日 江苏大学计算机学院 2022年4月 2 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 00
2、069002 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
3、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
4、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 江苏大学计算机学院 2022年4月 3(2)JMP 指令的微程序 微地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 070 A4000200 5 1 0 0 0 0
5、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 调机程序设计 程序 1-1 0030:0460;INC 0040H 0031:0040;0032:0420;JMP 0030H 0033:0030;程序 1-2 0030:04A0;DEC FF02H 0031:FF02;0032:0420;JMP 0030H 0033:0030;1.5 小结 今天是课设第一天,在
6、开始之前,老师对大致的过程做了一些讲解。主要通过本次上机试验,是要适应一下实验室的环境,软件环境。为以后的课设做准备。然后开始做的时候,有一些困难,不过过了一段时间,大约能够熟悉了,条理比较清晰。做出 INC的时候感觉很兴奋,期待着第二天的课设。江苏大学计算机学院 2022年4月 4 运行调试记录表 学号_ 姓名_ 操作/说明 微地址 微指令 运行结果及分析 江苏大学计算机学院 2022年4月 5 2 双操作数指令的设计与调试 2.1 目标要求(1)完成双操作数指令的微程序设计与调试(2)完成取原操作数和取目的操作数的微程序设计与调试 2.2 微程序设计 2.2.1 取指令的微程序设计(略,同
7、 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)
8、微指令字段(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 取目的操作数(见附录流程图)
9、(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 江苏大学计算机学院 2022
10、年4月 6 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
11、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 TRo
12、e,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 调机程序设计 程序 2-1 0030:1620;MOV#0101,0040H 0031:0101;0032:0040;程序 2-2 0030:1620;MOV#0101,0040H 0031:0101;0032:0040;0033:4620;SUB#FFFF,0040H 0034:FFFF;0035:00
13、40;程序 2-3 0030:2820;ADD 0043H,0041H 0031:0043;江苏大学计算机学院 2022年4月 7 0032:0041;0033:3820;ADDC 0042H,0040H 0034:0042;0035:0040;测试数据 0040:0001;0041:0111;0042:0000;0043:0001;2.5 总结 第二天我们要完成双操作数的微程序设计,刚开始老师说选一条指令来完成,当时没明白老师的意思,结果我选了其中的一个立即寻址来做,做到取目的操作数的时候,微地址直接回到了。经过询问发现,应该先把所有的微地址都写下来,然后输入汇编指令的时候在慢慢执行。江苏大
14、学计算机学院 2022年4月 8 运行调试记录表 学号_ 姓名_ 操作/说明 微地址 微指令 运行结果及分析 江苏大学计算机学院 2022年4月 9 操作/说明 微地址 微指令 运行结果及分析 江苏大学计算机学院 2022年4月 1 0 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
15、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)微
16、指令字段(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
17、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 江苏大学计算机学院 2022年4月 1 1 (2)JC 指令的微程序设计 微地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 068
18、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
19、 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;JC 0040H 0035H:0040;0036H:1620;MOV#0001H,FF01H 0037H:0001;0038H:FF01;0039H:0000;HALT 0040H:1620;MOV#0080H,FF01H 0041H:0080;0042H:FF01;0
20、043H:0000;HALT 程序 3-2 只注明与程序 3-1不同的主存单元 0032H:A601;TEST#000F,R1 0033H:000F;0034H:0360;JNZ 0040H 0035H:0040;江苏大学计算机学院 2022年4月 1 2 程序 3-3 0030H:0460;INC FF02H 0031H:FF02;0032H:0001;NOP 0033H:0460;INC 0028H 0034H:0028;0035H:9620;CMP#FFFF,0028H 0036H:FFFF;0037H:0028;0038H:0220;JC 0040H 0039H:0040;003AH:
21、0420;JMP 0032H 003BH:0032;0040H:0420;JMP 0030H 0041H:0030;程序 3-4 0030H:1800;MOV 0028H,R0 0031H:0028;0032H:1428;MOV(R0)+,(0029H)0033H:0029;0034H:9600;CMP#0109,R0 0035H:0109;0036H:0220;JC 0040H 0037H:0040;0038H:0460;INC 0029H 0039H:0029;003AH:0420;JMP 0032H 003BH:0032;0040H:0000;HALT 测试数据 0100H0108H:1
22、111 2222 3333 4444 5555 6666 7777 8888 3.5 总结 第三天开始时先将第二天遗留的最后一题完成,然后就开始编写条件转移指令相关的微程序。江苏大学计算机学院 2022年4月 1 3 运行调试记录表 学号_ 姓名_ 操作/说明 微地址 微指令 运行结果及分析 江苏大学计算机学院 2022年4月 1 4 4 移位指令的设计与调试 4.1 目的要求(1)为 CPU 扩充移位指令(2)完成移位指令的微程序设计与调试 4.2 微程序设计 4.2.1 取指令的微程序设计(略,同 1.2.1)4.2.2 取源操作数、目的操作数的微程序设计(见附录流程图)4.2.3 执行阶
23、段的微程序设计(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
24、-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;江苏大学计算机学院 2022年4月 1 5 0034:0338;JZ 0003;0035:0003;0036:0101;ROL,R1;0037:0420;JMP 0032H;0038:0032;程序 4-3 0030:1600;MOV#0001,R0;0031;0001;0032:1060;M
25、OV,R0,FF01H;0033:FF01;0034 0100;ROL R0 0035 9600;CMP#0100,R0 0036 0080 0037 0320 JZ 0030H 0038 0030 0039 0420 JMP 0032 4.5 总结 觉得这个 CPU 移位指令比较困难,然后请教了很多人,大致的也理解了很多。江苏大学计算机学院 2022年4月 1 6 运行调试记录表 学号_ 姓名_ 操作/说明 微地址 微指令 运行结果及分析 江苏大学计算机学院 2022年4月 1 7 5 堆栈相关指令的设计与调试 5.1 目的要求(1)为 CPU 扩充 PUSH、POP、CALL、RET 指令
26、(2)完成微程序设计 5.2 微程序设计(1)PUSH 的微程序设计 微地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 078 0300009B 0 0 0 3 0 0 0 0 0 09B SVce 09B 6003009C 3 0 0 0 0 3 0 0 0 09C Soe,DRce 09C 00300086 7 5 0 0 0 0 0 0 0 09D SPoe,Ace 09D 60030087 0 0 A 3 0 0 0 0 0 09E DEC,SVce 09E 00052200 3 7 0 0 2 0 0 0 0 052 Soe,
27、ARce,SPce(2)POP 的微程序设计 微地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 079 00300090 0 0 0 3 0 0 0 0 0 091 SVce 090 60030091 5 4 0 0 0 0 0 0 0 090 ARoe,TRce 091 F4000092 7 0 0 0 2 0 0 0 0 092 SPoe,ARce 092 02700093 0 0 9 3 0 0 0 0 0 093 INC,SVce 093 7C080052 3 7 0 0 2 0 0 0 0 052 Soe,ARce,SPce(
28、3)CALL 的微程序设计 微地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 07A F400007B 7 5 0 0 0 0 0 0 0 07B SPoe,Ace 07B B2B0007C 5 4 A 3 0 0 0 0 0 07C DEC,SV,ARoe,TRce 07C 7C08007D 3 7 0 0 2 0 0 0 0 07D Soe,ARce,SPce 07D 2003007F 1 0 0 0 0 3 0 0 0 07E PCoe,DRce 07E 84052000 4 1 0 0 1 1 0 2 0 000 ARoe,DR
29、oe,WR,TRoe,PCce(4)RET 的微程序设计 微地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 05A F40800A0 7 5 0 0 2 0 0 0 7 0A0 SPoe,ARce,Ace 0A0 000610A1 0 0 0 0 1 2 0 1 0 0A1 ARoe,RD,DRce 0A1 C40000A2 6 1 0 0 0 0 0 0 0 0A2 DRoe,PCce 0A2 027000A3 0 0 9 3 0 0 0 0 0 0A3 INC,SVce 0A3 7C000000 3 7 0 0 0 0 0 0 0
30、000 Soe,SPce 江苏大学计算机学院 2022年4月 1 8 5.3 调机程序设计 程序 5-1 0030H:0460;INC 0040H 0031H:0040;0032H:06A0;CALL 0048H 0033H:0048;0034H:0000;HALT 0048H:0460;INC 0041H 0049H:0041;004AH:0002;RET 程序 5-2 0030H:1800;MOV 0048H,R0 0031H:0048;0032H:06A0;CALL 0040H 0033H:0040;0034H:1020;MOV R0,0049H 0035H:0049;0036H:000
31、0;HALT 0040H:1001;MOV R0,R1 0041H-0043H:0080;SHL R0 0044H:0081;SHL R1 0045H:2040;ADD R1,R0 0046H:0002;RET 5.5 总结 通过本次上机实验,完成了 CPU 的 PUSH,POP,CALL,EET 指令的扩充,并完成了微程序设计。通过很长时间的研究,把压栈和出栈搞明白了。江苏大学计算机学院 2022年4月 1 9 运行调试记录表 学号_ 姓名_ 操作/说明 微地址 微指令 运行结果及分析 江苏大学计算机学院 2022年4月 2 0 6 中断系统的设计与调试 6.1 设计目标 完成整个中断过程各
32、个环节的设计 6.2 设计任务 6.2.1 编写中断隐指令的微程序(1)中断隐指令的微程序 微 地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 080 F4000081 7 5 C 0 0 0 0 0 0 081 SPoe,Ace 081 22B30082 1 0 A 3 0 3 0 0 0 082 DEC,SVce,PCoe,DRce 082 74080083 5 5 0 0 5 0 0 0 0 083 Soe,ARce,Ace 083 00052084 0 0 0 0 1 1 0 2 0 084 ARoe,WR,DRoe 084 0
33、2B33085 0 0 A 3 0 3 0 3 0 085 DEC,SVce,PSWoe,DRce 085 00052086 3 7 0 0 2 0 0 0 0 086 Soe,ARce,SPce,086 00052087 0 0 0 0 1 1 0 2 0 087 ARoe,DRoe,WR 087 00027088 0 0 0 0 0 2 0 7 0 088 INTA,DRce 088 C0080089 6 0 0 0 2 0 0 0 0 089 DRoe,ARce 089 0006108A 0 0 0 0 1 2 0 1 0 08A ARoe,RD,DRce,08A C4006000 6
34、1 0 0 0 0 0 6 0 000 DRoe,PCce,CLT(2)EI 指令的微程序设计 微地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 05C 00005000 0 0 0 0 0 0 0 5 0 050 STI (3)DI 的微程序设计 微地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 05D 00006000 0 0 0 0 0 0 0 6 0 050 SLI (4)RETI 指令的微程序设计 微地址(H)微指令(H)微指令字段(H)微命令 F0 F1 F2 F3
35、F4 F5 F6 F7 F8 F9 05B F408305E 7 5 0 0 2 0 0 5 0 05E SPoe,Ace,ARce 05E 0276105F 0 0 9 3 2 2 0 0 0 05F INC,ARce,DRce,SVce 05F 7C000060 3 7 0 0 0 0 0 0 0 060 Soe,SPce 060 C4000000 6 1 0 0 0 0 0 0 0 000 DRoe,PCce 江苏大学计算机学院 2022年4月 2 1 6.3 总结 因为时间的限制,只是输入了中断的微指令,还没有实现中断系统的设计与调试,熟悉中断隐指令的微程序的操作步骤,然后多重中断(中
36、断嵌套)也没有完成。总 结 这次的计算机组成原理课程设计,既是一个巩固知识的过程,更是一个学习新知识的机会。在学习计算机科学与技术这个专业时,我们大多时间是与软件接触,往往忽略了硬件方面。但是,了解硬件更有利于我们对计算机软件和计算机整体的理解。在课设过程中,我从询问同学,到请教老师,收获了很多实践知识。同时,我也发现了自身的一些不足,指令系统的知识并不是很扎实,CUP 工作过程没有深入理解,这些都对我的课设造成了麻烦,但我在课设中不断学习,不断加深理解,得到了自我提高。通过这次实践,使我们懂得,只要自己在每一次实践中都能仔细思考,能亲自动手,课程设计中遇到的难点都可以顺利解决。每个同学都要多操作演示,理解各个步骤的意义,只有多操作才能从中发现问题,及时解决问题,从而更好的掌握实验的基本原理。课程设计目的除工作量和设计质量之外,更重要的是认真去对待,通过设计实践对理论知识有了更深刻的认识,并从中学到书本上学不到的知识。江苏大学计算机学院 2022年4月 2 2 附录:取源操作数微程序流程图 江苏大学计算机学院 2022年4月 2 3 附录:取目的操作数微程序流程图