好文档 - 专业文书写作范文服务资料分享网站

《计算机组成原理》课程设计报告

天下 分享 时间: 加入收藏 我要投稿 点赞

计算机组成原理 课程设计报告

专业 计算机科学与技术

学生姓名 班级 学

指导教师 完成日期

盐城工学院信息学院

目 录

一、课程设计的目的 .................................................... 错误!未定义书签。 二、课程设计的内容 .................................................... 错误!未定义书签。 1.题目: ................................................................. 错误!未定义书签。 2.功能: ................................................................. 错误!未定义书签。 3.实现步骤:......................................................... 错误!未定义书签。 三、主要技术指标及特点 ............................................ 错误!未定义书签。 四、设计小结 ................................................................ 错误!未定义书签。 五、参考文献 ................................................................ 错误!未定义书签。

1

一、课程设计的目的

本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。

二、课程设计的内容

1.题目:计算机组成原理算法实现(三)

2.功能:课题③能够实现逻辑运算(逻辑非、逻辑加、逻辑乘、逻辑异)、定点整数的单符号位补码加减运算、定点整数的原码一位乘法运算和浮点数的加减运算。 3.实现步骤:

(1)系统进入(主)窗体的设计:菜单需要在输入口令正确后方可激活使用。口令输入错误时要给出重新输入口令的提示,三次口令输入错误应该禁止使用。

2

(2)选择主窗体中“逻辑运算”时进入下图所示的窗体:

在上面的窗体中按“输入”按扭时,将输入焦点设置为最上面的一个文本框上。依次输入两个(或一个)二进制数(如或)后,按“逻辑非”、“逻辑加”、“逻辑乘”或“逻辑异”按扭中的任一个后,将在第三个文本框中显示对应操作的结果。选择“返回”按扭时回到主窗体。

3

(3)进行定点整数单符号位补码加减法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。操作时首先选择“输入”按扭输入参与运算的数据,然后再选操作按扭。各自窗体的参考图如下所示:

4

在第一个数中输入+在第二个数中输入-点击加法按钮和减法按钮可得加法 结果和减法结果

进行定点整数定点整数原码乘法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。操作时首先选择“输入”按扭输入参与运算的数据,然后再选操作按扭。各自窗体的参考图如下所示:

5

进行定点整数单符号位补码加减法、定点整数原码乘法、浮点加减法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。操作时首先选择“输入”按扭输入参与运算的数据,然后再选操作按扭。各自窗体的参考图如下所示:

6

如需帮助,可按帮助按钮,得到以下窗口:

三、主要技术指标及特点 数据表示方法:

计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。 (1)定点表示:约定机器中所有数据的小数点位置是固定的。由于约定在

固定的位置,所以小数点就不再使用记号“.”来表示。

(2)浮点表示:定点数表示的数的范围有限,为了扩展数的表示范围,

按照科学记数法表示数据的方式,任何一个二进制数N都可以表示成如下的格式:

N=M*2e

M :尾数,是一个纯小数,决定数据的表示精度

e :指数,又称为阶码,是一个整数,决定数据的表示范围

数的机器码表示:

7

一般书写所表示的数据称为真值,在计算机中为了表示符号位,通常把符号位和数字位一起编码来表示相应的数,形成了各种数据的存储和表示方法,这些编码称为机器码。常用的机器码有原码、反码、补码和移码。

(1)原码:原码的数值部分是该数的绝对值,最高位表示符号位,最高位为0是正数,最高位为1是负数。

(2)反码:正数的反码等于原码,负数的反码等于除符号位外其余二进制数码0变成1,1变成0。

正数: [x]反 = [x]原 = x 负数: 符号位不变,其余变反

(3)补码:正数的补码等于原码,负数的补码等于反码加1。 正数: [x]补= [x]原 负数: [x]补= [x]反 +1 定点加、减法运算:

结论:任何两数的补码只和等于两数只和的补码

? 补码加法

基本公式: [x]补 + [y]补 = [x+y]补

? 补码减法

基本公式: [x]补 - [y]补=[x]补 + [-y]补

当负数用补码表示后,符号位作为数据的一部分一起参加运算,运算器不用考虑参加加法运算的操作数的正负以及结果的正负,任意数的加法就可以化作正数加法来作。

? 溢出:在定点数机器中,数的大小超出了定点数能表示的范围,叫溢出。

(1)在定点小数机中数的表示范围是-1

(2)在定点整数机(8位)中数的表示范围是-128

? 符号位“01”,上溢出 ? 符号位“10”,下溢出 ? 符号位“00”或者“11”,未溢出 从[y]补求[-y]补的法则是:

对[y]补“包括符号位求反且最末位加1”,即可得到[-y]补 定点乘法运算 :

在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之

8

积。设n位被乘数和乘数用定点小数表示(定点整数也同样适用)

被乘数 [x]原=xf .xn-1…x1x0 乘数 [y]原=yf .yn-1…y1y0 则乘积

[z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0) 式中,xf为被乘数符号,yf为乘数符号。

机器算法: 机器中一种方法是多次采用”加法-移位“的方法来完成,称为串行乘法器,它的硬件结构简单,但是速度慢,目前广泛使用的是流水式阵列乘法器,称为并行乘法器。无符号数m乘以n会产生m*n个位积,出现m+n个列和,并行乘法器的关键是快速产生m*n个位积,对位积进行相加运算产生m+n个列和。 第一步:位积的产生

观察乘法运算:0*0=0,0*1=0,1*0=0,1*1=1 相当于:a∩b

所以m*n个位积可以由m*n个与门并行产生。 第二步:列和的产生:利用全加器 浮点数的加减法运算:

浮点数的加减法运算分为六个步骤:

(1)0操作数检查

浮点加减运算过程比定点运算过程复杂。如果判知两个操作数x或y中有一个数为0,即可得知运算结果而没有必要再进行后续的一系列操作以节省运算时间。0操作数检查步骤则用来完成这一功能。 参加加法运算的数据都是非零,进入下一步。 (2)比较价码大小并完成对阶

为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位。 两浮点数进行加减,首先要看两数的阶码是否相同,若二数阶码不同,表示小数点位置没有对齐,此时必须使二数阶码相同,这个过程叫作对阶。对阶操作规定使尾数右移,尾数右移后阶码作相应增加,因此对阶时,总是使小阶向大阶看齐。 (3)尾数进行加减运算

对阶结束后,即可进行尾数的求和运算。不论加法运算还是减法运算,都按加法进行操作(减法利用补码减法转换成补码的加法来做),其方法与定点加减法运算完全一样。 (4)结果规格化

a. 采用双符号位表示尾数时,如果两符号位为01或10时,应将结果尾数右移一位,阶码加1(叫“右规”)。

b. 如果尾数最高数值位与符号位相同,应将尾数左移,阶码减1,直至数值位最高位与符号位相反(叫“左规”)。 (5)舍入运算

9

在对阶向右规格化,尾数向右移位,这样被右移的尾数的低位部分会被丢掉,从而造成一定误差,要进行舍入处理。

简单的舍入方法有两种:一种是“0舍1入”法,即如果右移时被丢掉数位的最高位为0则舍去,为1则将尾数的末位做加加1运算。另一种是“恒置1”法,即只要数位被移掉,就在尾数的末尾恒置1。 (6)判断结果是否溢出 阶码为00 011,阶码的符号位为00,根据补码的双符号检测溢出的方法确定阶码不溢出。 登陆窗口流程图

逻辑运算流程图

开始输入密码判断计数器值是否小于三计数器加1弹出错误窗口判断密码激活菜单栏隐藏登陆提示显示已登录结束

10

开始在相应文本框中显示输入“二进制数”在输入框中输入二进制数后按相应按钮判断是单目运算还是双目预算在相应文本框中显示输入“二进制数”判断文本框中的数是否为二进制数判断文本框中的数是否为二进制数将文本框中的二进制数做逻辑非在第三个文本框中输出判断第二个输入框中的数是否与第一个文本框等长在第二个文本框中显示输入“输入和第一个数等长的数”判断做哪种双目预算将第一第二文本框中的二进制数做逻辑加在第三个文本框中输出将第一第二文本框中的二进制数做逻辑乘在第三个文本框中输出将第一第二文本框中的二进制数做逻辑异在第三个文本框中输出结束

定点整数单符号位补码加减法流程图

11

开始在输入框中输入二进制数后按相应按钮在相应文本框中显示输入“带符号的二进制数”判断文本框中的数是否为带符号二进制数判断第二个输入框中在第二个文本框中显的数是否与第一个文示输入“输入和第一本框等长个数等长的数”判断做哪种双目预算将文本框中的带符号将文本框中的带符号二二进制数转换成补码进制数转换成补码减数转换两次间转换后的补码做加法运算得到的结果的补码转换成带符号的二进制数在结果文本框中显示结束定点整数的原码乘法窗体流程图

开始在输入框中输入二进制数后按相应按钮在相应文本框中显示输入“带符号的二进制数”判断文本框中的数是否为带符号二进制数将文本框中的带符号二进制数转换成原码将只能更换后的被乘数源码依次乘以乘数的每一位后相加得到的积的源码转换成带符号的二进制数在结果文本框中显示结束

12

四、设计小结

通过为期一周的计算机组成原理课程设计,我真的很珍惜这次机会,这可能是我们大学生涯的最后一次了,现在的我们面临就业的危机,这一次的练习可以算是我们步入社会的一次练笔,也希望好好利用这次机会。

通过一周的课程设计对计算机组成原理中的知识有了全新的认识。以前只是一味的学习课本只是,基本上都没有什么时间,好好的锻炼一下学过的知识点,没有将知识充分的利用到实践生活中,而这次课程设计充分的给了我这个机会,所以我一定会好好利用这次机会,充分的锻炼自己,为以后步入工作打下坚实的基础。

本次课程设计我使用的是NetBeans用JAVA语言编写,通过对这些工具的使用,我深深体会到计算机组成原理并不只是书本上的一些知识,上机实践对于这门科目来说真的很重要。平常简简单单的一个运算,也许自己通过加加减减就能得出结果,通过实践发现其中集合了很多我们平时忽略的知识,让我再一次好好的复习了一下书本知识点,对于自己不会的知识点,我也充分的利用了网络的方便快捷,也为这次课程设计节省下了许多宝贵的时间。所以,通过这次实践,把书中很多知识巩固了下,加深印象!,通过这次课程设计,我确实收益颇多!总之,这次课程设计使我在动手能力上有了很大的提高,也许这是毕业设计之前最好的一次锻炼动手能力的机会,也可能是最后一次。我认为这次课程设计是毕业设计的前奏,不过我想我已经成功的抓住了这次机会并很好的把握住了这个前奏。通过这次设计,我也了解到了集体的力量,大家一起讨论的情景,让我很是感动。体会到了大家一起学习的热情,还有谢谢老师的耐心指导。在以后的学习过程中,要相互学习,努力上进,争取得到更大的进步。当然以后也要好好抓住这种可以好好锻炼的机会,好好磨练自己,从实践中得到知识,升华自己!

五、参考文献 [1]

王爱英.计算机组成原理与系统结构. 北京:清华大学出版社,2001

13

[2] [3]

启东计算机公司.CCT-IV计算机组成原理, 白中英,《计算机组成原理》,科学技术出版社

蒋本珊,《计算机组成原理与系统结构》,北京航空航天大学出版社

14

《计算机组成原理》课程设计报告

计算机组成原理课程设计报告专业计算机科学与技术学生姓名班级学号指导教师完成日期盐城工学院信息学院目录
推荐度:
点击下载文档文档为doc格式
7wyin73et79vfqx3d4pq7px008twlp015fk
领取福利

微信扫码领取福利

微信扫码分享