华中科技大学文华学院计算机组成原理课设.docx

上传人:b****1 文档编号:2955436 上传时间:2023-05-05 格式:DOCX 页数:13 大小:682.04KB
下载 相关 举报
华中科技大学文华学院计算机组成原理课设.docx_第1页
第1页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第2页
第2页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第3页
第3页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第4页
第4页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第5页
第5页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第6页
第6页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第7页
第7页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第8页
第8页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第9页
第9页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第10页
第10页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第11页
第11页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第12页
第12页 / 共13页
华中科技大学文华学院计算机组成原理课设.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

华中科技大学文华学院计算机组成原理课设.docx

《华中科技大学文华学院计算机组成原理课设.docx》由会员分享,可在线阅读,更多相关《华中科技大学文华学院计算机组成原理课设.docx(13页珍藏版)》请在冰点文库上搜索。

华中科技大学文华学院计算机组成原理课设.docx

华中科技大学文华学院计算机组成原理课设

华中科技大学

文华学院

计算机组成原理

课程设计

学部:

信息科学与技术学部

专业:

软件工程

班级:

1班

学号:

1001070111

姓名:

指导老师:

 

一、课设目的3

二、课设任务3

三、使用的设备及软件3

设备3

软件3

四、设备连接4

五、编程题目4

六、程序流程图5

七、程序5

八、对应的微指令6

九、调试过程7

十、结果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.程序运行:

加载后,可以运行程序,有三种运行方式:

1 微单步:

每执行一条微程序,PC指针加1,微指令向后移动一步,同时结构图中绘出执行步及上一步的数据流向,各个寄存器和控制线状态会相应改变。

2 程序单步:

从当前PC指针行执行源文件的一行语句,然后又停止。

结构图中显示的寄存器值和控制线都会随之刷新,但不显示数据流。

3 全速运行:

全速运行程序,遇到用户断点或按暂停键或执行到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号字节单元中。

六、程序流程图

七、程序

根据程序流程图所示,可以进行代码的编写:

MOVR0,#0A

MOVA,#0

MOVR3,#1

MOVR1,#1

ADDA,R3

MOVR2,A

MOVA,R3

SUBA,R0

JZ14

MOVA,R3

ADDA,R1

MOVR3,A

MOVA,R2

JMP08

MOVA,R2

STA20

RRCA

STA30

MOVR0,#70

ADDA,R0

STA40

HALT

八、程序每条指令对应的机器代码和对应的微指令

指令

机器代码

微指令

微代码

MOVR0,#0A

6E0A

取指指令

Dbus->Ri

DDBFFF

4DFFFF

MOVA,#0

5F00

取指指令

Dbus->Ri

DDFBFF

4DFFFF

MOVR3,#1

6C01

取指指令

Dbus->Ri

DDBFFF

4DFFFF

ADDA,R3

0C

取指指令A->Dbus->DR1

Ri->Dbus->DR1

ALU->Dbus->A

FFFCF9

FF7F79

FFFBA9

4DFFFF

MOVR2,A

4D

取指指令A->Dbus->DR1

Ri->Dbus->DR1

ALU->Dbus->A

7FBDFF

4DFFFF

MOVA,R3

3C

取指指令

Dbus->A

FF7BFF

4DFFFF

SUBA,R0

1E

取指指令

A->Dbus->Ri

取指指令

Ri->Dbus->IR2

(IR2)->Abus,Dbus->A

FFFCD6

FE7F56

FFFB86

4DFFFF

JZ14

B314

D4FFFF

MOVR3,A

4C

取指指令A->Dbus->DR1

Ri->Dbus->DR1

ALU->Dbus->A

7FBDFF

4DFFFF

MOVA,R2

3D

取指指令A->Dbus->DR1

Ri->Dbus->DR1

ALU->Dbus->A

FF7BFF

4DFFFF

JMP08

BF06

取指指令

MOVA,R2

3D

取指指令A->Dbus->DR1

Ri->Dbus->DR1

ALU->Dbus->A

FF7BFF

4DFFFF

RRCA

9F

取指指令

A>>1

FFFEF1

4DFFFF

MOVR0,#73

6C73

取指指令

DDBFFF

4DFFFF

ADDA,R0

0C8F

取指指令A->Dbus->DR1

Ri->Dbus->DR1

ALU->Dbus->A

FFFCF9

FF7F79

FFFBA9

4DFFFF

STA40

0C8F

取指指令

A->Dbus->DR1

Ri->Dbus->DR1

ALU->Dbus->A

D5FFFF

BBFDFF

4DFFFF

九、调试过程

1.全速执行:

全速执行可以一次性使所有的代码执行完毕,从而得出最终的结果。

此过程一般用于代码准确无误之后的执行,其步骤为:

单击菜单“调试”项,选择“全速执行”,最后可以看到最终的结果。

在执行的过程中,实验平台上的指示灯不断地闪烁,是由于每一条微指令都对应着不同的指示灯的明暗情况。

2.程序单步:

程序单步用于调试使用,每一次执行一条指令,其步骤为:

单击菜单“调试”项,选择“程序单步”,可以看到指令序列上的亮条纹移动了一条指令。

在执行的过程中,实验平台上的指示灯不断地闪烁,是由于一条指令对应着多条微指令,每一条微指令都对应着不同的指示灯的明暗情况。

 

3.微单步:

微单步可以将每一条指令包含的微指令分步执行,其步骤为:

单击菜单“调试”项,选择“微单步”,可以从结构图窗口中看到每一条微指令执行的操作。

在实验平台上,可以看到指示灯的对应不同微指令的不同明暗变化。

例如:

“SUBA,R2”对应的微指令序列为:

1 取指令

2 A->BUS->DR1

3 R2->BUS->DR2

4 ALU->BUS->A

微单步:

 

十、结果

1.应得结果:

1+2+3+4+5+6+7+8+9+10=55=(00110111)B

移位后得(00011011)B=(1B)H

我学号的末3位为112=(70)H

则结果为(1B)H+(70)H=(8c)H。

2.查看方法:

在“程序代码窗口”范围内单击鼠标右键,选择“读出”项,在相应的内存区间可以看到内存中的结果:

在本例中,数据显示在第4行、第1列(第40H号字节单元内存中)。

3.实际结果:

用读出命令,在程序代码窗口中读出结果——8CH,与计算结果一致。

11、总结

总的来说,这个课设的完成确实是让我最有成就感的一件事,对于在一定的时间内完成到这种程度,我也确实感到惊讶,也对自己的成长感到自豪!

虽然在这次实验中,我们并没有什么太大的亮点,也没有做出来高级功能的扩展,但是我们还是靠着自己的努力一步步实现了任务目标,靠自己的力量解决一系列难题,这也是一件很让人愉快的事。

同时也很感谢老师们一直陪伴我们,给与我们指导与帮助,让我们能更有效率的完成这个实验。

最后也是对这次试验的一个感慨,这次试验确实让我有了很大的提高,不只是知识层面,精神层面也有着飞跃,思考能力,发现错误能力,排错纠错能力,这才是我觉得学到的最宝贵的东西,希望在以后的学习生活中还能再接触到相关的有趣知识,让我能有更大的提高!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2