1、硬件课程设计报告152020年4月19日文档仅供参考,不当之处,请联系改正。院 系: 计算机学院 专 业: 计算机嵌入式 学 号: 姓名: 指导教师: 南京理工大学紫金学院 .12一、设计目的经过本次硬件课程,设计一个使用微程序的模拟计算器,更加深入的了解各部件和总线之间的连接方式,认识计算机的组成结构,工作原理以及运行方式。(1)经过一个微机应用实例建立微机系统的整体概念; (2)学习掌握微机系统的硬、软件的工作原理以及二者间的配合关系和方法; (3)掌握汇编语言应用程序的设计和调试方法。 (4)掌握微指令格式以及如何设计微指令。二、所用设备TDN-CM+实验教学系统一台,PC微机一台。三、
2、设计思想运用汇编语言,根据微指令的格式以及微指令的功能,对微指令的每一位都需要准确对应。一共是24位,最后把24位转换位8421BCD码表示微指令码。然后根据微指令流程图填写下一位地址,使程序能够按照规定的流程进行下去。最后经过实验机进行调试,如果CPU走势图正确,说明微指令程序设计完成。如图:(cpu硬件)四、指令系统格式五、微操作流程图六、生成指令及对应微程序列表七、验证程序1. IN指令:$P0000$M00018001$M0101ED82$M0200C050$M100010012.ADD指令:$P0010$M00018108$M0101ed82$M0200C050$M1101ED84$
3、M0400E005$M0500B006$M0601A207$M07959A013.STA指令:$P0020$M00018108$M0101ed82$M0200C050$M1201ED89$M0900E008$M080282014.OUT指令:$P0030$M00018108$M0101ed82$M0200C050$M1301EDA0$M E021$M21070A015.SUB指令:$P0040$M00018108$M0101ed82$M0200C050$M1401EDA2$M2200E023$M2300B024$M2401A226$M26659A016.MOV指令:$P0050$M000181
4、08$M0101ed82$M0200C050$M150192017.INC指令:$P0060$M00018108$M0101ed82$M0200C050$M1601A425$M25019A018.DEC指令:$P0070$M00018108$M0101ed82$M0200C050$M17002427$M27F59A019.AND指令:$0080$M00018108$M0101ed82$M0200C050$M1801A229$M2901B430$M30B99A01八、设计总结经过两天的实验,我们组完成了本次硬件课程设计。本次硬件课程设计主要分为:(1) 根据实验线路图连线试验箱,并利用CMPP软
5、件测试试验箱是否连接正确(2) 了解微指令,根据流程图编写八个微指令(3) 根据编写的八个微指令编写测试程序,并在CMPP测试微指令是否正确第一个实验主要考验我们的细心,在连线过程中是我们对于实验盒各个模块的不同了解以及对于硬件连线的熟悉。在连线过程中需要注意一下事项:所有信号的连线工作必须在实验箱关机断电的情况下进行。导线头要拉直并按垂直方向插入插孔。连线完成后要进行检查,确定无误后,方可加电。多余导线不得乱放在实验箱上,以避免短路。做完实验后,要将导线垂直拔出。在运行实验程序前,实验箱上电路连接必须准确无误而且加电。由于我们组分工明确,且逻辑清晰,因此本次试验很快完成,且一次经过测试。第二
6、个试验是了解微指令,并经过伪指令流程图编写8个微指令。由于在之前组原课程中有学习到微指令微操作,但不甚了解。此次也是根据流程图以及微指令标准格式尝试编写,遇到问题也都向老师提问了解。编写过程还好,可是ADD最后还得经过测试才算正确。我们组编写了IN STASUB JMPRRRL RRC 这8 个指令。第三个试验是根据自己编写的微指令编写相应的测试程序,而且经过CMPP程序测试,经过测试即算完成了。其中有个难题是前面的机器指令,很多次问题并不是处在微指令上,而是处在机器指令上以及地址问题上。经过向老师提问解答,终于搞明白了。而且经过测试,只是最后一个RRC的过程还是有点不甚了解。经过本次试验加深了我们对微指令微操作的了解,而且对硬件试验有了一定认知,提高了对于微机及硬件试验的兴趣。