1、软件 3四、设备连接 4五、编程题目 4六、程序流程图 5七、程序 5八、对应的微指令 6九、调试过程 7十、结果 11十一、总结 11一、课设目的通过课程设计更清楚地理解下列基本概念:1、计算机的硬件基本组成;2、计算机中机器指令的设计;3、计算机中机器指令的执行过程;4、微程序控制器的工作原理;5、微指令的格式设计原理。6、通过使用软件HKCPT,了解程序编译、加载的过程。7、通过微单步、单拍调试,理解模型机中的数据流向。二、课设任务1、在掌握各模块功能的基础上,构成模型机;2、熟悉模型机的通路、微指令系统、与汇编指令的关系;3、使用微机与模型机连接调试的应用程序HKCPT;4、编辑程序,
2、了解程序编译、加载及运行的过程。三、使用的设备及软件设备此次课设使用HK-CPT-IV型计算机组成原理实验平台,实验平台简介如下:1基本功能模块:运算器模块、指令部件模块、堆栈寄存器模块、存储器模块、总线传输模块、微程序模块、启停和时序模块,以及用于调试和观察数据的监控模块。2组成结构:采用总线结构。总线分为:内部、外部地址总线,内部、外部数据总线。3监控模块:为实验调试和程序设计带来了相当的便利。实验者可以通过监控模块来修改微程序和内存中的程序。4操作方式 : 单机方式整个系统可单独使用;联机方式系统可与PC机相连。 软件此次课设使用的软件为HKCPT,其使用介绍如下:1启动HKCPT:第一
3、次启动HKCPT,用户需设置实验平台通讯端口。退出HKCPT时,会自动保存用户最后一次的设置。用户选择“设置实验平台”菜单项,在弹出的对话框中,选择相应的通讯串口、通讯波特率和延时因子。点击确定按钮,即可使用。2程序编写:选择“文件新文件”菜单项,将新建一个空的编辑窗口。用户在编辑窗口中输入以下程序。输入完毕,选择“文件另存为”菜单项,把该文件保存为demo.asm。因为编译器支持长文件名,用户也可以把该文件保存在如“我的文档”之类的目录夹中。用户可以直接选择“文件打开”菜单项打开该文件。3程序编译:编译是检查源文件的语法错误,如果源文件没有语法错误,编译器将生成源文件的目标代码,由于是单汇编
4、文件,编译产生的目标代码可以直接加载调试。用户选择“编译编译当前文件”菜单项,将编译当前活动窗口中的源文件,编译结果的信息显示在输出窗口中。用户可以根据输出窗口中错误信息直接定位到源文件的相应位置。4程序运行:加载后,可以运行程序,有三种运行方式:1微单步:每执行一条微程序,PC指针加1,微指令向后移动一步,同时结构图中绘出执行步及上一步的数据流向,各个寄存器和控制线状态会相应改变。2程序单步:从当前PC指针行执行源文件的一行语句,然后又停止。结构图中显示的寄存器值和控制线都会随之刷新,但不显示数据流。3全速运行:全速运行程序,遇到用户断点或按暂停键或执行到halt指令停止。四、设备连接实验过
5、程中的设备连接包括3部分的内容:1数据总线的连接:接口1DJ1DJ2DJ3DJ4DJ5DJ6DJ7PC_OUT接口2ALU_INALU_OUTR_INR_OUTRA_INRA_OUTPC_INAJ12各模块的连线:由于实验平台提供了连线板,在实验时,只要将连线板插在指定的地方,这样,各个模块就成功的连接了。3与计算机的连线:实验平台提供的连接线将实验平台与计算机相连,这样,计算机通过软件可以和平台相互通讯。五、编程题目从1加到10,再带进位右移一位,最后,再加上自已学号的后三位,结果存放到RAM的40H号字节单元中。六、程序流程图七、程序根据程序流程图所示,可以进行代码的编写:MOV R0,#
6、0AMOV A,#0MOV R3,#1MOV R1,#1ADD A,R3MOV R2,AMOV A,R3SUB A,R0JZ 14ADD A,R1MOV R3,AMOV A,R2JMP 08STA 20RRC ASTA 30MOV R0,#70ADD A,R0STA 40HALT八、程序每条指令对应的机器代码和对应的微指令指令机器代码微指令微代码6E 0A取指指令Dbus-RiDDBFFF4DFFFF5F 00DDFBFF6C 010C取指指令A-DR1Ri-ALU-AFFFCF9FF7F79FFFBA94D7FBDFF3C FF7BFF1E A-IR2(IR2)-Abus,Dbus-FFFC
7、D6FE7F56FFFB86B3 14D4FFFF4C 3DBF 063D 9FA1FFFEF1MOV R0,#736C 730C 8FD5FFFFBBFDFF九、调试过程1全速执行:全速执行可以一次性使所有的代码执行完毕,从而得出最终的结果。此过程一般用于代码准确无误之后的执行,其步骤为:单击菜单“调试”项,选择“全速执行”,最后可以看到最终的结果。在执行的过程中,实验平台上的指示灯不断地闪烁,是由于每一条微指令都对应着不同的指示灯的明暗情况。2程序单步:程序单步用于调试使用,每一次执行一条指令,其步骤为:单击菜单“调试”项,选择“程序单步”,可以看到指令序列上的亮条纹移动了一条指令。在执行
8、的过程中,实验平台上的指示灯不断地闪烁,是由于一条指令对应着多条微指令,每一条微指令都对应着不同的指示灯的明暗情况。3微单步:微单步可以将每一条指令包含的微指令分步执行,其步骤为:单击菜单“调试”项,选择“微单步”,可以从结构图窗口中看到每一条微指令执行的操作。在实验平台上,可以看到指示灯的对应不同微指令的不同明暗变化。例如:“SUB A,R2”对应的微指令序列为:1取指令2A-BUS-3R2-DR24ALU-微单步:十、结果1应得结果:1+2+3+4+5+6+7+8+9+10=55=(00110111)B移位后得(00011011)B=(1B)H我学号的末3位为112=(70)H则结果为(1
9、B)H+(70)H=(8c)H。2查看方法:在“程序代码窗口”范围内单击鼠标右键,选择“读出”项,在相应的内存区间可以看到内存中的结果:在本例中,数据显示在第4行、第1列(第40H号字节单元内存中)。3实际结果:用读出命令,在程序代码窗口中读出结果8CH,与计算结果一致。11、总结总的来说,这个课设的完成确实是让我最有成就感的一件事,对于在一定的时间内完成到这种程度,我也确实感到惊讶,也对自己的成长感到自豪!虽然在这次实验中,我们并没有什么太大的亮点,也没有做出来高级功能的扩展,但是我们还是靠着自己的努力一步步实现了任务目标,靠自己的力量解决一系列难题,这也是一件很让人愉快的事。同时也很感谢老师们一直陪伴我们,给与我们指导与帮助,让我们能更有效率的完成这个实验。最后也是对这次试验的一个感慨,这次试验确实让我有了很大的提高,不只是知识层面,精神层面也有着飞跃,思考能力,发现错误能力,排错纠错能力,这才是我觉得学到的最宝贵的东西,希望在以后的学习生活中还能再接触到相关的有趣知识,让我能有更大的提高!
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2