1、 计算机组成原理课程设计报告 1 计算机组成原理课程设计报告计算机组成原理课程设计报告 微程序设计 计算机组成原理课程设计报告 2 一、项目任务一、项目任务 本项目的任务是针对第 2 章所述的 OpenJUC-II 教学机模型机,设计控制器 的微程序,实现该模型机的指令系统。通过课程设计理解指令的执行过程,指令 系统与硬件的关系,进而加深对计算机的结构和工作原理的理解。 二、项目设计二、项目设计 本项目预期分为 6 个上机设计步骤: Day1:熟悉微程序的设计和调试方法 Day2:双操作数指令的设计与调试 Day3:条件转移指令的设计与调试 Day4:移位指令的设计与调试 Day5:堆栈相关指
2、令的设计与调试 Day6:中断系统的设计与调试 通过上述实践步骤,初步达成微程序设计要求,针对不同产品提出的不同要求, 通过编写相应符合的微程序汇编指令,达到预期效果和收益。 三、项目需求三、项目需求 OpenJUC-II 模型机、Quartus II 软件、虚拟实验板软件、Windows 计算机、 预先编写完成的.sof 和.scc 文件。 计算机组成原理课程设计报告 3 取指令字段 取源操作数 寄存器寻址入口 寄存器间接 立即寻址 寄存器自增间接 直接寻址 间接寻址 变址寻址 相对寻址 进入取目阶段 取目的操作数入口 计算机组成原理课程设计报告 4 取目的操作数阶段 从微地址 028 至
3、02F 依次为寄存器寻址, 寄 存器间接寻址,寄存器自增间接寻址,02B 为空,直接寻址,间接寻址,变址寻址,相 对寻址 从41开始为 MOV,ADD,ADDC,SUB,SUBB,AND,OR,XOR,CMP, TEST 的入口地址 进入执行阶段 计算机组成原理课程设计报告 5 保存结果的控存 SAR,SHL,SHR,ROL,ROR,RCL,RCR 控存 JC,JNC,JO,JNO,JZ,JNZ,JS,JNS 控存 转移的控存 计算机组成原理课程设计报告 6 JMP,INC,DEC,NOT 的控存 PUSH,POP,CALL 的控存 HALT,NOP,RET,RETI,EI,DI 计算机组成原
4、理课程设计报告 7 INC 与 JMP 设计与调试。 ORG 0030H INC 0040H JMP 0030H MOV,SUB 调试 CMP 及 JC 测试 计算机组成原理课程设计报告 8 软件延时 0030: 0460 INC FF02H 0031: FF02 0032: 1600 MOV #000F, R0 0033: 000F 0034: 0440 INC R0 0035: 9600 CMP #FFFFH, R0 0036: FFFF 0037: 0220 JC 0030H 0038: 0030 0039: 0260 JNC 0034H 003A: 0034 003B: HALT 计算
5、机组成原理课程设计报告 9 右移 0030: 1601 MOV #0001H, R0 0031: 0001 0032: 00C0 SHR R0 0033: 0238 JC FFFDH(PC) 0034: FFFD 0035: 0000 HALT 左移 0030: 1601 MOV #0505H, R0 0031: 0001 0032: 00C0 TEXT #0001H,R1 0033: 0238 0034: FFFD JZ 3(PC) 0035: 0000 0036:0101 ROL R1 0037:0420 JMP 0032 流水灯设计 0030: 1620 MOV #0080H, FF01
6、H 0031: 0080 0032: FF01 0033: 1600 MOV #0000H, R0 0034: 0000 计算机组成原理课程设计报告 10 0035: 0440 INC R0 0036: 9600 CMP #FFFFH, R0 0037: FFFF 0038: 0220 JC 003CH 0039: 003C 003A: 0260 JNC 0035H 003B: 0035 003C: 0160 ROR FF01H 003D: FF01 003E: A620 TEST #FFFFH, FF01H 003F: FFFF 0040: FF01 0041: 0320 JZ 0030H 0042: 0030 0043: 0360 JNZ 0033H 0044: 0033 0045: 0000 HALT PUSH,POP 0030: 1600 MOV #0041H,R0 0031: 0041 0032: 0060 PUSH R0 0033: 0620 PUSH 0040H 0034: 0040 0035: 0648 POP (R