华中科技大学文华学院计算机组成原理课设
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华中科技大学文华学院计算机组成原理课程设计
学部:信息科学与技术学部
专业:软件工程
班级:1班
学号:1001070111
姓名:彭
指导老师:袁
目录
一、课设目的 (3)
二、课设任务 (3)
三、使用的设备及软件 (3)
设备 (3)
软件 (3)
四、设备连接 (4)
五、编程题目 (4)
六、程序流程图 (5)
七、程序 (5)
八、对应的微指令 (7)
九、调试过程 (8)
十、结果 (11)
十一、总结 (11)
一、课设目的
通过课程设计更清楚地理解下列基本概念:
1、计算机的硬件基本组成;
2、计算机中机器指令的设计;
3、计算机中机器指令的执行过程;
4、微程序控制器的工作原理;
5、微指令的格式设计原理。
6、通过使用软件HKCPT,了解程序编译、加载的过程。
7、通过微单步、单拍调试,理解模型机中的数据流向。
二、课设任务
1、在掌握各模块功能的基础上,构成模型机;
2、熟悉模型机的通路、微指令系统、与汇编指令的关系;
3、使用微机与模型机连接调试的应用程序HKCPT;
4、编辑程序,了解程序编译、加载及运行的过程。
三、使用的设备及软件
设备
此次课设使用HK-CPT-IV型计算机组成原理实验平台,实验平台简介如下:
1.基本功能模块:运算器模块、指令部件模块、堆栈寄存器模块、存储器模块、总线传输模块、微程序模块、启停和时序模块,以及用于调试和观察数据的监控模块。
2.组成结构:采用总线结构。总线分为:内部、外部地址总线,内部、外部数据总线。
3.监控模块:为实验调试和程序设计带来了相当的便利。实验者可以通过监控模块来修改微程序和内存中的程序。
4.操作方式:单机方式——整个系统可单独使用;联机方式——系统可与PC机相连。
软件
此次课设使用的软件为HKCPT,其使用介绍如下:
1.启动HKCPT:第一次启动HKCPT,用户需设置实验平台通讯端口。退出HKCPT 时,会自动保存用户最后一次的设置。用户选择“设置——实验平台”菜单项,在弹出的对话框中,选择相应的通讯串口、通讯波特率和延时因子。点击确定按钮,即可使用。
2.程序编写:选择“文件—新文件”菜单项,将新建一个空的编辑窗口。用户在编辑窗口中输入以下程序。输入完毕,选择“文件—另存为”菜单项,把该文件保存为demo.asm。因为编译器支持长文件名,用户也可以把该文件保存在如“我的文档”之类的目录夹中。用户可以直接选择“文件—打开”菜单项打开该文件。
3.程序编译:编译是检查源文件的语法错误,如果源文件没有语法错误,编译器将生成源文件的目标代码,由于是单汇编文件,编译产生的目标代码可以直接加载调试。用户选择“编译——编译当前文件”菜单项,将编译当前活动窗口中的源文件,编译结果的信息显示在输出窗口中。用户可以根据输出窗口中错误信息直接定位到源文件的相应位置。
4.程序运行:加载后,可以运行程序,有三种运行方式:
①微单步:每执行一条微程序,PC指针加1,微指令向后移动一步,同时结构图中绘出执行步及上一步的数据流向,各个寄存器和控制线状态会相应改变。
②程序单步:从当前PC指针行执行源文件的一行语句,然后又停止。结构图中显示的寄存器值和控制线都会随之刷新,但不显示数据流。
③全速运行:全速运行程序,遇到用户断点或按暂停键或执行到halt指令停止。
四、设备连接
实验过程中的设备连接包括3部分的内容:
1.数据总线的连接:
接口1 DJ1 DJ2 DJ3 DJ4 DJ5 DJ6 DJ7 PC_OUT 接口2 ALU_IN ALU_OUT R_IN R_OUT RA_IN RA_OUT PC_IN AJ1 2.各模块的连线:由于实验平台提供了连线板,在实验时,只要将连线板插在指定的地方,这样,各个模块就成功的连接了。
3.与计算机的连线:实验平台提供的连接线将实验平台与计算机相连,这样,计算机通过软件可以和平台相互通讯。
五、编程题目
从1加到10,再带进位右移一位,最后,再加上自已学号的后三位,结果存放到RAM 的40H号字节单元中。
六、程序流程图
开始
A=0
R0=10
A=A+R0
R0--
N
R0>0 ?
Y
A>>1
A=A+70
将A存入内存
结束
七、程序
根据程序流程图所示,可以进行代码的编写:MOV R0,#0A
MOV A,#0
MOV R3,#1
MOV R1,#1
ADD A,R3
MOV R2,A
MOV A,R3
SUB A,R0
JZ 14
MOV A,R3
ADD A,R1 MOV R3,A MOV A,R2 JMP 08 MOV A,R2 STA 20 RRC A
STA 30 MOV R0,#70 ADD A,R0 STA 40 HALT
八、程序每条指令对应的机器代码和对应的微指令指令机器代码微指令微代码
MOV R0,#0A 6E 0A 取指指令
Dbus->Ri DDBFFF 4DFFFF
MOV A,#0 5F 00 取指指令
Dbus->Ri DDFBFF 4DFFFF
MOV R3,#1 6C 01 取指指令
Dbus->Ri DDBFFF 4DFFFF
ADD A,R3 0C 取指指令
A->Dbus->DR1
Ri->Dbus->DR1
ALU->Dbus->A FFFCF9 FF7F79 FFFBA9 4DFFFF
MOV R2,A 4D 取指指令
A->Dbus->DR1
Ri->Dbus->DR1
ALU->Dbus->A 7FBDFF 4DFFFF
MOV A,R3 3C 取指指令
Dbus->A FF7BFF 4DFFFF
SUB A,R0 1E 取指指令
A->Dbus->Ri
取指指令
Ri->Dbus->IR2
(IR2)->Abus,Dbus->A FFFCD6 FE7F56 FFFB86 4DFFFF
JZ 14 B3 14 D4FFFF
MOV R3,A 4C 取指指令
A->Dbus->DR1
Ri->Dbus->DR1
ALU->Dbus->A 7FBDFF 4DFFFF
MOV A,R2 3D 取指指令
A->Dbus->DR1
Ri->Dbus->DR1
ALU->Dbus->A FF7BFF 4DFFFF
JMP 08 BF 06 取指指令
MOV A,R2 3D 取指指令
A->Dbus->DR1
Ri->Dbus->DR1
ALU->Dbus->A FF7BFF 4DFFFF
RRC A 9F 取指指令
A>>1 FFFEF1 4DFFFF
MOV R0,#73 6C 73 取指指令DDBFFF
4DFFFF