计算机组成原理课程设计报告Word格式.docx
- 文档编号:22508110
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:13
- 大小:215.78KB
计算机组成原理课程设计报告Word格式.docx
《计算机组成原理课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
2.1设计内容1
2.2设计原理1
2.2.1总体设计1
2.2.2定点整数的机器表示3
2.2.3定点整数的变形补码加减运算5
2.2.4定点整数的原码乘法运算6
2.2.5浮点数的加减运算7
3实验结果图解10
3.1登录界面10
3.2定点整数表示11
3.3定点整数的变形补码加减11
3.4定点整数的原码乘法12
3.5浮点数的加减12
4设计小结13
5参考文献14
计算机组成原理算法实现
(一)
1设计目的
本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。
2设计内容与要求
2.1设计内容
1、题目:
2、功能:
能够实现定点整数的机器数表示、定点整数的变形补码加减运算、定点整数的原码一位乘法运算和浮点数的加减运算。
3、设计要求
(1)系统进入主窗体设计时,菜单需要在输入口令正确后方可激活。
在输入正确的口令后可以成功登录,如果口令错误三次,及显示禁止使用,需重新运行程序。
(2)正确登录后方可进行运算,当选择不同菜单命令时,点击按钮选择运算,然后输入二进制数,再点击相应的运算就可得出结果。
(3)在帮助菜单中可以显示本人的学号,姓名及班级,还有“欢迎使用本软件”的字样。
2.2设计原理
2.2.1总体设计
1、系统所完成的总体功能模块图,如下图2-1-1。
总体功能实现
图2-1-1系统总体功能模块图
2、含有以下几个功能模块,分别能够实现定点整数的机器表示、定点整数的变形补码加减运算、定点整数的原码乘法运算和浮点数的加减运算。
本程序共有6个java源文件,即六个类,各类之间的主要关系如下图所示。
返回
图2-1-2系统总体功能模块图详图
3、系统进入主界面时,实现算法的流程图,如下图2-1-3。
是
图2-1-3系统总体功能流程图
2.2.2定点整数的机器表示
输入一个二进制数,当选择不同按钮时则对其进行相应的操作。
如当选择原码计算时,则调用原码运算函数对其进行运算,正数则将符号位置0,其余位不变,若为负数则将其符号位置1,其余位不变;
当选择反码运算时,则调用反码运算函数对其进行运算,正数则将保持不变,若为负数,也将其各位取反;
当选择补码按钮时,正数的补码仍为本身,而负数时则除符号位,各位取反末位加一;
当选择移码按钮时,则根据移的位数进行相应的移位。
定点整数的机器表示模块的功能图如下图2-2-1。
否
图2-2-1定点整数的机器表示
2.2.3定点整数的变形补码加减运算
1、基本公式
补码加法:
[X]补+[Y]补=[X+Y]补。
该式表明,当有符号的两个数采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,则丢掉),结果为两数之和的补码形式。
补码减法:
[X]补-[Y]补=[X]补+[-Y]补。
该式表明,求[X-Y]补可以用[X]补与[-Y]补相加来实现。
[-Y]补是对减数进行求负操作。
一般称已知[Y]补求得[-Y]补的过程叫变补或求负。
已知[+Y]补求[-Y]补的规则是全部位(含符号位)按位取反后再加1。
当负数用补码表示后,符号位作为数据的一部分一起参与运算,运算器不用考虑参加加法运算的操作数的正负以及结果的正负,任意数的加法就可以化作正数加起来运算。
2、溢出
在定点整数机器中数的表示范围是-128<
x<
127,如果运算过程中出现了大于127或者小于-128的情况。
双符号位法:
将符号位扩展为2位,具体说就是对于正数两个符号位是“00”,对于负数两个符号位是“11”。
两个符号位都看做数码一样参加运算。
两个数相加后,其结果的符号位出现“01”或“10”两种组合时,表示发生溢出。
符号位“01”,上溢出
符号位“10”,下溢出
符号位“00”或“11“,未溢出
下面的问题是如何检查加减运算中的溢出问题。
通常有三种表述方式(说法):
(1)两个符号相同的补码数相加,如果和的符号与加数的符号相反,或两个符号相反的补码数相减,差的符号与减数的符号相同,都属于运算结果溢出。
这种判别方法比较复杂,要区别加还是减两种不同运算情况,还要检查结果的符号与其中一个操作数的符号的同异,故很少使用;
(2)两个补码数相加减时,若最高数值位向符号位送的进位值与符号位送向更高位的进位值不相同,也是运算结果溢出。
(3)在采用双符号位(如定点小数的模4补码)运算时,若两个符号位的得值不同(01或10)则是溢出。
01表明两个正数相加,结果大于机器所能表示的最大正数,称为"
上溢"
;
10表明两个负数相加,结果小于机器所能表示的最小负数,称为"
下溢"
双符号位的高位符号位,不管结果溢出否,均是运算结果正确的符号位,这个结论在乘法运算过程中是很有实际意义的。
请注意,在采用双符号位的方案中,在寄存器和内存储器存储数据时,只需存一位符号,双符号位仅用在加法器线路部分。
图2-3-1定点整数加减法流程图
2.2.4定点整数的原码乘法运算
在定点计算中,两个原码表示的数相乘的运算规则是:
乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。
机器算法:
机器中一种方法是多次采用“加法-移位“的方法来实现,称为串行乘法器,它的硬件结构简单,但是速度慢,目前广泛使用的是流水式阵容乘法器,称为并行乘法器。
无符号数m乘以n会产生m*n个位积,出现m+n个列和,并行乘法器的关键是快速产生m*n个位积,对位积进行相加运算产生m+n列和。
图2-4-1定点整数的原码乘法流程图
2.2.5浮点数的加减运算
浮点数的加减运算分为六步:
(1)0操作数检查
浮点加减运算过程比定点运算过程复杂。
如果判知两个操作数X或者Y中有一个数位0,即可得知运算结果而没有必要再进行后续的一系列操作以节省时间。
0操作数检查步骤则用来完成这一功能。
参加加法运算的数据都是非零,进入下一步。
(2)比较阶码大小并完成对阶
为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位。
两浮点数进行加减,首先要看两个数阶码是否相同,若二数阶码不同,表示小数点位置没有对齐,此时必须使两个数阶码相同,这个过程叫做对阶。
对阶操作规定使尾数右移,尾数右移后阶码做相应增加,因此对阶时,总是使小阶向大阶看齐。
(3)对阶结束后,即可进行尾数的求和运算。
无论加法运算还是减法运算,都按加法进行操作,其方法与定点加减法运算完全一样。
(4)结果规格化
a.采用双符号位表示尾数时,如果两符号位01或10时,应将结果尾数右移一位,阶码加1.
b.如果尾数最高数值位与符号位相同,应将尾数右移,阶码减1,直至数值位最高位与符号位相反。
(5)舍入运算
浮点运算在对阶或右规时,尾数需要右移,被右移出去的位会被丢掉,从而造成运算结果精度的损失。
为了减少这种精度损失,可以将一定位数的移出位先保留起来,称为保护位,在规格化后用于舍入处理IEEE754标准列出了四种可选的舍入处理方法:
就近舍入、朝+∞舍入、朝-∞舍入、朝0舍入。
(6)判断结果是否溢出
根据补码的双符号检查溢出的方法确定阶码是否溢出。
与定点数运算不同的是,浮点数的溢出是以其运算结果的阶码的值是否产生溢出来判断的。
若阶码的值超过了阶码所能表示的最大正数,则为上溢,进一步,若此时浮点数为正数,则为正上溢,记为+∞,若浮点数为负数,则为负上溢,记为-∞;
若阶码的值超过了阶码所能表示的最小负数,则为下溢,进一步,若此时浮点数为正数,则为正下溢,若浮点数为负数,则为负下溢。
正下溢和负下溢都作为0处理。
提示溢出
图2-5-1浮点数的加减运算流程图
3实验结果图解
针对题目的功能要求,我用java来实现功能,将程序分为五个界面,。
Java1界面用于主界面的设置,用户输入口令进入运算;
java2界面用于完成定点整数的机器表示;
java3界面用于实现定点整数的变形补码加减运算;
java4界面用于对定点整数的原码乘法实现;
java5界面实现浮点数的加减运算。
3.1登录界面
图3-1-1登录界面图
当输入的密码错误时弹出窗口
图3-1-2登录界面图
3.2定点整数表示
当输入一个二进制数时,点击对应的按钮,则结果显示。
图3-2-1定点整数机器的显示
3.3定点整数的变形补码加减
当输入两个二进制数时,单击加法或者减法按钮,则对应的结果则显示。
图3-3-1定点整数的变形补码加减运算结果图
3.4定点整数的原码乘法
当输入两个二进制数时,单击乘法按钮,则对应的结果则显示。
图3-4-1定点整数的原码乘法结果图
3.5浮点数的加减
当输入两个浮点数的阶码和尾数时,单击加法或减法按钮,则对应的结果显示。
图3-5-1浮点数的加减运算的结果图
4设计小结
通过本次实验我掌握了算术逻辑运算器的工作原理,掌握了简单运算器的数据传送通道,了解了组合逻辑电路的运算功能发生器运算功能,能够按给定数据,完成实验指定的算术/逻辑运算。
自己能够更清楚了算术逻辑运算器的功能,同时更明白逻辑加与算术的区别,也加强了自己的动手能力。
实验开始的时候,接入思路还蛮顺利的,开始的实验证明也能很快验证。
但在练习中,就遇到问题了,因为结果和旁边的同学不一样,自己多次调试,还是自己的结果。
最后问同学,同学说是机器的问题,这证明自己的实验步骤没有错。
后面的练习,其实都是前面练习的延续,可以说只要弄懂了其中的原理,都可以顺利的做下去。
不过同时也需要耐心和细心。
同时我也掌握了带进位控制的算术运算功能发生器的功能,掌握了按指定的数据完成几种指定的算术运算。
而且真切地知道了实验真得很需要耐心和细心,特别是这个实验要在操作前先对进位标志清零,否则整个实验就全部失败了。
在之前的实验基础上,对一些实验出现的问题及时向老师请教了。
所以这个实验进行得比较顺利。
在此实验中,强化了实践能力,更好的学习了专业知识,计算机的运算系统,现在已经深切的被我掌握了。
锻炼了实际的基础学习能力,动手能力,只有掌握了相应的学习能力,才能更好地迎接新的学科,改变自己的态度,端正学习的态度,找到适合自己的方法,才是学习计算机组成原理课程的实际目的。
学习了计算机组成原理这本书后,使我懂得了许多的专业知识,真正的改变了我对软件学科的综合看法,而且还掌握了具体的知识,并且学会了相应的学习方法。
总之,这本书使我更好的学会了学习计算机知识。
5参考文献
[1]将本珊,计算机组成原理,北京:
清华大学出版社,2003
[2]白中英,计算机组成原理(第三版),科学出版社,2002.
[3]甘岚主编.计算机组成原理与系统结构北京:
北京邮电大学出版社,2008
[4]白中英,杨春武主编.计算机组成原理题解、题库与实验(第三版)西安:
科学出版社,2001
[5]卢洪虎,马卓杰,林洪军,《计算机工程与设计》,2006.
[6]杨春武,冯一兵,计算机硬件基础实验教程,清华大学出版社,2005.
[7]陈湘,ASP.NET与网站开发编程.北京:
清华大学出版社,2002.
[8]王爱英,计算机组成与结构第3版,北京:
清华大学出版社,2001
[9]薛胜军,计算机组成原理,武汉:
华中科技大学出版社,2000
[10]孙群力,计算机组成原理,北京:
科学出版社,2000
[11]辛云辉,计算机组成原理实用教程,北京:
[12]刘丽芳,宋焕章,计算机组成与结构,北京:
北京邮电大学出版社,2004
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 课程设计 报告