《JUC2模型机的微程序设计-计算机组成原理课设.doc》由会员分享,可在线阅读,更多相关《JUC2模型机的微程序设计-计算机组成原理课设.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateJUC2模型机的微程序设计-计算机组成原理课设计算机组成原理课程设计报告计算机组成原理课程设计报告JUC2模型机的微程序设计姓名 学号 专业 指导教师 江苏大学计算机学院 2015年 6月 30日-1 熟悉微程序的设计和调试方法1.1 目标要求(1)掌握微程序的设计方法(2)熟悉利用调试软件运行、调试微程序的方法1.2 微程序设计1.2.1 取指令的微程序设计微地址(
2、H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F900020080001100020000001PCoe, ARce00100069002000012110002ARoe, RD, DRce, PCinc002CC000003630000000003DRoe, IRce00300000404000000002004BM21.2.2 取目的操作数的微程序设计(1) 直接寻址的微程序微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F900600000A2800000000502CBM502C20080033100020000033PCo
3、e ,ARce03300069034000012110034ARoe ,RD,DRce,PCinc034C0080035600020000035DRoe,ARce03500061036000012010036ARoe,RD,DRce036D4000007640000000007DRoe,TRce1.2.3 执行阶段的微程序设计(1) INC指令的微程序微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F90711A700E50069300000050INC,SVce,PSWce(2)保存运算结果的微程序微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F
4、3F4F5F6F7F8F905160030052300003000052Soe,DRce05200052200500001020000ARoe,DRoe,WR(2) JMP指令的微程序微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F9070A4000200510000001000ARoe,PCce(3) DEC指令的微程序微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F90721AB00E5006A300007050DEC, SVce, PSWce1.3 调机程序设计程序 110030:0460;INC 0040H0031
5、:0040;0032:0420; JMP 0030H0033:0030;程序1-20030:04A0;DEC FF02H0031:FF02;0032:0420;JMP 0030H0033:0030;1.5小结今天是课设第一天,在开始之前,老师对大致的过程做了一些讲解。主要通过本次上机试验, 是要适应一下实验室的环境,软件环境。为以后的课设做准备。然后开始做的时候,有一些困难,不过过了一段时间,大约能够熟悉了,条理比较清晰。做出INC的时候感觉很兴奋,期待着第二天的课设。运行调试记录表学号_ 姓名_操作/说明微地址微指令运行结果及分析2 双操作数指令的设计与调试2.1 目标要求(1)完成双操作数
6、指令的微程序设计与调试(2)完成取原操作数和取目的操作数的微程序设计与调试2.2 微程序设计2.2.1 取指令的微程序设计(略,同1.2.1)2.2.2 取源操作数(见附录流程图)(1) 立即寻址的微程序微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F900400000A08000000000008BM500B20080012100020000012PCoe ,ARce01200069016000012110016ARoe ,RD,DRce,PCinc016D0000006640000000006DRoe,TRce(2) 直接寻址的微程序微地址(H)微指令(
7、H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F900C20080013100020000013PCoe ,ARce01300069014000012110014ARoe ,RD,DRce,PCinc014C0080015600020000015DRoe,ARce01500061016000012010016ARoe,RD,DRce016D0000006640000000006DRoe,TRce2.2.3 取目的操作数(见附录流程图)(1)立即寻址微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F900600000A28000000000028
8、BM502B00000007000000000007BM0 (2)直接寻址微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F900600000A28000000000028BM502C20080033100020000033PCoe ,ARce03300069034000012110034ARoe ,RD,DRce,PCinc034C0080035600020000035DRoe,ARce03500061036000012010036ARoe,RD,DRce036D4000007640000000007DRoe,TRce2.2.4执行阶段的微程序设计(3) M
9、OV指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F904194000040450000000040TRoe, Ace04000300E50000300007050SVce(4) ADD指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F904298700E50461300007050TRoe, ADD, SVce, PSWce (5)SUB指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F904498F00E50463300007050TRoe
10、, SUB, SVce, PSWce(6)ADDC指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F904398B00E50462300007050TRoe, ADDC, SVce, PSWce2.3 调机程序设计程序 210030:1620;MOV #0101, 0040H0031:0101;0032:0040; 程序 220030:1620;MOV #0101, 0040H0031:0101;0032:0040; 0033:4620;SUB #FFFF, 0040H0034:FFFF;0035:0040;程序 230030:2820;ADD
11、 0043H, 0041H0031:0043;0032:0041; 0033:3820;ADDC 0042H, 0040H0034:0042;0035:0040;测试数据0040:0001;0041:0111;0042:0000;0043:0001;2.5总结第二天我们要完成双操作数的微程序设计,刚开始老师说选一条指令来完成,当时没明白老师的意思,结果我选了其中的一个立即寻址来做,做到取目的操作数的时候,微地址直接回到了。经过询问发现,应该先把所有的微地址都写下来,然后输入汇编指令的时候在慢慢执行。运行调试记录表学号_ 姓名_操作/说明微地址微指令运行结果及分析3 条件转移指令的设计与调试3.
12、1 目的要求(1) 为CPU扩充转移指令(2) 完成转移指令的微程序设计与调试3.2 微程序设计3.2.1 取指令的微程序设计(略,同1.2.1)3.2.2 取源操作数(1) 相对寻址微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F900F2008001D10002000001DPCoe ,ARce01D0006901E00001211001EARoe ,RD,DRce,PCinc01ED400001F65000000001FDRoe,Ace01F20700020101300000020PCoe,ADD,SVce02060080015300020000016
13、Soe,ARce016D0000006640000000006DRoe,TRce3.2.3 取目的操作数(1) 相对寻址微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F902F2008003D10002000003DPCoe, ARce03D0006903E00001211003EARoe,RD,DRce,PCinc03ED400003F65000000003FDRoe, Ace03F20700032101300000032PCoe,ADD ,SVce03260080035300020000035Soe,ARce03500061036000012010036
14、ARoe,RD,DRce,036D4000007650000000007DRoe, Ace3.2.4 执行阶段的微程序设计(1) CMP指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F904998C00200463000001000TRoe, SUB, PSWce(2) JC指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F906800000626000000003026NOP(3) HALT指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F9
15、05800000058000000000058(4) JNZ指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F906D00000626000000003026NOP(5) TEST指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F904A99400200465000001000TRoe, AND, SVce,3.3 调机程序设计程序3-10030H:1601;MOV #0002, R10031H:0002;0032H:9601;CMP #0001, R10033H:0001;0034H:0220
16、;JC 0040H0035H:0040;0036H:1620;MOV #0001H, FF01H0037H:0001;0038H:FF01;0039H:0000;HALT0040H:1620;MOV #0080H, FF01H0041H:0080;0042H:FF01;0043H:0000;HALT程序3-2 只注明与程序3-1不同的主存单元0032H:A601;TEST #000F, R10033H:000F;0034H:0360;JNZ 0040H0035H:0040;程序3-30030H:0460;INC FF02H0031H:FF02;0032H:0001;NOP0033H:0460;
17、INC 0028H0034H:0028;0035H:9620;CMP #FFFF, 0028H0036H:FFFF;0037H:0028;0038H:0220;JC 0040H0039H:0040;003AH:0420;JMP 0032H003BH:0032;0040H:0420;JMP 0030H0041H:0030;程序3-40030H:1800;MOV 0028H, R00031H:0028;0032H:1428;MOV (R0)+, (0029H)0033H:0029;0034H:9600;CMP #0109, R00035H:0109;0036H:0220;JC 0040H0037H
18、:0040;0038H:0460;INC 0029H0039H:0029;003AH:0420;JMP 0032H003BH:0032;0040H:0000;HALT测试数据0100H0108H:111122223333444455556666777788883.5总结第三天开始时先将第二天遗留的最后一题完成,然后就开始编写条件转移指令相关的微程序。运行调试记录表学号_ 姓名_操作/说明微地址微指令运行结果及分析4 移位指令的设计与调试4.1 目的要求(1) 为CPU扩充移位指令(2) 完成移位指令的微程序设计与调试4.2 微程序设计4.2.1 取指令的微程序设计(略,同1.2.1)4.2.2
19、 取源操作数、目的操作数的微程序设计(见附录流程图)4.2.3 执行阶段的微程序设计(1) SHR的微程序设计(SAR, ROR, RCR与此指令类似,只有入口地址不同)微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F906318100E50060100007050SRce, PSWce(2) ROL的微程序设计(SHL, RCL与此指令类似,只有入口地址不同)微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F906418200E50060200007050SLce, PSWce4.3调机程序设计程序4-10030: 160
20、0; MOV #0001,R0;0031: 0001;0032: 00C0; SHR, R0;0033: 0238; JC FFFDH;0034: FFFD;程序4-20030: 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; JMP 0032H;0038: 0032;程序4-30030: 1600; MOV #0001,R0;0031; 0001;0032: 1060; MOV ,R0
21、,FF01H;0033: FF01;0034 0100; ROL R00035 9600; CMP #0100,R00036 00800037 0320 JZ 0030H0038 00300039 0420 JMP 00324.5总结觉得这个CPU移位指令比较困难,然后请教了很多人,大致的也理解了很多。运行调试记录表学号_ 姓名_操作/说明微地址微指令运行结果及分析5 堆栈相关指令的设计与调试5.1 目的要求(1) 为CPU扩充PUSH、POP、CALL、RET指令(2) 完成微程序设计5.2 微程序设计(1) PUSH的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3
22、F4F5F6F7F8F90780300009B00030000009BSVce09B6003009C30000300009CSoe,DRce09C0030008675000000009DSPoe,Ace09D6003008700A30000009EDEC,SVce09E00052200370020000052Soe,ARce,SPce(2) POP的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F907900300090000300000091SVce09060030091540000000090ARoe, TRce091F400009270002
23、0000092SPoe, ARce09202700093009300000093INC,SVce0937C080052370020000052Soe, ARce,SPce(3) CALL的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F907AF400007B75000000007BSPoe, Ace07BB2B0007C54A30000007CDEC, SV, ARoe, TRce07C7C08007D37002000007DSoe, ARce, SPce07D2003007F10000300007EPCoe, DRce07E8405200041
24、0011020000ARoe, DRoe, WR, TRoe, PCce(4) RET的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F905AF40800A07500200070A0SPoe, ARce,Ace0A0000610A10000120100A1ARoe, RD, DRce0A1C40000A26100000000A2DRoe, PCce0A2027000A30093000000A3INC,SVce0A37C000000370000000000Soe,SPce5.3 调机程序设计程序5-10030H:0460;INC 0040H0031
25、H:0040;0032H:06A0;CALL 0048H0033H:0048;0034H:0000;HALT0048H:0460;INC 0041H0049H:0041;004AH:0002;RET程序5-20030H:1800;MOV 0048H, R00031H:0048;0032H:06A0;CALL 0040H0033H:0040;0034H:1020;MOV R0, 0049H0035H:0049;0036H:0000;HALT0040H:1001;MOV R0, R10041H-0043H:0080;SHL R00044H:0081;SHL R10045H:2040;ADD R1,
26、 R00046H:0002; RET5.5总结通过本次上机实验,完成了CPU的PUSH,POP,CALL,EET指令的扩充,并完成了微程序设计。通过很长时间的研究,把压栈和出栈搞明白了。运行调试记录表学号_ 姓名_操作/说明微地址微指令运行结果及分析6 中断系统的设计与调试6.1 设计目标完成整个中断过程各个环节的设计6.2 设计任务6.2.1 编写中断隐指令的微程序(1)中断隐指令的微程序微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F9080F400008175C000000081SPoe,Ace08122B3008210A303000082DEC,SV
27、ce,PCoe,DRce08274080083550050000083Soe,ARce,Ace08300052084000011020084ARoe,WR,DRoe08402B3308500A303030085DEC,SVce,PSWoe,DRce08500052086370020000086Soe,ARce,SPce,08600052087000011020087ARoe,DRoe,WR08700027088000002070088INTA,DRce088C0080089600020000089DRoe,ARce0890006108A00001201008AARoe,RD,DRce,08AC
28、4006000610000060000DRoe,PCce,CLT(2)EI指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F905C00005000000000050050STI (3)DI的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F905D00006000000000060050SLI (4)RETI指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F905BF408305E75002005005ESPoe,Ace,ARce05E0276105
29、F00932200005FINC,ARce,DRce,SVce05F7C000060370000000060Soe,SPce060C4000000610000000000DRoe,PCce6.3总结因为时间的限制,只是输入了中断的微指令,还没有实现中断系统的设计与调试,熟悉中断隐指令的微程序的操作步骤,然后多重中断(中断嵌套)也没有完成。总 结这次的计算机组成原理课程设计,既是一个巩固知识的过程,更是一个学习新知识的机会。 在学习计算机科学与技术这个专业时,我们大多时间是与软件接触,往往忽略了硬件方面。但是,了解硬件更有利于我们对计算机软件和计算机整体的理解。在课设过程中,我从询问同学,到请教
30、老师,收获了很多实践知识。 同时,我也发现了自身的一些不足,指令系统的知识并不是很扎实,CUP工作过程没有深入理解,这些都对我的课设造成了麻烦,但我在课设中不断学习,不断加深理解,得到了自我提高。 通过这次实践,使我们懂得,只要自己在每一次实践中都能仔细思考,能亲自动手,课程设计中遇到的难点都可以顺利解决。每个同学都要多操作演示,理解各个步骤的意义,只有多操作才能从中发现问题,及时解决问题,从而更好的掌握实验的基本原理。课程设计目的除工作量和设计质量之外,更重要的是认真去对待,通过设计实践对理论知识有了更深刻的认识,并从中学到书本上学不到的知识。附录:取源操作数微程序流程图附录:取目的操作数微程序流程图