计算机组成原理算法实现 D计算机121 夏凌 - 副本.docVIP

  • 16
  • 0
  • 约3.11万字
  • 约 34页
  • 2018-01-18 发布于河南
  • 举报

计算机组成原理算法实现 D计算机121 夏凌 - 副本.doc

计算机组成原理算法实现 D计算机121 夏凌 - 副本

组成原理课程设计报告 专业 计算机科学与技术 学生姓名 夏凌 班级 D计算机121 学号 1220704132 指导教师 花小朋 完成日期 2015年1月21日 计算机组成原理算法实现(三) 课程设计的目的 本课程设计是在学完本课程教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。 课程设计内容 题目:计算机组成原理算法实现(三) 功能:能够实现逻辑运算(逻辑非、逻辑加、逻辑乘、逻辑异)、定点整数的单符号位补码加减运算、定点整数的原码一位乘法运算和浮点数的加减运算。 功能设计与实现 主窗体 登陆窗口流程图 系统进入(主)窗体的设计:菜单需要在输入口令正确后方可激活使用。如下图: 口令输入错误时给出重新输入口令的提示,如下图: 三次口令输入错误应该禁止使用,如下图: 输入密码正确之后,如下图: 二进制数逻辑运算窗体 二进制数逻辑运算流程图 在上面的窗体中按“输入”按扭时,将输入焦点设置为最上面的一个文本框上。依次输入两个(或一个)二进制数后,按“逻辑非”、“逻辑加”、“逻辑乘”或“逻辑异”按扭中的任一个后,将在第三个文本框中显示对应操作的结果。选择“返回”按扭时回到主窗体。选择主窗体中“逻辑运算”时进入下图所示的窗体: 定点整数单符号位补码加减法运算窗体 定点整数单符号位补码加减法 定点整数的原码乘法 定点乘法运算 : 在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。设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个与门并行产生。 第二步:列和的产生:利用全加器 5.浮点数的加减法运算窗体 进行定点整数单符号位补码加减法、定点整数原码乘法、浮点加减法的实现时都是在主窗体选择对应的菜单项后进入对应窗体再进行具体操作。操作时首先选择“输入”按扭输入参与运算的数据,然后再选操作按扭。选择主窗体中“浮点加减法”时进入下图所示的窗体: 浮点数的加减法运算: 浮点数的加减法运算分为六个步骤: (1)0操作数检查 浮点加减运算过程比定点运算过程复杂。如果判知两个操作数x或y中有一个数为0,即可得知运算结果而没有必要再进行后续的一系列操作以节省运算时间。0操作数检查步骤则用来完成这一功能。参加加法运算的数据都是非零,进入下一步。 (2)比较价码大小并完成对阶 为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位。 两浮点数进行加减,首先要看两数的阶码是否相同,若二数阶码不同,表示小数点位置没有对齐,此时必须使二数阶码相同,这个过程叫作对阶。对阶操作规定使尾数右移,尾数右移后阶码作相应增加,因此对阶时,总是使小阶向大阶看齐。 (3)尾数进行加减运算 对阶结束后,即可进行尾数的求和运算。不论加法运算还是减法运算,都按加法进行操作(减法利用补码减法转换成补码的加法来做),其方法与定点加减法运算完全一样。 (4)结果规格化 a. 采用双符号位表示尾数时,如果两符号位为01或10时,应将结果尾数右移一位,阶码加1(叫“右规”)。 b. 如果尾数最高数值位与符号位相同,应将尾数左移,阶码减1,直至数值位最高位与符号位相反(叫“左规”)。 (5)舍入运算 在对阶向右规格化,尾数向右移位,这样被右移的尾数的低位部分会被丢掉,从而造成一定误差,要进行舍入处理。 简单的舍入方法有两种:一种是“0舍1入”法,即如果右移时被丢掉数位的最高位为0则舍去,为1则将尾数的末位做加加1运算。另一种是“恒置1”法,即只要数位被移掉,就在尾数的末尾恒置1。 (6)判断结果是否溢出 阶码为00 011,阶码的符号位为00,根据补码的双符号检测溢出的方法确定阶码不溢出。 4.设计小结 经过

文档评论(0)

1亿VIP精品文档

相关文档