计算机组成原理课程设计微程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档