1、江苏大学计算机学院 2018年 7月 1 计算机组成原理课程设计报告 JUC2 模型机的微程序设计 姓名 学号 专业 指导教师 江苏大学计算机学院 2015年 6月 30日 江苏大学计算机学院 2018年 7月 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, A
2、Rce 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
3、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 F
4、7 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 江苏大学计算机学院 2018年 7月 3 (2) JMP指令的微程序 微地址 (H) 微指令 (H) 微指令字段 (H) 微命令 F0 F1 F2 F3
5、 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 调机程序设计 程序 1-1 0030: 0460; INC 0040H 0031: 0040; 0032: 0420; JMP 0030H 0033: 0030; 程序 1-2 0030: 04A0; DEC
6、FF02H 0031: FF02; 0032: 0420; JMP 0030H 0033: 0030; 1.5 小结 今天是课设第 一天,在开始之前,老师对大致的过程做了一些讲解。主要通过本次上机试验, 是要适应一下实验室的环境,软件环境。为以后的课设做准备。然后开始做的时候,有一些困难,不过过了一段时间,大约能够熟悉了,条理比较清晰。做出 INC的时候感觉很兴奋,期待着第二天的课设。 江苏大学计算机学院 2018年 7月 4 运行调试记录表 学号 _ 姓名 _ 操作 /说明 微地址 微指令 运行结果及分析 江苏大学计算机学院 2018年 7月 5 2 双操作数指令的设计与调试 2.1 目标要
7、求 (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 01
8、6 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
9、 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 F
10、5 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 江苏大学计算机学院 2018年 7月 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 0
11、07 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 0
12、50 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
13、调机程序设计 程序 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: 0040; 程序 2-3 0030: 2820; ADD 0043H, 0041H 0031: 0043; 江苏大学计算机学院 2018年 7月 7 0032: 0041; 0033: 3820; ADDC 0042H, 0040H 0034: 004
14、2; 0035: 0040; 测试数据 0040: 0001; 0041: 0111; 0042: 0000; 0043: 0001; 2.5 总结 第二天我们要完成双操作数的微程序设计,刚开始老师说选一条指令来完成,当时没明白老 师的意思,结果我选了其中的一个立即寻址来做,做到取目的操作数的时候,微地址直接回到了。经过询问发现,应该先把所有的微地址都写下来,然后输入汇编指令的时候在慢慢执行。 江苏大学计算机学院 2018年 7月 8 运行调试记录表 学号 _ 姓名 _ 操作 /说明 微地址 微指令 运行结果及分析 江苏大学计算机学院 2018年 7月 9 操作 /说明 微地址 微指令 运行结
15、果及分析 江苏大学计算机学院 2018年 7月 10 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
16、,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
17、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