计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx

上传人:b****5 文档编号:2852333 上传时间:2022-11-15 格式:DOCX 页数:34 大小:667.91KB
下载 相关 举报
计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx_第1页
第1页 / 共34页
计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx_第2页
第2页 / 共34页
计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx_第3页
第3页 / 共34页
计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx_第4页
第4页 / 共34页
计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx

《计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx(34页珍藏版)》请在冰豆网上搜索。

计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx

计算机组成原理课程设计江苏大学版本含day1day7微程序文件

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

专业名称:

软件工程

班级学号:

3100608024

学生姓名:

张建彬

指导教师:

丁伟

设计时间:

2013年7月4日—2013年7月12日

附:

day1~day7微程序下载地址:

第一天:

熟悉微程序的设计和调试方法

一、设计目标

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

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

二、操作提示

1、准备工作

(1)将试验仪的通信电缆和下载电缆分别连接电脑的RS-232串行接口和打印机接口。

接通试验仪电源。

(2)从课程资源网站下载CPU.bit、CPU.cfg、day1.m19。

2、下载FPGA配置数据

利用iMPACT软件将CPU.bit下载到FPGA。

3.输入微程序

利用调试软件UniDebugger将微程序写入控存。

(1)设置实验方式和观察信号。

(2)下载微程序文件day1.m19.该文件包含取指令微程序部分取操作数微程序和MOV指令执行阶段微程序

微程序如下:

①.取指令微程序

微地址(H)

微指令(H)

微指令字段(H)

微命令

F0

F1

F2

F3

F4

F5

F6

F7

F8

F9

001

20080006

1

0

0

0

2

0

0

0

0

002

PCoe,ARce

002

00069003

0

0

0

0

1

2

1

1

0

003

ARoe’,RD,DRce’,PCinc

003

CC000404

6

3

0

0

0

0

0

0

2

004

DRoe,IRce

 

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

微地址(H)

微指令(H)

微指令字段(H)

微命令

F0

F1

F2

F3

F4

F5

F6

F7

F8

F9

004

00000A08

0

0

0

0

0

0

0

0

5

008

NOP

00B

0008000F

1

0

0

0

2

0

0

0

0

00F

PCoe,ARce

00F

00069C10

0

0

0

0

1

2

1

1

6

010

ARoe’,RD,DRce’,PCinc

016

D0000006

6

4

0

0

0

0

0

0

0

006

DRoe,TRce

 

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

微地址(H)

微指令(H)

微指令字段(H)

微命令

F0

F1

F2

F3

F4

F5

F6

F7

F8

F9

006

20080006

0

0

0

0

0

0

0

0

5

018

NOP

018

00069003

2

5

0

0

5

0

0

0

0

007

GRSoe,Ace

④.MOV指令的微程序

微地址(H)

微指令(H)

微指令字段(H)

微命令

F0

F1

F2

F3

F4

F5

F6

F7

F8

F9

007

00000800

0

0

0

0

0

0

0

0

4

xxx

PCoe,ARce

044

00000E46

0

0

0

0

0

0

0

0

7

046

ARoe’,RD,DRce’,PCinc

046

88000000

4

4

0

0

0

0

0

0

0

000

DRoe,IRce

4、输入调机程序

今天的将调机程序就是一条指令:

“MOV#1234H,R1”。

首先将指令翻译成机器码,根

据指令的编码规则,该指令的编码是:

07611234。

然后利用调试软件将指令码写入主存,

地址从主存的0000H开始。

5、调试微程序。

点击调试软件工具条上的“单步”或“扩展”按钮多次,运行的结果显示如下图所示。

图中第一行数据是“单步”运行的结果,后续各行是“扩展单步”的运行结果。

可以看出,“扩展单步”比“单步”可以观察到更多的信号。

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

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

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

的执行顺序应该是001→002→003→004→00B→00F→016→006→018→007→044→046→000,通过调试软件的执行结果图可以看出,该指令微程序的微指令次序是正确的。

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

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

然后分析指令的运行结果。

理论上本条测试指令执行完后,GRS的值应该是1234。

通过

调试软件的执行如上结果图可以看出,指令执行结果是正确的。

如果结果不对,就需要进一

步分析每一条微指令。

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

模块的数据变化是否与指令微流程一致。

下面举个例子说明如何分析每条微指令的。

图中的微地址为00B(uAR=00B)的控存单元所对应的内容为2008000F,即微指令为2008000F,所代表的微操作是:

PCoe,ARce,即PC的内容送IB、IB的内容送AR,理论上的正确结果应该是IB=0001,AR=0001;通过图中的00B单元微指令的执行结果可以看出,IB的数据由上一条微指令的结果FFFF→0001,AR的数据由上一条微指令的结果0000→0001,说明本条微指令执行结果是正确。

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

是什么。

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

动过程、掌握计算机工作原理的目的。

所以实验者应重视实验数据的分析工作,否则就失去

了实验的意义。

第二天:

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

一、设计目标

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

二、取操作数微流程

取源操作数微流程:

取目的作数微流程:

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

格式如下:

1、测试内容:

立即数寻址、直接寻址

测试指令(或程序):

MOV#5678H,0010H

指令功能:

将立即数5678H送到内存地址为0010单元,机器码如下

机器码:

内存地址(H)

机器码(H)

汇编指令

0000

077A56780010

MOV#5678H,0010H

在调试软件UniDebugger中,根据表将机器码输入RAM,输入后如下图。

扩展单步执行的结果如图1.2,分析过程如下:

对照图1.2,首先看微指令的执行次序:

001—>002—>003—>004—>00B—>00F—>016—>006—>01B—>01F—>024—>025—>026—>007—>004—>047—>072—>000,参照取指令,取操作数和MOV执行微流程分析,所执行的微指令顺序是正确的

其次分析执行的过程,在003的微指令执行后,下一步IR=077A,说明取指令是正确的;在016的微指令执行后,下一步TR=5678,说明取原操作数是正确的;在在026的微指令执行后,下一步A=FFFF(此时0010单元的内容为FFFF,见图1.2),说明取目的操作数是正确的。

最后分析指令执行的结果,指令执行前0010单元的内容为FFFF(见图1.1)指令执行后内容变为5678(在指令的最后一条微指令,微地址为072的下一步,见图1.5),说明结果是正确的。

图1.1指令执行前的RAM的内容

 

图1.2运行结果及分析:

图1.3指令执行后RAM的内容

2、测试内容:

相对寻址、间接寻址

测试指令(或程序):

MOV+0004H,(0010H)

指令功能:

将有效地址(PC+0004H)的内容送到0010H地址的地址中去

机器码:

内存地址(H)

机器码(H)

汇编指令

0000

071900040010

MOV+0004,(0010H)

在调试软件UniDebugger中,根据表将机器码输入RAM,输入后如下图。

扩展单步执行的结果如图2.2,分析过程如下:

对照图2.2,首先看微指令的执行次序:

001—>002—>003—>004—>00B—>00F—>010—>011—>017—>015—>016—>006—>01B—>01F—>022—>023—>024—>025—>026—>007—>044—>047—>072—>000,参照取指令,取操作数和MOV执行微流程分析,所执行的微指令顺序是正确的

其次分析执行的过程,在003的微指令执行后,下一步IR=0719,说明取指令是正确的;在016的微指令执行后,下一步TR=0000,说明取原操作数是正确的;在在026的微指令执行后,下一步A=0004(此时0010单元的内容为FFFF,见图2.2),说明取目的操作数是正确的。

最后分析指令执行的结果,指令执行前0010单元的内容为FFFF,以FFFF为地址FFFF内容原为0004,最终指令执行后内容变为0000(在指令的最后一条微指令,微地址为072的下一步,见图2.2),说明结果是正确的。

图2.1

图2.2

3、测试内容:

寄存器寻址、寄存器间接寻址

测试指令(或程序):

MOVR1,(R2)

机器码:

内存地址(H)

机器码(H)

汇编指令

0000

042A

MOVR1,(R2)

在调试软件UniDebugger中,根据表将机器码输入RAM,输入后如下图。

扩展单步执行的结果如图3.2,分析过程如下:

对照图3.2,首先看微指令的执行次序:

001—>002—>003—>004—>008—>006—>019—>025—>026—>007—>044—>047—>072—>000,参照取指令,取操作数和MOV执行微流程分析,所执行的微指令顺序是正确的

其次分析执行的过程,在003的微指令执行后,下一步IR=042A,说明取指令是正确的;在008的微指令执行后,下一步TR=0000,说明取原操作数是正确的;在在026的微指令执行后,A=0000说明取目的操作数是正确的。

最后分析指令执行的结果,指令执行前R1单元的内容为0000(见图3.2),指令执行后以R2内容0000为地址,即将0000转移到0000地址(在指令的最后一条微指令,微地址为072的下一步,见图3.2)说明结果是正确的

 

4、测试内容:

寄存器寻址、寄存器变址寻址

测试指令(或程序):

MOVR1,2(R2)

 

机器码:

内存地址(H)

机器码(H)

汇编指令

0000

04320002

MOVR1,2(R2)

在调试软件UniDebugger中,根据表将机器码输入RAM,输入后如下图。

扩展单步执行的结果如图2.2,分析过程如下:

对照图,首先看微指令的执行次序:

001—>002—>003—>004—>008—>006—>01A—>01C—>01D—>01E—>027—>025—>026—>007—>044—>047—>072—>00

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1