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

上传人:b****3 文档编号:4873365 上传时间:2022-12-11 格式:DOCX 页数:16 大小:266.13KB
下载 相关 举报
计算机组成原理除法课程设计.docx_第1页
第1页 / 共16页
计算机组成原理除法课程设计.docx_第2页
第2页 / 共16页
计算机组成原理除法课程设计.docx_第3页
第3页 / 共16页
计算机组成原理除法课程设计.docx_第4页
第4页 / 共16页
计算机组成原理除法课程设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

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

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

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

计算机组成原理除法课程设计

课程设计说明书

 

题目:

设计指令系统

 

院系:

计算机科学与工程学院

专业班级:

计算机10-03班

学号:

**********

**********

****************

 

2013年1月10日

 

安徽理工大学课程设计(论文)任务书

计算机科学与工程学院监控与嵌入式技术系

学号

2010303089

学生姓名

胡敬杰

专业(班级)

计算机10-3班

设计题目

设计指令系统

1.本系统采用DJ-CPTH超强型计算机组成原理教学实验系统搭建电路图,在实验箱上实现指令系统。

2.利用软件工程中的可行性研究以及分析方法,进行系统分析。

1在基本模型机的基础上设计取数、存数、输入、输出、与、或、非、加法、减法、移位指令等,用这些指令的助记符不得与指导书上相同。

2.指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。

3.利用新构建的指令系统编程,分别实现求补、同或、异或、乘法、除法、两存储单元数据交换等功能。

1.课程设计说明书2000字;

2.画出流程图,编写微指令代码和程序。

1.首先认真研究老师所给的题目,了解题目要求做什么。

2.查阅资料,解决难题。

3.编写源程序并调试之。

4.写课程设计说明书

[1]蒋本珊.计算机组成原理(第2版).北京:

清华大学出版社,2011

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

科学出版社,2008

[3]DJ-CPTH超强型计算机组成原理与系统结构实验指导书

[4]沈美明.汇编语言程序设计北京:

清华大学出版社

指导教师签字

教研室主任签字

2012年12月17日

指导教师评语:

 

成绩:

指导教师:

年月日

安徽理工大学课程设计(论文)成绩评定表

摘要

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

利用CPU与简单模型机来实现计算机组成原理课程设计,编写指令的应用程序,用微程序控制器实现一系列的指令功能,最终达到将理论与实践相联系。

本次设计完成了相关指令的格式以及编码的设计,实现了机器指令微代码,完成具有一定功能的程序。

在基本模型机的基础上构建一组能实现输入、输出、加、减、逻辑与、逻辑或、逻辑非、转移指令等8个功能的指令,这些指令的助记符不得与指导书上相同。

指令包括立即数寻址、寄存器直接寻址、存储器直接寻址三种寻址方式。

利用新构建的指令系统编程,实现交换两存储单元数据的功能。

关键字:

指令系统,寻址方式,算术逻辑

 

1系统分析

1.1设计背景

一台计算机所能执行的各种指令集合称为指令系统或指令集。

一台特定的计算机只能执行自己指令系统中的指令。

因此,指令系统就是计算机的机器语言。

指令系统表征着计算机的基本功能和使用属性,它是计算机系统设计中的核心问题。

指令系统的设计主要括指令功能、操作类型的设计,寻址方式和指令格式的设计。

计算机的性能与它所设置的指令系统有很大的关系,指令系统反映了计算机的主要属性,而指令系统的设置又与机器的硬件结构密切相关。

指令是计算机执行某种操作的命令,而指令系统是一台计算机中所有机器指令的集合。

通常性能较好的计算机都设置有功能齐全、通用性强、指令丰富的指令系统,而指令功能的实现需要复杂的硬件结构来支持。

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

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

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

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

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

本设计是在DJ-CPT816计算机组成原理实验仪和仿真软件上进行的

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

没有输出

表2ALU运算

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设计目标

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

MOV(传送)、OUTE(输出)、AND(逻辑与)、ORE(逻辑或)、ADDE(不带进位算术加)、ADDCE(带进位算术加)、SUBE(不带进位算术减)、JCE、JZE、JMPE(转移指令)。

并且要包括立即数寻址,寄存器直接寻址,存储器直接寻址三种寻址方式。

最后要在设计的指令系统基础上,编写程序实现除法功能。

 

2系统设计

2.1模型机的指令系统设计

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

由此设计出新的指令系统,如下截图

 

图2.1新的指令系统

 

2.2模型机的微指令设计

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

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

助记符

状态

微地址

微程序

数据输出

数据打入

地址输

运算

uPC

PC

_FETCH_

T0

00

CBFFFF

指令寄存器IR

PC输出

A输出

写入

1

01

FFFFFF

A输出

1

02

FFFFFF

A输出

1

03

FFFFFF

A输出

1

ADDA,#*

T2

04

C7FFEF

存储器值EM

寄存器W

A输出

1

1

T1

05

FFFE90

ALU直通

寄存器A,

标志位C,Z

PC输出

加运

1

T0

06

CBFFFF

指令寄存器IR

PC输出

A输出

写入

1

07

FFFFFF

A输出

1

SUBA,#*

T2

08

C7FFEF

存储器值EM

寄存器W

PC输出

A输出

1

1

T1

09

FFFE91

ALU直通

寄存器A标志

位C,Z

减运

1

T0

0A

CBFFFF

指令寄存器IR

PC输出

A输出

写入

1

0B

FFFFFF

A输出

1

ANDR,#*

T3

0C

C7FFEF

A输出

1

T2

0D

FFF7F7

指令寄存器IR

PC输出

A输出

写入

1

T1

0E

FFFE93

A输出

1

T0

0F

CBFFFF

A输出

1

OUT

T1

10

FFDF9F

ALU直通

用户OUT

A输出

1

T0

11

CBFFFF

指令寄存器IR

PC输出

A输出

写入

1

12

FFFFFF

A输出

1

13

FFFFFF

A输出

1

JMP*

T1

14

C6FFFF

存储器值EM

寄存器PC

PC输出

A输出

1

T0

15

CBFFFF

指令寄存器IR

PC输出

A输出

写入

1

16

FFFFFF

A输出

1

17

FFFFFF

A输出

1

MOVR?

#*

T1

18

C7FBFF

存储器值EM

寄存器R?

PC输出

A输出

1

1

T0

19

CBFFFF

指令寄存器IR

PC输出

A输出

写入

1

1A

FFFFFF

A输出

1

1B

FFFFFF

A输出

1

JZ*

T1

1C

C6FFFF

存储器值EM

寄存器PC

PC输出

A输出

1

T0

1D

CBFFFF

指令寄存器IR

PC输出

A输出

写入

1

1F

FFFFFF

A输出

1

20

FFFFFF

A输出

1

RRR?

T1

21

FFF7F7

存储器值EM

寄存器PC

PC输出

A输出

1

T0

22

FFF9BF

指令寄存器IR

PC输出

A输出

写入

1

23

CBFFFF

A输出

1

24

FFFFFF

A输出

1

MOVA,#*

25

C7FFF7

26

CBFFFF

27

FFFFFF

28

FFFFFF

ANDA,#*

29

C7SUBR1,AFFEF

2A

FFFE93

2B

CBFFFF

2C

FFFFFF

MOVA,R

2D

FFF7F7

2F

CBFFFF

30

FFFFFF

31

FFFFFF

END

32

CBFFFF

33

FFFFFF

34

FFFFFF

35

FFFFFF

 

2.3实现除法功能的程序设计

程序设计思路:

先将两个立即数存入寄存器r0(被除数)和r1(除数),然后判断除数是否为零,是则输出结果为0,结束程序,否则继续第二步,将除数右移一位,再检查除数是否为零,是则输出结果r0中的数结束,否则进入第三步,将除数右移然后将被除数右移,检查被除数是否为零,是则输出0结束,否则调到第三步继续运行。

 

源程序截图如下:

 

3系统实现

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

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

MOVA,#00H

MOVR0,#11H

MOVR1,#07H

ANDR1,#01H

JZS1

ADDA,#01

S1:

ANDR1,0FH

JZS2

RRR1

ANDR1,0FH

JZS3

S5:

RRR1

RRR0

ANDR0,0FH

JZS2

ANDR1,0FH

JZS4

JMPS5

S2:

MOVA,#00H

JMPE

 

S3:

MOVA,R0

JMPE

S4:

ANDA,0FH

JZS6

MOVA,R0

SUBA,#01

JMPE

S6:

MOVA,R0

E:

OUTA

END

 

3.将程序另存为.asm文件,再汇编成机器码,调试窗口会显示出程序、机器码、反汇编指令,如图3.1

 

图3.1程序、机器码、反汇编指令

4.实验结果:

使用DJ-CPTH运行此程序后得出了正确的结果,故实现了设计要求。

4总结

通过本次课程设计,我巩固了所学的《计算机组成原理》中有关指令系统、总线系统等方面的知识,进一步加深了对计算机组成原理实验仪的使用方法的了解,能够更加熟练的使用计算机组成原理实验仪,同时还让我复习并运用了算法设计与分析和汇编语言的内容,此次课程设计进一步巩固和提高了自己的基础知识。

通过这次课程设计,既锻炼了我的动手能力,又锻炼了我的动脑能力,使我理论联系实际,使所学的知识不再枯燥无味,将所学的知识运用到实际,让我掌握这些知识更牢固。

在查找资料的同时也锻炼了自己的自学能力,还提高了获取有用信息的能力。

同时课程设计过程中与组内成员的积极合作培养了自己的团队意识,让自己再一次认识到了团队合作的重要性。

此次做课程设计也为自己积累了必要的经验,做课程设计或者以后做项目一定在最开始有个大体的设计思路,按照设计思路一步步的做,没有设计思路盲目做的话,会导致设计混乱,浪费大量时间。

而且在做课程设计的过程中需要查阅大量资料,积极与组员合作,选择方法时要严谨,如果遇到错误要尽快寻求到解决的办法,以防止影响以后的设计。

本次课程设计对我来说是一次很好的实践机会,锻炼了自己的动手能力,让我能够过活学活用知识,在实践中加深对所学课程的理解,让我充分认识到了理论与实践的重要性。

在以后的学习与生活中,要不断的把课本所学的知识与生活实际相结合,让自己知道自己所学知识的用处以及发现有待加强和学习的地方。

总之,此次课程设计,自己获益匪浅。

5参考文献

1.白中英.《计算机组成原理(第二版)》.北京:

科学出版社,1998

2.平玲娣,潘雪增.《计算机组成与设计》浙江大学出版社,出版日期:

2004

3.裘雪红,李博成,车向全等.《计算机组成与系统结构》.北京:

高等教育出版社,2009

4.《DJ-CPTH超强型计算机组成原理与系统结构实验指导书》

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1