计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx
- 文档编号:2852333
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:34
- 大小:667.91KB
计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx
《计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计江苏大学版本含day1day7微程序文件.docx(34页珍藏版)》请在冰豆网上搜索。
计算机组成原理课程设计江苏大学版本含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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 江苏 大学 版本 day1day7 微程序 文件