聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 华中科技大学文华学院计算机组成原理课设

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

时间:2020-09-18 12:29:47    下载该word文档

华中科技大学

文华学院

计算机组成原理

课程设计

部: 信息科学与技术学部

业: 软件工程

级: 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,再带进位右移一位,最后,再加上自已学号的后三位,结果存放到RAM40H号字节单元中。

六、程序流程图

七、程序

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

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

ADD A,R0

0C 8F

取指指令A->Dbus->DR1

Ri->Dbus->DR1

ALU->Dbus->A

FFFCF9

FF7F79

FFFBA9

4DFFFF

STA 40

0C 8F

取指指令

A->Dbus->DR1

Ri->Dbus->DR1

ALU->Dbus->A

D5FFFF

BBFDFF

4DFFFF

九、调试过程

1.全速执行:

全速执行可以一次性使所有的代码执行完毕,从而得出最终的结果。此过程一般用于代码准确无误之后的执行,其步骤为:单击菜单“调试”项,选择“全速执行”,最后可以看到最终的结果。在执行的过程中,实验平台上的指示灯不断地闪烁,是由于每一条微指令都对应着不同的指示灯的明暗情况。

2.程序单步:

程序单步用于调试使用,每一次执行一条指令,其步骤为:单击菜单“调试”项,选择“程序单步”,可以看到指令序列上的亮条纹移动了一条指令。在执行的过程中,实验平台上的指示灯不断地闪烁,是由于一条指令对应着多条微指令,每一条微指令都对应着不同的指示灯的明暗情况。

3.微单步:

微单步可以将每一条指令包含的微指令分步执行,其步骤为:单击菜单“调试”项,选择“微单步”,可以从结构图窗口中看到每一条微指令执行的操作。在实验平台上,可以看到指示灯的对应不同微指令的不同明暗变化。

例如:“SUB A,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、总结

总的来说,这个课设的完成确实是让我最有成就感的一件事,对于在一定的时间内完成到这种程度,我也确实感到惊讶,也对自己的成长感到自豪!虽然在这次实验中,我们并没有什么太大的亮点,也没有做出来高级功能的扩展,但是我们还是靠着自己的努力一步步实现了任务目标,靠自己的力量解决一系列难题,这也是一件很让人愉快的事。同时也很感老师们一直陪伴我们,给与我们指导与帮助,让我们能更有效率的完成这个实验。

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

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服