文档介绍:精品设计
计算机组成原理课程设计报告
基于JUC1模型机Altera DE2-115实验板
班级:网络工程1102班
姓名:
学号:
指导老师:丁伟
日期:2013-6-24~2013-7-2
第一天:熟悉微程序的设计和调试方法
一、任务要求
1、掌握微程序的设计方法
2、熟悉利用调试软件运行、调试微程序的方法
二、微程序
利用调试软件将微程序写入控存,微程序如下。
三、调机程序和结果分析
调机程序 MOV #0001H R1
指令编码 0761 0001
利用调试软件“Step”按钮控制微指令单步执行
分析微程序执行流程,根据前面指令微流程的设计,理论上该指令微程序
的执行顺序应该是001→002→003→004→00B→00F→016→006→018→007→031→02D→
02E,通过调试软件的执行结果图可以看出,该指令微程序的微指令次序是正确的。
分析指令的运行结果。理论上本条测试指令执行完后,R1的值应该是0001。通过调试软件的执行结果图可以看出,指令执行结果是正确的。
第二天:取操作数微程序设计与调试
一、设计目标
1、在第一天的基础上,增加取操作数微程序
2、利用事先准备好的调机程序验证取操作数微程序的正确性
3、完成取源操作数和取目的操作数的微程序。
根据流程图写出微操作
二、微程序
取指令
取源操作数
取目的操作数
三、调机程序和结果分析
调机程序 MOV (0003H) R1
指令编码 0721 0003 0009 0007
写入主存结果如图:
分析微程序执行流程,根据前面指令微流程的设计,理论上该指令微程序的执行顺序应该是000→001→002→003→004→00B→00F→012→013→014→015→016→006→018→007→031→02D→02E,通过调试软件的执行结果图可以看出,该指令微程序的微指令次序是正确的。
分析指令的运行结果。理论上本条测试指令执行完后,R1的值应该是0007。通过调试软件的执行结果图可以看出,指令执行结果是正确的。
第三天:双操作数指令的的微程序设计与调试
一、设计目标
1、在前一天的基础上,增加双操作数指令的的微程序。
2、利用准备好的调机程序验证运算指令微程序的正确性,分析每条微指令、指令的运行结果及对标志位的影响。
3、完成ADD、ADDC、SUB、SUBB、CMP、AND、OR、XOR、TEST 9条指令的微程序的设计。
二、微程序
三、调机程序和结果分析
1)双操作数算术运算指令SUBB,源操作数直接寻址、目的操作数寄存器寻址
调机程序 MOV #002A R3 SUBB 0002H R3
指令编码 0763H 002A 1743 0002 0003
写入主存结果如图:
分析微程序执行流程,根据前面指令微流程的设计,理论上该指令微程序的执行顺序应该是000→001→002→003→004→00B→00F→014→015→016→006→018→007→035→02F→030(省略MOV指令阶段),通过调试软件的执行结果图可以看出,该指令微程序的微指令次序是正确的。
分析指令的运行结果。理论上本条测试指令执行完后,R3的初始值应该是002A,执行完SUBB指令之后,得到结果0026即002A-0003-1=0026。通过调试软件的执行结果图可以看出,指令执行结果是正确的。
2)双操作数逻辑运算指令XOR,源操作数立即寻址、目的操作数寄存器间接寻址
调机程序 MOV #0010H R1 XOR #0001H (R1)
指令编码 0761 0010 2769 0001 1010
写入主存结果如图:
分析微程序执行流程,根据前面指令微流程的设计,理论上该指令微程序的执行顺序应该是000→001→002→003→004→00B→00F→016→006→019→025→026→007→039→02F→030(省略MOV指令阶段),通过调试软件的执行结果图可以看出,该指令微程序的微指令次序是正确的。
分析指令的运行结果。理论上本条测试指令执行完后,R1的值应该是0010,执行完XOR之后,得到结果1000即1010 XOR 0010=1000。通过调试软件的执行结果图可以看出,指令执行结果是正确的。