2020山东大学计算机组成原理课程设计报告

本报告详述了一次基于《计算机组成原理》的课程设计,涉及微指令模型机的实现,包括计算机功能、指令系统、总体结构、数据通路和微程序设计。设计的模型机能在FPGA平台上模拟计算机部分功能,执行加法、自增、减法等操作,并具备存储器读写。报告还涵盖了调试和测试方法,以及课程设计中遇到的问题和解决策略。
摘要由CSDN通过智能技术生成

《计算机组成原理》

课程设计报告

微指令模型机实现

 

班级:

姓名:

学号:

小组成员:

完成日期:2020.10.16

一、计算机的功能和用途

通过该课程设计的学习,我们设计一台模型机,该模型机运行在FPGA平台上,可以模拟真正的计算机设备的一部分功能,通过微指令进行实现,使其可以完成一些基本操作,包括:加法、自增、减法、判断全0和判断进位,还有包括存储器读取写入等操作。具体实现了(1)(A1)+(A2)->A3。将A1、A2地址的数分别存到R0、R1寄存器,再通过ALU将加法结果存到寄存器R0,同时将结果状态cvnz存入寄存器STATE,将状态存入内存,再将寄存器R0的值存入内存。(2)数组累加。取出数组首地址放入地址累加器D,取出数组的数进行累加,使内存中的累加次数X+1,使D中地址+1,接着判断累加次数X是否等于N,若X与N不相等,则跳转到累加指令,否则结束循环,将累加结果存入内存。调试过程中通过平台指示灯观察内部的数据流动情况,了解计算机的运行、计算过程和内部的时序问题并辅助修改。

二、指令系统

1.指令格式

1.1基本字长:8位

1.2单字长指令:指令由高4位操作码、低4位全0构成。

7                        4      3      2     1     0

操作码OP

0

0

0

0

 

1.3双字长指令:指令由第一字节高4位操作码、低4位全0;第二字节操作数或操作数地址构成。

7                        4      3      2     1     0

操作码OP

0

0

0

0

 

 

操作数/操作数地址

 

 

两种指令格式的高四位为操作码,支持16种不同的指令。使用10、20...90作为九条指令以及F0停机指令。

2.寻址方式:

2.1:立即数寻址:操作数在指令的第二个字节

2.2:直接寻址:操作数的地址在指令的第二个字节。

3.指令功能  

指令

指令功能

LDR0 A

读内存将A地址的数存入寄存器R0

LDR1 A

读内存将A地址的数存入寄存器R1

LDD A

读内存将A地址的数存入地址累加器D

ADD1 S

将寄存器R0、R1中的数相加,结果存入R0,加法结果状态从寄存器STATE写入内存地址S

ADD2

读内存将地址累加器D中地址的数与寄存器R0中的数相加,结果存入R0

STA A

将寄存器R0中的数写入内存地址A

INX #X

将内存中的累加次数X取出、+1再写回内存

CPX #N

累加次数X与N比较,若相等则跳出循环,否则继续循环累加

BNE #M

跳转回加法指令

HALT

停机

  • 0
    点赞
  • 252
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值