计算机组成原理课程设计.docx

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

计算机组成原理课程设计.docx

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

计算机组成原理课程设计.docx

计算机组成原理课程设计

 

课程设计说明书

 

题目:

计算机组成原理课程设计

 

院系:

计算机科学与工程学院

专业班级:

电子仪器10-1

学号:

学生姓名:

指导教师:

 

2013年1月9日

课程设计(论文)任务书

计算机科学与工程院系硬件教研室

学号

学生姓名

专业(班级)

设计题目

设计基本模型机的指令系统实现异或,乘除等程序

计算机组成原理教学实验仪一台,排线若干;

PC机一台

DJ-CPT816组成原理实验软件

模型机的指令系统,微程序,微指令,程序

设计基本模型机的指令系统(包括逻辑与,逻辑或,算术加,减运算,输入,输出,转移,传送指令)

在已编写的指令系统上设计程序

按时提交设计报告

论文不少于15页,附带必要的图表

设计课一:

分析设计要求,制定设计计划,完成指令系统设计,并在CPTH实验软件

中形成.mic文件

设计课二:

分析设计编写程序

设计课三:

在微机和试验仪的支持下,调入指令系统和程序,运行,测试,完成系统的设计

设计课四:

提交设计报告

[1]李敬兆.8086/8088和基于ARM核汇编语言程序设计

[2]清华大学出版社.计算机组成原理与设计实验指导

[3]白中英.计算机组成原理

指导教师签字

教研室主任签字

2013年1月9日

 

摘要

在飞速发展的科技社会中,计算机被应用到各行各业,各个领域中。

人们渐渐地步入自动化、智能化的生活阶段。

本次计算机组成原理课程设计课题是基本模型机的设计与实现。

利用CPU与简单模型机来实现计算机组成原理课程及实验中所学到的实验原理和编程思想,硬件设备自拟,编写指令的应用程序,用微程序控制器实现了一系列的指令功能,最终达到将理论与实践相联系。

本次设计完成了各指令的格式以及编码的设计,实现了各机器指令微代码,设计基本模型机的指令系统(包括逻辑与,逻辑或,算术加,减运算,输入,输出,转移,传送指令),形成具有一定功能的完整的应用程序。

简言之,这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指令的功能由24位操作信号(即控制位)实现。

这一课题的实现不仅使我们对各种微指令有了熟练的掌握,更对有关知识的深入学习打下基础。

关键词:

指令系统,微指令,机器指令

目录

1.系统分析1

1.1设计背景1

1.2模型机寻址方式3

1.3设计目标3

2.系统设计4

2.1模型机的指令设计4

2.2模型机的微指令设计5

2.3异或程序设计9

3.系统实现10

3.1程序编写10

3.2程序分析10

3.3调试结果11

3.4程序补充12

4.总结14

4.1设计体会14

4.2系统改进15

参考文献16

1.系统分析

1.1设计背景

通过计算机组成原理理论课和几次实验的学习,尝试设计八类机器指令,并编写相应的微程序,完成由基本单元电路构成一台基本模型机,再经过调试指令和模型机使其在微程序的控制下自动产生各部件单元的正常工作控制信号。

本课程设计的模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数,指令码的最低两位用来选择R0-R3寄存器。

在微程序控制方式下,用指令码作为微地址来寻址微程序存储器,找到执行该指令的微程序。

在本模型机中,一条指令最多分为四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。

模型机有24位控制位以控制寄存器的输入输出,选择运算器的运算功能,存储器的读写。

简言之,这次设计,计算机数据通路的控制将由微程序控制器来完成,CPU从内存中取出一条机器指令到指令执行结束的一个指令周期,全部由微指令组成的序列来完成,即一条机器指令对应一条微程序,一条微程序又有若干微指令组成,一条微指令的功能由24位操作信号(即控制位)实现。

24位控制位分别介绍如下:

XRD:

外部设备读信号,当给出个外设的地址后,输出此信号,从指定外设读数据。

EMWR:

程序存储器EM写信号

EMRD:

程序存储器EM读信号

PCOE:

将程序计数器PC的值送到地址总线ABUS上

EMEN:

将程序存储器EM与数据总线DBUS接通,有EMWR和EMRD决定是将DBUS数据写入EM中,还是从EM读出数据到DBUS

IREN:

将程序存储器EM独处的数据打入指令寄存器IR和微指令计数器uPC

EINT:

中断返回时清除中断响应和中断请求标志,便于下次中断。

ELP:

PC打入允许,与指令寄存器的IR2.,IR3位结合,控制程序跳转。

MAREN:

将数据总线DBUS上数据打入地址寄存器MAR

MAROE:

将地址寄存器MAR的值送到地址总线ABUS上

OUTEN:

将数据总线DBUS上数据送到输出端口寄存器OUT里

STEN:

将数据总线DBUS上数据存到堆栈寄存器里

RRD:

读寄存器组R0-R3,寄存器R?

的选择由指令的最低两位决定

RWR:

写寄存器组R0-R3,寄存器R?

的选择由指令的最低两位决定

CN:

决定运算器是否带进位移位,CN=1带进位,CN=0不带进位

FEN:

将标志位存入ALU内部的标志寄存器

X2,X1,X0三位组合来译码选择将数据送到DBUS上的哪个寄存器,见表1

WEN:

将数据总线DBUS的值打入工作寄存器W中

AEN:

将数据总线DBUS的值打入累加器A中

S2,S1,S0三位组合决定ALU做何种运算,见表2

表1

X2X1X0

输出寄存器

000

IN_OE外部输入门

001

IA_OE中断向量

010

ST_OE堆栈寄存器

011

PC_OEPC寄存器

100

D_OE直通门

101

R_OE右移门

110

L_OE左移门

111

没有输出

表2

S2S1S0

功能

000

A+W加

001

A-W减

010

A|W或

011

A&W与

100

A+W+C带进位加

101

A-W-C带进位减

110

~AA取反

111

A输出A

 

1.2模型机寻址方式

模型机的寻址方式分五种:

累加器寻址:

操作数为累加器A,例如“CPLA”是将累加器A值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。

寄存器寻址:

参与运算的数据在R0-R3的寄存器中,例如“ADDA,R0”指令是将寄存器R0的值加上累加器A的值,再存入累加器A中。

寄存器间接寻址:

参与运算的数据在存储器EM中,数据的地址在寄存器R0-R3中,如“MOVA,@R1”指令是将寄存器R1的值做为地址,把存储器EM中该地址的内容送入累加器A中。

存储器直接寻址:

参与运算的数据在存储器EM中,数据的地址为指令的操作数。

例如“ANDA,40H”指令是将存储器EM中40H单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。

立即数寻址:

参与运算的数据为指令的操作数。

例如“SUBA,#10H”是从累加器A中减去立即数10H,结果存入累加器A。

1.3设计目标

本课程设计要求实现机器指令:

YD(传送),IN(输入),YU(逻辑与),HUO(逻辑或),OUT(输出),ADD(算术加),SUB(算术减),JC,JZ,JMP(转移)和FEI(逻辑非)。

要包括直接寻址,立即数寻址,寄存器寻址,间接寻址四种寻址方式。

最后要在设计的指令系统基础上,编写程序实现异或,乘除,平方。

2.系统设计

2.1模型机的指令设计

根据设计要求,设计出的指令要包括传送,逻辑与,逻辑或,算术加,减运算,输入,输出,转移这八种指令,且要运用直接寻址,立即数寻址,寄存器寻址,间接寻址四种寻址方式。

由此设计出指令表如表3:

表3指令表

指令类型

助记符

机器码

功能

取指

_FETCH_

000000xx

IR→PC

算术加

ADDA,R?

000001xx

R?

+A→A

ADDA,@R?

000010xx

@R?

+A→A

ADDA,*

000011xx*

(*)+A→A

ADDA,#*

000100xx#*

*+A→A

算术减

SUBA,R?

001001xx

R?

-A→A

SUBA,@R?

001010xx

@R?

-A→A

SUBA,*

001011xx*

A-(*)→A

SUBA,#*

001100xx#*

A-*→A

输入

IN

010001xx

K23…K16→A

输出

OUT

010010xx

A→OUT寄存器

逻辑与

YUA,R?

010011xx

R?

&&A→A

YUA,@R?

010100xx

@R?

&&A→A

YUA,*

010101xx*

(*)&&A→A

YUA,#*

010110xx#*

*&&A→A

逻辑或

HUOA,R?

010111xx

R?

||A→A

HUOA,@R?

011000xx

@R?

||A→A

HUOA,*

011001xx*

(*)||A→A

HUOA,#*

011010xx#*

*||A→A

逻辑非

FEIA

011011xx

A取反

传送

YDR?

A

100000xx

A→R?

YD*,A

100010xx*

A→(*)

YDR?

#*

100011xx#*

*→R?

YDA,R?

011100xx

R?

→A

YDA,#*

011111xx#*

*→A

转移

JC*

100100xx*

CF=1则*→PC

JZ*

100101xx*

ZF=1则*→PC

JMP*

100111xx*

2.2模型机的微指令设计

(1)微指令的24位控制位如下:

▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫▫

XRDEMWREMRDPCOEEMENIRENEINTELPMARENMARDEOUTENSTENRRDRWRCNFENX2X1X0WENAENS2S1S0

(2)设计出的微指令集如表4:

表4微指令集表

助记符

微地

微程序

_FETCH_

T0

00

CBFFFF

01

FFFFFF

02

FFFFFF

03

FFFFFF

ADDA,R?

T2

04

FFF7EF

T1

05

FFFE90

T0

06

CBFFFF

07

FFFFFF

ADDA,@R?

T3

08

FF77FF

T2

09

D7BFEF

T1

0A

FFFE90

T0

0B

CBFFFF

ADDA,*

T3

0C

C77FFF

T2

0D

D7BFEF

T1

0E

FFFE90

T0

0F

CBFFFF

ADDA,#*

T2

10

C7FFEF

T1

11

FFFE90

T0

12

CBFFFF

13

FFFFFF

SUBA,R?

T2

24

FFF7EF

T1

25

FFFE91

T0

26

CBFFFF

27

FFFFFF

SUBA,@R?

T3

28

FF77FF

T2

29

D7BFEF

T1

2A

FFFE91

T0

2B

CBFFFF

SUBA,*

T3

2C

C77FFF

T2

2D

D7BFEF

T1

2E

FFFE91

T0

2F

CBFFFF

SUBA,#*

T2

30

C7FFEF

T1

31

FFFE91

T0

32

CBFFFF

33

FFFFFF

IN

T1

44

FFFF17

T0

45

CBFFFF

46

FFFFFF

47

FFFFFF

OUT

T1

48

FFDF9F

T0

49

CBFFFF

4A

FFFFFF

4B

FFFFFF

YUA,R?

T2

4C

FFF7EF

T1

4D

FFFE93

T0

4E

CBFFFF

4F

FFFFFF

YUA,@R?

T3

50

FF77FF

T2

51

D7BFEF

T1

52

FFFE93

T0

53

CBFFFF

YUA,*

T3

54

C77FFF

T2

55

D7BFEF

T1

56

FFFE93

T0

57

CBFFFF

YUA,#*

T2

58

C7FFEF

T1

69

FFFE93

T0

5A

CBFFFF

5B

FFFFFF

HUOA,R?

T2

5C

FFF7EF

T1

5D

FFFE92

T0

5E

CBFFFF

5F

FFFFFF

HUOA,@R?

T3

60

FF77FF

T2

61

D7BFEF

T1

62

FFFE92

T0

63

CBFFFF

HUOA,*

T3

64

C77FFF

T2

65

D7BFEF

T1

66

FFFE92

T0

67

CBFFFF

HUOA,#*

T2

68

C7FFEF

T1

69

FFFE92

T0

6A

CBFFFF

6B

FFFFFF

FEIA

T1

6C

FFFE96

T0

6D

CBFFFF

6E

FFFFFF

6F

FFFFFF

YDA,R?

T1

70

FFF7F7

T0

71

CBFFFF

72

FFFFFF

73

FFFFFF

YDA,@R?

T2

74

FF77FF

T1

75

D7BFF7

T0

76

CBFFFF

77

FFFFFF

YDA,*

T2

78

C77FFF

T1

79

D7BFF7

T0

7A

CBFFFF

7B

FFFFFF

YDA,#*

T1

7C

C7FFF7

T0

7D

CBFFFF

7E

FFFFFF

7F

FFFFFF

YDR?

A

T1

80

FFFB9F

T0

81

CBFFFF

82

FFFFFF

83

FFFFFF

YD@R?

A

T2

84

FF77FF

T1

85

B7BF9F

T0

86

CBFFFF

87

FFFFFF

YD*,A

T2

88

C77FFF

T1

89

B7BF9F

T0

8A

CBFFFF

8B

FFFFFF

YDR?

#*

T1

8C

C7FBFF

T0

8D

CBFFFF

8E

FFFFFF

8F

FFFFFF

JC*

T1

90

C6FFFF

T0

91

CBFFFF

92

FFFFFF

93

FFFFFF

JZ*

T1

94

C6FFFF

T0

95

CBFFFF

96

FFFFFF

97

FFFFFF

JMP*

T1

98

C6FFFF

T0

99

CBFFFF

9A

FFFFFF

9B

FFFFFF

2.3异或程序设计

程序设计思路:

有等式

则有程序流程图如图5:

图5程序流程图

3.系统实现

3.1程序编写

按照系统分析中得到的指令集,在DJ-CPT816实验软件中新建指令系统,生成.mac文件和.mic文件。

在DJ-CPT816实验软件中新建.asm文件,输入程序:

IN

YDR0,A

IN

YDR1,A

FEIA

YDR2,A

YDA,R0

FEIA

YDR3,A

YDA,R0

YUA,R2

YDR2,A

YDA,R1

YUA,R3

YDR3,A

YDA,R2

ADDA,R3

OUT

END

 

3.2程序分析

IN//准备输入第一个二进制数

YDR0,A//输入第一个二进制数到寄存器R0

IN//准备输入第二个二进制数

YDR1,A//输入第一个二进制数到寄存器

FEIA//对累加器A里面的值取反

YDR2,A//把A里面的值存到寄存器R2中

YDA,R0//把R0里面的值存到寄存器A中

FEIA//对累加器A里面的值取反

YDR3,A//把A里面的值存到寄存器R3中

YDA,R0//把R0里面的值存到寄存器A中

YUA,R2//对A和R2里面的值进行与操作,并将结果放入A中

YDR2,A//把A里面的值存到寄存器R2中

YDA,R1//把R1里面的值存到寄存器A中

YUA,R3//对A和R3里面的值进行与操作,并将结果放入A中

YDR3,A//把A里面的值存到寄存器R3中

YDA,R2//把R2里面的值存到寄存器A中

ADDA,R3//把A和R3中的值进行加操作,并将结果放入A中

OUT//输出A中的值

END

3.3调试结果

把计算机与试验仪器相连接,打开试验仪器,导入新建的指令系统,编译下载该asm文件,装载正确后单步运行,检查运行结果是否符合要求。

实验结果:

1.第一次置K23—K16为00101000,第二次置K23—K16为01011111,输出的是01110111

2.第一次置K23—K16为00101111,第二次置K23—K16为00101101,输出的是00000010

 

3.4程序补充

乘法:

IN

YDR0,A

YDA,#00H

YDR1,A

IN

YDR2,A

Q1:

YDA,R2

SUBA,#01H

YDR2,A

JCS1

YDA,R1

ADDA,R0

YDR1,A

JUMPQ1

S1:

YDA,R1

OUT

YDA,#00

YDR0,A

YDR1,A

YDR2,A

YDR3,A

除法:

IN

YDR0,A

IN

YDR1,A

Q2:

YDA,R0

SUBA,R1

JCS2

YDR0,A

YDA,R2

ADDA,#01

YDR2,A

JUMPQ2

S2:

YDA,R2

OUT

YDA,#00H

YDR0,A

YDR1,A

YDR2,A

YDR3,A

4.总结

4.1设计体会

经过为期四周的课程设计,一路走下来发现自己存在的问题还是非常多的,当初拿到课程设计题目的时候由于相关知识的缺乏,自己并没有很好的设计思路,在通过和同学的探讨以及查阅相关资料之后,发现有时候同学之间的交流还是能够学到很多东西的。

本次课程设计要求我们设计一台微程序控制的模型机,设计基本模型机的指令系统(包括逻辑与,逻辑或,算术加,减运算,输入,输出,转移,传送指令),设计的目的是让我们增加自己的动手能力,真正的达到理论与实际的结合。

由于自己对计算机硬件知识了解的不是非常透彻,对相关部件的工作原理并不是很清楚,在刚开始设计感觉到无从下手,只能够由实验书上的简单例子进行相关的试验,并查阅相关资料漫漫的由浅入深达到设计的目的。

通过本次设计,我们透彻地了解到指令和微指令之间的关系,并了解其工作原理。

通过对计算机组成原理的学习,对我们了解计算机的结构及其工作方式,有很大的帮助。

对于我们今后对计算机其他课程的学习也有着很大的帮助。

本次课程设计尚有许多不足之处,在以后的学习和实践中,必将改进。

我认为,在学习中要考虑到“学以致用”,不能过分强调课程的系统性和基本理论的完整性,而应该侧重于基本方法和应用实例重要的一点就是,计算机组成原理很复杂,对某个指令进行修改时,本来很简单的一个操作会用比较烦琐的微指令来解决,也需要解决许多问题,我认为以上是本人学习计算机组成原理课程中的一些见解和体会。

因为课程设计是要求将以前在课堂上学的理论知识运用到实际的设计当中去,所以在设计过程中,我们一定会碰到各种各样的问题。

为了解决这些问题,我们一定会仔细认真的去翻阅自己以前学过但是以为已经了解熟悉的东西。

这在无形中帮助我们加深对所学知识的了解及运用能力,并且让我们明白什么地方是我们真正需要去关注的。

而且这样我们对课本以及以前学过的知识有了一个更好的总结与理解。

而课程设计需要我们不但通过翻阅复习以前学过的知识而且需要查阅更多的相关信息。

通过这次课程设计,我更进一步了解了计算机的组成,尤其对数据选择器、移位器、加法器、运算器、存储器和微程序控制器,有了非常透彻的认识。

并且对线路的连接与模型机的各个硬件的结构,以及微程序微指令的一些编制与设计有了一定的了解。

从一种微观的角度更加了解计算机模型机,这样我对于计算机的了解更加深入。

对于计算机的工作原理也有部分更深入的认识。

还体会到了实践动手和合作的重要性,以及做一件事要有计划和顺序。

4.2系统改进

本系统由于立即数寻址方式未能做好,所以程序代码方面效率不是太高。

主要是因为:

修改助记符和微指令时并没有按照规范的步骤修改,就通过记事本方式修改了.mic文件,.mac文件和.dat文件,虽然运行结果运行可以,但立即数那一块运行有问题。

所以本系统要想改善的话,应该重新做微指令那块,但考虑到时间问题就没有重新做微指令了,虽然程序不是很精简,但运行也没什么问题。

还有就是指令合并没做,这样可以使程序代码简化,运行速度加快,但自身能力不足就没做了。

参考文献

[1]计算机组成原理实验指导书.王诚,宋佳兴,董长洪编著.清华大学出版社,2002.

[2]《计算机组成原理》学习指导与训练.旷海兰等编著.中国水利水电出版社,2004.

[3]计算机原理与设计.宋焕章张春元王保恒.长沙:

国防科技大学出版社,2000.

[4]白中英.计算机组成原理(第二版).北京:

科学出版社,1998

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

当前位置:首页 > 法律文书 > 调解书

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

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