计算机组成原理课程设计微程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机组成原理》课程设计报告
——微程序设计
指导老师:丁伟
学院:计算机学院
班级:软件 1501
姓名:
学号:
一、项目任务
本项目的任务是针对第2章所述的OpenJUC-II教学机模型机,设计控制器的微程序,实现该模型机的指令系统。通过课程设计理解指令的执行过程,指令系统与硬件的关系,进而加深对计算机的结构和工作原理的理解。
二、项目设计
本项目预期分为6个上机设计步骤:
Day1:熟悉微程序的设计和调试方法
Day2:双操作数指令的设计与调试
Day3:条件转移指令的设计与调试
Day4:移位指令的设计与调试
Day5:堆栈相关指令的设计与调试
Day6:中断系统的设计与调试
通过上述实践步骤,初步达成微程序设计要求,针对不同产品提出的不同要求,通过编写相应符合的微程序汇编指令,达到预期效果和收益。
三、项目需求
OpenJUC-II模型机、Quartus II软件、虚拟实验板软件、Windows计算机、预先编写完成的.sof和.scc文件。
取指令字段
取目的操作数入口取源操作数
寄存器寻址入口
寄存器间接
寄存器自增间接
立即寻址
直接寻址
间接寻址
变址寻址
相对寻址
进入取目阶段
取目的操作数阶段
从微地址028至02F依次为寄存器寻址,寄
存器间接寻址,寄存器自增间接寻址,02B
为空,直接寻址,间接寻址,变址寻址,相
对寻址
进入执行阶段
从41开始为
MOV,ADD,ADDC,SUB,SUBB,AND,OR,XOR,CMP,
TEST的入口地址
保存结果的控存
SAR,SHL,SHR,ROL,ROR,RCL,RCR控存
JC,JNC,JO,JNO,JZ,JNZ,JS,JNS控存
转移的控存
JMP,INC,DEC,NOT的控存
PUSH,POP,CALL的控存
HALT,NOP,RET,RETI,EI,DI
INC与JMP设计与调试。
ORG 0030H
INC 0040H
JMP 0030H
MOV,SUB调试
CMP及JC测试
软件延时
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
右移
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, FF01H 0031: 0080
0032: FF01
0033: 1600 MOV #0000H, R0 0034: 0000
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 (R0)
0036: 0641 POP R1
程序中断
0030: 1600 MOV #0100H, 0000H 0031: 0040
0032: 0000
0033: 0004 EI
0034: 0460 INC 0040H
0035: 0040
0036: 1601 MOV #2333H, R1 0037: 2333
0038: 0000 HALT
0100: 1820 MOV #FF08H, FF02H 0101: FF08