实用文档
江 苏 大 学
计算机组成原理课程设计报告
专业名称:网络工程 班级学号: 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) 0030 机器码(H) 0761 0001 汇编指令 MOV #0001H, R1 运行结果: