您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 《计算机组成原理》课程设计
.Word文档课程设计说明书《计算机组成原理》算法实现(五)专业计算机科学与技术学生夏晶晶班级M计算机101学号1051401122指导教师花小朋完成日期2013年6月21日.Word文档目录1课程设计目的.............................................22课程设计容与要求.........................................22.1课程设计的容.........................................22.2课程设计的要求......................................23实现方法.................................................23.1系统目标............................................23.2主体设计............................................43.2.1主窗体的设计...................................43.2.2定点整数真值还原窗体的设计.....................63.2.3定点整数单符号位补码加减法.....................83.2.4定点整数的原码乘法............................103.2.5浮点数的加减运算..............................124设计小结................................................13参考文献..................................................13.Word文档1课程设计目的本课程设计是在学完本课程教学大纲规定的全部容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。2课程设计容与要求2.1课程设计的容计算机组成原理算法实现(五)2.2课程设计的要求能够实现机器数的真值还原(定点整数)、定点整数的单符号位补码加减运算、定点整数的原码乘法运算和浮点数的加减运算。3实现方法3.1系统目标本程序含有以下几个功能模块,分别能够实现如设计容所设计的功能。共有5个类,各类之间的关系如图3-1所示:.Word文档计算机组成原理算法实现(五)输入口令机器数的真值还原定点整数的单符号位补码加减运算定点整数的原码乘法浮点数的加减运算输入一个带符号的二进制数原码显示反码显示补码显示移码显示返回依次输入两个单符号二进制数加法结果显示依次输入两个单符号二进制数乘法结果显示依次输入两个数的阶码和尾数加法介码显示加法尾数显示减法介码显示减法尾数显示返回返回返回.Word文档系统流程图:3.2主体设计3.2.1主窗体的设计程序菜单需要在输入口令正确后方可使用,若口令输入错误需给出重新输入口令的提示,三次口令输入错误则禁止使用。开始判断口令是否正确选择界面机器数的真值还原(定点整数)定点整数的单符号位补码加减运算定点整数的原码码乘法浮点数加减法重新输入=3次是否正确.Word文档登陆算法的流程图:输入密码判断密码计数器减1激活菜单栏隐藏登陆显示欢迎界面弹出错误窗口判断计数器值是否大于零结束开始.Word文档3.2.2定点整数真值还原窗体的设计选择主窗体中“机器数的真值还原(定点整数)”时进入下图所示的窗体。在上面的窗体中按“输入”按扭时,将输入焦点设置为最上面的一个文本框上。输入一个机器数(如10001000)后,按“原-真值”、“反-真值”、“补-真值”或“移-真值”按扭中的任一个后,将在第二文本框中显示对应操作的结果。选择“返回”按扭时将关闭此窗体。算法的原理:计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。a)定点表示:约定机器中所有数据的小数点位置是固定的。由于约定在固定的位置,所以小数点就不再使用记号“.”来表示。b)浮点表示:定点数表示的数的围有限,为了扩展数的表示围,按照科学记数法表示数据的方式,任何一个二进制数N都可以表示成如下的格式:N=M*2eM:尾数,是一个纯小数,决定数据的表示精度e:指数,又称为阶码,是一个整数,决定数据的表示围一般书写所表示的数据称为真值,在计算机中为了表示符号位,通常把符号位和数字位一起编码来表示相应的数,形成了各种数据的存储和表示方法,这些编码称为机器码。常用的机器码有原码、反码、补码和移码。.Word文档a)原码:原码的数值部分是该数的绝对值,最高位表示符号位,最高位为0是正数,最高位为1是负数。b)反码:正数的反码等于原码,负数的反码等于除符号位外其余二进制数码0变成1,1变成0。正数:[x]反=[x]原=x负数:符号位不变,其余变反c)补码:正数的补码等于原码,负数的补码等于反码加1。正数:[x]补=[x]原负数:[x]补=[x]反+1d)移码:是符号位取反的补码,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器码为全0。真值还原流程图:.Word文档3.2.3定点整数单符号位补码加减法进行定点整数单符号位补码加减法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。操作时首先选择“输入”按扭输入参与运算的数据,然后再选操作按扭。算法的原理:任何两数的补码只和等于两数只和的补码补码加法[x]补+[y]补=[x+y]补补码减法[x]补-[y]补=[x]补+[-y]补当负数用补码表示后,符号位作为数据的一部分一起参加运算,运算器不用考虑参加加法运算的操作数的正负以及结果的正负,任意数的加法就可以化作正数加开始选择要表示的形式原码‘0’转变为+0,‘1’转变为—0,数值位不变显示输出‘1’开头:‘1’转变为—0,数值位各位取反显示输出反码‘0’开头:‘0’转变为+0,数值位不变显示输出补码‘0’开头:‘0’转变为+0,数值位不变显示输出‘1’开头:‘1’转变为—0,数值位各位取反,末位加1,显示输出移码‘0’开头:‘0’转变为—0,数值位各位,末位+1显示输出‘1’开头:‘1’转变为+0,数值位不变显示输出返回键盘输入一个二进制数.Word文档法来作。溢出:在定点数机器中,数的大小超出了定点数能表示的围,叫溢出。a)在定点小数机中数的表示围是-1x1,如果运算过程中出现了大于1或者小于-1的情况。b)在定点整数机(8位)中数的表示围是-128x127,如果运算过程中出现了大于127或者小于-128的情况。双符号位法:将符号位扩展为2位,具体说就是对于正数两个符号位是“00”,对于负数两个符号位是“11”。两个符号位都看作数码一样参加运算。两个数相加后,其结果的符号位出现“01”或“10”两种组合时,表示发生溢出。①符号位“01”,上溢出②符号位“10”,下溢出③符号位“00”或者“11”,未溢出从[y]补求[-y]补的法则是:对[y]补“包括符号位求反且最末位加1”,即可得到[-y]补.Word文档定点整数单符号位补码加减法运算的流程图:结束开始在输入框中输入二进制数后按相应按钮判断文本框中的数是否为带符号二进制数在相应文本框中显示输入“带符号的二进制数”判断第二个输入框中的数是否与第一个文本框等长间转换后的补码做加法运算在第二个文本框中显示输入“输入和第一个数等长的数”判断做哪种双目预算将文本框中的带符号二进制数转换成补码减数转换两次将文本框中的带符号二进制数转换成补码得到的结果的补码转换成带符号的二进制数在结果文本框中显示3.2.4定点整数的原码乘法进行定点整数原码乘法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。操作时首先选择“输入”按扭输入参与运算的数据,然后再选操作按扭。算法的原理:在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点小数表示(定点整数也同样适用)被乘数[x]原=xf.xn-1…x1x0乘数[y]原=yf.yn-1…y1y0则乘积[z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0)式中,xf为被乘数符号,yf为乘数符号。机器算法:机器中一种方法是多次采用”加法.Word文档-移位“的方法来完成,称为串行乘法器,它的硬件结构简单,但是速度慢,目前广泛使用的是流水式阵列乘法器,称为并行乘法器。无符号数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个与门并行产生。第二步:列和的产生:利用全加器定点整数的原码乘法算法的流程图:结束开始在输入框中输入二进制数后按相应按钮判断文本框中的两个数长度是否一致在相应文本框中输入正确的二进制数将只能更换后的被乘数源码依次乘以乘数的每一位后相加将文本框中的数据存放在二进制数组中得到的积在结果文本框中显示.Word文档3.2.5浮点数的加减运算进行定点整数单符号位补码加减法、定点整数原码乘法、浮点加减法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。操作时首先选择“输入”按扭输入参与运算的数据,然后再选操作按扭。算法的原理:浮点数的加减法运算分为六个步骤:a)0操作数检查浮点加减运算过程比定点运算过程复杂。如果判知两个操作数x或y中有一个数为0,即可得知运算结果而没有必要再进行后续的一系列操作以节省运算时间。0操作数检查步骤则用来完成这一功能。参加加法运算的数据都是非零,进入下一步。b)比较价码大小并完成对阶为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位。两浮点数进行加减,首先要看两数的阶码是否相同,若二数阶码不同,表示小数点位置没有对齐,此时必须使二数阶码相同,这个过程叫作对阶。对阶操作规定使尾数右移,尾数右移后阶码作相应增加,因此对阶时,总是使小阶向大阶看齐。c)尾数进行加减运算对阶结束后,即可进行尾数的求和运算。不论加法运算还是减法运算,都按加法进行操作(减法利用补码减法转换成补码的加法来做),其方法与定点加减法运算完全一样。d)结果规格化①采用双符号位表示尾数时,如果两符号位为01或10时,应将结果尾数右移一位,阶码加1(叫“右规”)。②如果尾数最高数值位与符号位相同,应将尾数左移,阶码减1,直至数值位最高位与符号位相反(叫“左规”)。e)舍入运算在对阶向右规格化,尾数向右移位,这样被右移的尾数的低位部分会被丢掉,从而造成一定误差,要进行舍入处理。简单的舍入方法有两种:一种是“0舍1入”法,即如果右移时被丢掉数位的最高位为0则舍去,为1则将尾数的末位做加加1运算。另一种是“恒置1”法,即只要数位被移掉,就在尾数的末尾恒置1。.Word文档f)判断结果是否溢出阶码为00011,阶码的符号位为00,根据补码的双符号检测溢出的方法确定阶码不溢出。4设计小结通过这一周的课程设计让我更加的了解的计算机组成原理的魅力。同时知道组成原理这门课程不单单只是简单的书本上的知识,有更多的实践知识。这是实验我是用的C#语言来编写的,过程当中碰到了很多问题,翻阅了一些书籍,同学之间相互讨论,问题最终得到了解决。这次的课程设计也很好的将实践和书本上学到的东西结合在了一起,让我们更加融汇贯通,自己的能力也得到了提高。参考文献[1]白中英.计算机组成原理(第四版)[M].:科学,2010.[2]树林,胡洁萍.C#程序设计与案列教程[M]清华大学.2007.8.Word文档
本文标题:《计算机组成原理》课程设计
链接地址:https://www.777doc.com/doc-5585126 .html