江苏大学

计算机组成原理课程设计报告

专业名称: 网络工程

班级学号:3130610031

学生姓名:张杰

指导教师:胡广亮

设计时间: 2013年 6 月 24 日— 2013年 7 月 2 日

第一天:熟悉微程序的设计和调试方法

一、设计目标

1、掌握微程序的设计方法

2、熟悉利用调试软件运行、调试微程序的方法

二、操作提示

1、连接实验设备

注意:请在断电状态下连接调试电缆。

2、下载 FPGA 配置数据

从课程网站下载CPU.sof等文件,使用 Quartus II Programmer 软件将 CPU.sof 下载到

FPGA。

3、输入微程序

利用调试软件将微程序写入控存,微程序如下。

取指令微程序

取源操作数为立即数的微程序

取目的操作数为寄存器寻址的微程序

MOV 指令的微程序(目的数寄存器寻址)

4、输入调机程序

今天的将调机程序就是一条指令: “ MOV #0001H, R1 ”。首先将指令翻译成机器码,根

据指令的编码规则,该指令的编码是:0761 0001。然后利用调试软件将指令码写入主存,

地址从主存的 0030H 开始。

5、调试微程序。

利用调试软件“ Step”按钮控制微指令单步执行,执行结果如图2.3 所示

2.3 例 2.1 MOV 指令的单步运行跟踪数据

6、分析微程序的执行结果,一般方法如下:

首先分析微程序执行流程是否正确,根据前面指令微流程的设计,理论上该指令微程序

的执行顺序应该是001→002→003→ 004→ 00B→00F→016→006→ 018→ 007→031→02D→

02E→ 000,通过调试软件的执行结果图2.3 可以看出,该指令微程序的微指令次序是正确

的。

如果执行的微指令次序不正确,那就要分析原因, 检查 BM 和 NC 设置是否正确、 检查 uAR

的各个输入信号的值是否正确,如IR、NA 等。

然后分析指令的运行结果。理论上本条测试指令执行完后,R1 的值应该是 0001。通过

调试软件的执行结果图2.3 可以看出,指令执行结果是正确的。如果结果不对,就需要进

步分析每一条微指令。分析的方法是针对微指令的每一条微命令,查看相应微操作前后相

模块的数据变化是否与指令微流程一致。下面举个例子说明如何分析每条微指令的。

图 2.3 的微地址为 000B(uAR= 000B)的控存单元所对应的内容为2008000F,即微指

令为 2008000F,所代表的微操作是: PCoe,ARce,即 PC 的内容送 IB、IB 的内容送 AR,

理论上的正确结果应该是IB=0031, AR=0031;通过图2.3 的 000B 单元微指令的执行结果

以看出, IB 的数据由上一条微指令的结果0000→ 0031, AR 的数据由上一条微指令的结果

0030→0031,说明本条微指令执行结果是正确。

从上面的分析可以看出,要想检查运行结果是否正确,关键是要清楚理论上正确的结果

是什么。这就要求实验者对指令的微程序流程非常清楚,从而达到了理解计算机内部信息

动过程、掌握计算机工作原理的目的。所以实验者应重视实验数据的分析工作,否则就失

了实验的意义。

1、测试内容:立即数寻址、寄存器寻址

测试指令(或程序):MOV #0001H, R1

机器码:

内存地址

机器码 (H)汇编指令

(H)

00300761 0001MOV #0001H, R1

运行结果:

第二天取操作数微程序的设计和调试

一、设计目标

设计并调试取操作数的微程序。

二、取操作数微流程

取目的操作数流程:

三、测试程序、数据及运行结果

格式如下 :

1、测试内容:间接寻址、寄存器寻址

测试指令(或程序):MOF (0048)R1

机器码:

内存地址

机器码 (H)汇编指令

(H)

0721 0048 0058 MOF ( 0048)R1

0030

0001

运行结果:

四、设计中遇到的问题及解决办法

在设计过程中开始对调试程序的运行不熟悉,不是很了解了此程序的运行。在操作过

程中,粗心导致了输入机器码的错误,或者是所在位置错误,重新输入解决了此问题。我

详细地了解了它的整个过程和对于每一步的分析和验证,对微程序设计有了更深入的了解。

第三天双操作数指令的微程序设计与调试

一、设计目标

设计并调试运算指令的微程序。

二、双操作数指令微程序入口地址

指令编码

指令助记符

入口地址

( H )

FEDCBA9876543210

MOV src, dst

目的地址031

000001

源地址码

ADD src, dst

目的地址032

000010

源地址码

ADDC src, dst

目的地址033

00001

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐