1、JUC2课程设计报告 江苏大学 大二上计算机组成原理课程设计报告JUC2模型机的微程序设计姓名 学号 专业 指导教师 江苏大学计算机学院2014 年 1 月 9 日1熟悉微程序的设计和调试方法1.1目标要求(1) 掌握微程序的设计方法(2) 熟悉利用调试软件运行、调试微程序的方法1.2微程序设计1.2.1取指令的微程序设计微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F900020080001100020000001PCoe, ARce00100069002000012110002ARoe, RD, DRce, PCinc002CC0000036300000
2、00003DRoe, IRce00300000404000000002004BM21.2.2取目的操作数的微程序设计(1)直接寻址的微程序微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F902C20080033100020000033PCoe,ARce03300069034000012110034ARoe,RD,DRce,PCinc034C0080035600020000035DRoe,ARce03500061036000012010036ARoe,RD,DRce036D4000007650000000007DRoe,Ace1.2.3执行阶段的微程序设计(1
3、)INC指令的微程序微地址(H)微指令(H)微指令字段(H)微命令F0F1F2F3F4F5F6F7F8F90711A700E50069300007050INC,SVce,PSWce(2)保存运算结果的微程序微地址微指令F0F1F2F3F4F5F6F7F8F9微命令05160030052300003000052Soe,DRce05200052200000011001000ARoe,DRoe,WR(3)JMP指令的微程序微地址微指令F0F1F2F3F4F5F6F7F8F9微命令070A4000E50510000007050ARoe,PCce1.3调机程序设计程序 110030: 0460; INC
4、 0040H0031: 0040; 0032: 0420; JMP 0030H0033: 0030;1.4运行调试运行调试记录表举例:操作ARIR运行结果及分析程序1-1复位CPU00000000000PC=0030,SP=0030微指令单步00020080001IB=0030,AR=0030。PC-AR00100069002DB=DR=0460,PC=0031。指令-DR,PC加1002CC000003IB=IR=0460。DR-IR00300000404BM21.5小结经过半天的实验以及老师的讲解,对cpu指令的执行过程有了更深的了解,并且完成了一个简单的指令微程序的设计,加深了对知识的理
5、解。2双操作数指令的设计与调试任务要求1、编写源操作数立即寻址的微程序,并用下面的调机程序验证。MOV #0101,0040H2、编写SUB指令的微程序,并用下面的调机程序验证。MOV #0101,0040HSUB #FFFF,0040H观察0040H单元和PSW的变化。3、编写寄存器寻址的微程序,并用下面的调机程序验证。MOV FF08H, R1MOV R1, FF01HJMP 0030H微指令微程序设计取源操作数的直接寻址方式的微命令与取目的操作数直接寻址的微命令相同不过地址改为从00C,013,014,015,016为止。MOV #0101,0040H源操作数立即寻址的微程序设计微地址微
6、指令F0F1F2F3F4F5F6F7F8F9微命令00B20080012100020000012PCoe,ARce01200069016000012110016ARoe,RD,DRce,PCinc016D0000006640000000006DRoe,TRceMOV指令的微程序微地址微指令F0F1F2F3F4F5F6F7F8F9微命令04194000040450000000040TRoe,Ace04000300E50000300007050SVceSUB #FFFF,0040HSUB指令的微程序设计 微地址微指令F0F1F2F3F4F5F6F7F8F9微命令04498F00E504633000
7、07050TRoe,SUB,SV,PSWceMOV FF08H, R1目的操作数寄存器寻址微地址微指令F0F1F2F3F4F5F6F7F8F9微命令02854000007240000000007GRSoe,TRce目的操作数为寄存器寻址,执行完毕后保存操作微地址微指令F0F1F2F3F4F5F6F7F8F9微命令05068000200320000001000Soe,GRSceMOV R1, FF01H取源操作数的寄存器寻址方式的微命令与取目的操作数寄存器寻址的微命令相同不过地址改为008。调机程序设计程序2-10030: 1620; MOV #0101,00400031: 0101;0032:
8、 0040;程序2-2 0030: 1620; MOV #0101,0040 0031: 0101; 0032: 0040;0033:4620;SUB #FFFF,00400034:FFFF;0035:0040;程序2-30030: 1801;MOVFF08,R10031: FF08;0032: 1060;MOVR1,FF010033 : FF01;0034: 0420; JMP 00300035: 0030; 小结:经过半天的实验,学会了传送指令mov和减法sub指令的微程序设计,获益匪浅。3.条件转移指令的设计与调试任务要求1、编写JC指令的微程序,并用下面的调机程序验证。ORG 0030
9、HMOV #imm1, R1CMP #imm2, R1JC ADDR1MOV #0101H, FF01HHALTADDR1: MOV #8080H, FF01HHALT微指令微程序设计CMP的微程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令04998F00000463300000000TRoe,SUB,PSWce,SVceJC的微程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令06800000682000000003082BM=3083A4000200510000007050ARoe,PCce当CF=1时程序跳转到083执行转移指令,否则跳转到082,08
10、2为空指令BM=1,即为顺序执行下一条指令.HALT的微程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令05800000058000000000058调机程序的设计:0030: 1601; MOV #0001,R1 0031: 0001; 0032: 9601; CMP #0002,R10033: 0002;0034: 0220; JC 003A0035: 003A;0036: 1620; MOV #0101,FF010037: 0101;0038: FF01;0039: 0000; HALT003A: 1620; MOV #8080,FF01003B: 8080;003C:
11、 FF01;003D: 0000; HALT小结:经过半天的学习和实验,我学会了条件转移指令JC,比较指令CMP和暂停指令HALT的微程序设计。第四天:移位指令的设计与调试任务要求1、完成以下调机程序。ORG 0030HMOV #0001,R0SHR R0JC -3HALT分析上述调机程序的功能,运行之后相关寄存器和PSW 会有怎样的变化,程序是否转移,转移的目的地址是多少。2、完成以下调机程序。ORG 0030HMOV #0505,R1TEST #0001,R1JZ +3ROL R1JMP 0032HHALTSHR的微指令程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令06
12、318100E50056100007050SR,PSWce目的操作数相对寻址的微程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令02F2008003D10002000003DPCoe,ARce03D0006903E00001211003EARoe,RD,DRce,PCinc03ED400003F65000000003FDRoe,Ace03F20700032101300000032PCoe,ADD,SV03260080035300020000035Soe,ARce03500061036000012010036ARoe,RD,DRce036D4000007640000000007
13、DRoe,TRceTEST #0001,R1TEST的微指令程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令04A99400000465000000000TRoe,AND,PSWceJZ的微指令程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令06C00000682000000003082BM=3ROL的微指令程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令06418200E50050200007050SL,PSWce调机指令的设计:0030: 1601; MOV #0001,R0 0031: 0001; 0032: 00C0; SHR R0
14、0033: 0238;JC -30034: 0220; HALT小结:经过半天的实验以及上网查了一些资料,完成了移位指令SHR,ROL的微程序设计。5.堆栈相关指令的设计与调试任务要求1、编写PUSH和POP指令的微程序,并用下面的调机程序验证。ORG 0030HMOV #0041H,R0PUSH R0PUSH 0040HPOP (R0)POP R1PUSH的微程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令0780300008400C000000084SPdec084E0080085700020000085SPoe,ARce08500300086000300000086SV
15、ce08660030087300003000087Soe,DRce08700052200000011021000ARoe,DRoe,WRPOP(非寄存器寻址)的微指令程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令07900000E8C00000000708CBM=708DB0000090540000000090ARoe,TRce090E0080091700020000091SPoe,ARce0910306109200B012010092ARoe,RD,DRce,SPinc09280080093400020000093TRoe,ARce09300052200000011021
16、000ARoe,DRoe,WRPOP(寄存器寻址)的微指令程序设计微地址微指令F0F1F2F3F4F5F6F7F8F9微命令07900000E8C00000000708CBM=708CE008008E70002000008ESPoe,ARce08E0306108F00B01201008FARoe,RD,DRce,SPinc08FB8000200620000001000DRoe,GRSce调机程序设计:0030: 1600; MOV #0040,R0 0031: 0041;0032: 0600; PUSH R00033: 0620;PUSH00400034: 0040;0035: 0648; POP(R0)0036: 1620; POP R1总结 这次计算机组成原理的课程设计,使我加深了对课本知识的理解,也在实践中运用了课本上的理论内容。在这次课程设计,经历了很多次程序异常,然后找出错误并最终发现错误并改正的过程,在一次次的改正中从第一次课程设计时的循规蹈矩,照抄课本到后面的能够运用自己的微指令编码技术编写出符合要求的微程序,感觉学到了很多,很多东西不再浮于表面,而是有更加深刻的理解。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1