计算机组成原理课程设计微程序设计Word文件下载.docx
《计算机组成原理课程设计微程序设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计微程序设计Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
一、项目任务
本项目的任务是针对第2章所述的OpenJUC-II教学机模型机,设计控制器的微程序,实现该模型机的指令系统。
通过课程设计理解指令的执行过程,指令系统与硬件的关系,进而加深对计算机的结构和工作原理的理解。
二、项目设计
本项目预期分为6个上机设计步骤:
Day1:
熟悉微程序的设计和调试方法
Day2:
双操作数指令的设计与调试
Day3:
条件转移指令的设计与调试
Day4:
移位指令的设计与调试
Day5:
堆栈相关指令的设计与调试
Day6:
中断系统的设计与调试
通过上述实践步骤,初步达成微程序设计要求,针对不同产品提出的不同要求,通过编写相应符合的微程序汇编指令,达到预期效果和收益。
三、项目需求
OpenJUC-II模型机、QuartusII软件、虚拟实验板软件、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设计与调试。
ORG0030H
INC0040H
JMP0030H
MOV,SUB调试
CMP及JC测试
软件延时
0030:
0460INCFF02H
0031:
FF02
0032:
1600MOV#000F,R0
0033:
000F
0034:
0440INCR0
0035:
9600CMP#FFFFH,R0
0036:
FFFF
0037:
0220JC0030H
0038:
0030
0039:
0260JNC0034H
003A:
0034
003B:
HALT
右移
1601MOV#0001H,R0
0001
00C0SHRR0
0238JCFFFDH(PC)
FFFD
0000HALT
左移
1601MOV#0505H,R0
00C0TEXT#0001H,R1
0238
FFFDJZ3(PC)
0000
0101ROLR1
0420JMP0032
流水灯设计
1620MOV#0080H,FF01H
0080
FF01
1600MOV#0000H,R0
0000
0220JC003CH
003C
0260JNC0035H
0035
003C:
0160RORFF01H
003D:
003E:
A620TEST#FFFFH,FF01H
003F:
0040:
0041:
0320JZ0030H
0042:
0043:
0360JNZ0033H
0044:
0033
0045:
PUSH,POP
1600MOV#0041H,R0
0041
0060PUSHR0
0620PUSH0040H
0040
0648POP(R0)
0641POPR1
程序中断
1600MOV#0100H,0000H
0004EI
0460INC0040H
1601MOV#2333H,R1
2333
0100:
1820MOV#FF08H,FF02H
0101:
FF08
结课任务
将R2的内容左右颠倒存入R7(A1A2A3A4------A4A3A2A1)
总体设计及总结
成功完成了对JUC2的整体设计。
包括取指令,取目的(源)操作数,保存结果,转移指令,移位指令,堆栈相关指令设计,中断设计等。
熟练掌握了微程序设计的基本思想和实现方法。
理解指令执行过程,指令系统与硬件的关系,加深了对计算机的结构和工作原理的理解。