计算机组成原理课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算机组成原理》
课程设计报告
计算机组成原理课程设计(一)
专业计算机科学与技术
学生姓名刘圣海
班级
Q Q 675129868
指导教师
完成日期
目录
.1 设计目的 (1)
.2 设计内容与要求 (1)
.2.1 设计内容 (1)
.2.2 设计原理 (1)
.2.2.1 总体设计 (1)
.2.2.2 定点整数的机器表示 (3)
.2.2.3 定点整数的变形补码加减运算 (5)
.2.2.4 定点整数的原码乘法运算 (7)
.2.2.5 浮点数的加减运算 (8)
.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 符号位“01”,上溢出 符号位“10”,下溢出 符号位“00”或“11“,未溢出 下面的问题是如何检查加减运算中的溢出问题。通常有三种表述方式(说法):(1) 两个符号相同的补码数相加,如果和的符号与加数的符号相反,或两个符号相反的补码数相减,差的符号与减数的符号相同,都属于运算结果溢出。这种判别方法比较复杂,要区别加还是减两种不同运算情况,还要检查结果的符号与其中一个操作数的符号的同异,故很少使用; (2) 两个补码数相加减时,若最高数值位向符号位送的进位值与符号位送向更高位的进位值不相同,也是运算结果溢出。 (3) 在采用双符号位(如定点小数的模4补码)运算时,若两个符号位的得值不同(01或10)则是溢出。01表明两个正数相加,结果大于机器所能表示的最大正数,称为"上溢";10表明两个负数相加,结果小于机器所能表示的最小负数,称为"下溢";双符号位的高位符号位,不管结果溢出否,均是运算结果正确的符号位,这个结论在乘法运算过程中是很有实际意义的。请注意,在采用双符号位的方案中,在寄存器和内存储器存储数据时,只需存一位符号,双符号位仅用在加法器线路部分。