电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

计算机组成原理08-计算机的运算方法03

38页
  • 卖家[上传人]:wm****3
  • 文档编号:51732449
  • 上传时间:2018-08-16
  • 文档格式:PPT
  • 文档大小:797KB
  • / 38 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、系 统 总 线存储器 运算器 控制器 接口与通信 输入/输出设备 计算机组成原理 第六章 计算机的运算方法运算器的基本结构:(P 281-283)ALU、移位门、寄存器组、输入选择门和数据总线组成。问题1、ALU电路没有记忆功能。参与运算的数、运算的结果放那里?(A+B)+(C+D) 答:存放在寄存器组(多个寄存器)中。问题2、ALU两个参加运算数与一个运算结果。一次只有两个数参加运算,究竟让哪个寄存器参加工作呢? 答:要进行选择(选择门电路)。移位门ALU选择门 A选择门 B通用 寄存器组数据总线数据总线运算器基本结构框图参加运算的数 XY 参加运算的数运算结果Review: 第六章 计算机的运算方法1、 数据的表示方式1.1、符号的处理(正数、负数)1.2、数值的处理(数制转换) 1.3、小数点的处理(定点、浮点)1.4、原码的表示方法 1.5、反码的表示方法1.6、补码的表示方法(重点研究)1.7、移码的表示方法1.8、字符、汉字的表示方法( ASCII 码、内码) 1.9、校验码(奇偶校验、海明威校验、CRC校验)机器数的 表示方法实际数的 表示方法研究在机器中 怎样用二进制

      2、表示十进制数研究哪种机器 数的表示方法 更利简化运算Review: 第六章 计算机的运算方法2、定点加、减法运算与实现2.1、补码定点加、减运算(减法通过加法来实现)2.2、溢出概念与检测方法(数值超出了表示范围)2.3、补码定点加法器注释: 前面我们讨论了数的补码表示方法,采用补码表示,减法 可用加法来实现,对设计硬件来讲,只要设计一个加法器 就可以实现加、减运算了,不需要再配一个减法器了。Review: 第六章 计算机的运算方法CPA2.3、补码定点加法器+A+B- B实现加法运算的逻辑示例A+B AAB A Q/Q延迟时间与非1T或非1T与门2T或门2T异或3T异或非3T关于设计电路的延迟时间扩充:提高电路运算效率一位全加器对一位全加器来说,和Fn的时间延迟为 3T+3T=6T。 设计电路时,电路总的延迟时间应该越小越好。扩充:提高电路运算效率Review:加法器超前进位加法器(当前计算机中使用的) 从加快进位信号的传送速度考虑,可以实现多位的并行进位。 即各位之间几乎同时产生送到高位的进位输出信号。 采用“超前进位产生电路”来同时形成各位进位,从而实现快速加法。只要同时输入X1

      3、X4,Y1Y4和C0,几乎同时输出C14和F1F4。 用四片4位ALU电路可组成16位ALU。(1110 1101 0101 0001) 片内进位是并行快速的,但片间进位是串行慢速的,计算时间长。Review:算术逻辑单元把16位ALU中的每四位作为一组,用类似四位超前进位加法器“位间快速进位” 的方法来实现16位ALU的 “组间快速进位” 。16位快速ALU第六章 计算机的运算方法3、定点乘法运算 3.1、原码一位乘法 3.2、补码一位乘法 3.3、补码两位乘法 3.4、阵列乘法器注释: 前面讲的内容帮助同学们打开思路:怎么设计运算器; 机器数采用什么表示(原、反、补)对运算最有利。硬件设计时,还要考虑提高硬件运算速度。 所以,讲乘除法要逐渐从提高计算机的运算速度来考虑。乘法运算可以通过硬件实现,也可以通过软件来实现; 硬件实现乘法是以加法器为基础逐步累加而成。1)、软件方法:通过乘法子程序,把乘法编程为累次加法运算,从而在加法器中实现。该方法经济,但运算速度慢。2)、硬件方法:A、在加法器中增加一些移位和控制部件来实现。这种方法在早期的计算机采用。B、随着大规模集成电路的发展,现在

      4、设计了阵列乘法器。设置专门的多位乘法部件。3、定点乘法运算根据数的表示方法,乘法器又有:原码乘法器,补码乘法器。原码实现乘法运算方法简单,补码实现加/减运算比较简单。在以加/减运算为主的机器中多采用补码乘法器。下面分别介绍原码、补码乘法。3、定点乘法运算第六章 计算机的运算方法3、定点乘法运算 3.1、原码一位乘法 3.2、补码一位乘法 3.3、补码两位乘法 3.4、阵列乘法器注释: 书上讲的原码两位乘法在计算机中不是那么实现的, 所以该算法不做推广,不讲了。原码一位乘法基本上是从手算演变过来,符号位单独处理。两个原码表示的数相乘,它的运算规则是:乘积的符号位 = 两数的符号相异或乘积 = 两数的绝对值相乘设 n 位被乘数X 和 乘数Y 用定点小数表示(定点整数同样)被乘数: X原 = Xf . Xn-1 X1 X0 乘数: Y原 = Yf . Yn-1 Y1 Y0乘积符号: Xf Yf 乘积:|X| |Y|Z原= ( Xf Yf ) + (0.Xn-1 X1 X0) (0.Yn-1 Y1 Y0)于是原码与原码相乘就变成如何进行两个正数相乘的问题了。3.1、原码一位乘法设 X = 0.

      5、1101, Y = - 0.1011。让我们先用习惯的笔算方法求其乘积,其过程如下:0 . 1101 乘数 X(4位) 0 . 1011 被乘数 Y(4位)0 . 11010 . 11010 . 0000 + 0 . 11010 . 10001111 乘积 Z(8位)3.1、原码一位乘法注意:原码的符号位单独处理。 XY 原 = 1 . 10001111手算方法存在的问题:1、小数点是移动的。2、常规加法器中,一次只能进行两个数相加,无法解决n个数一次性相加。3、n位数相乘用2n-1位加法器。所以需要解决的问题:1、小数点固定。2、一次只进行两个数相加。3、由n位加法器完成。3.1、原码一位乘法0 . 1101 乘数 X 0 . 1011 被乘数 Y0 . 11010 . 11010 . 0000+ 0 . 11010 . 10001111 乘积 Z3.1、原码一位乘法算法改造:X Y = X * 0.1011 = X *(0.1+0.00+0.001+0.0001)= 0.1*X + 0.00*X + 0.001*X + 0.0001*X= 0.1 X+ 0.0*X + 0.01*X

      6、 + 0.001*X = 0.1 X + 0.1 0 + 0.1*X + 0.01*X = 0.1 X + 0.1 0 + 0.1 X + 0.1*(X+0)0.1 = 2-1 对应操作:右移一位。XY = 2-1 X + 2-1 0 + 2-1 X + 2-1(X+0)0 . 00000+ 0 . 1101 +X0 . 1101X+00 . 0110 12-1 (X+0)+ 0 . 1101+X1 . 0011 1X+2-1 (X+0)0 . 1001 11 2-1 (X+2-1 (X+0)+ 0 . 0000+00 . 1001 110+2-1 (X+2-1 (X+0)0 . 0100 1112-10+2-1 (X+2-1 (X+0)+ 0 . 1101+X1 . 0001 111X+ 2-10+2-1 (X+2-1 (X+0)0 . 1000 11112-1X+ 2-10+2-1 (X+2-1 (X+0)设: X = 0.1101, Y = - 0.1011。XY = 2-1 X + 2-1 0 + 2-1 X + 2-1(X+0) 步骤如下:3.1、原码一位乘法1101Y XY

      7、 原 = 1 . 10001111改造算法以后分析:1、小数点固定了。2、一次只进行两个数相加。3、由于相加在高n位进行,所以只设n位加法器就可以了。上述三个问题得到了解决。但是只能说这个算法可行,如果引入计算机执行, 还要与计算机的具体实现电路相结合。考虑电路执行效率:用的电路器件越少越好。3.1、原码一位乘法实施方案:1、运算法则: 若 Yi =1 则 +X; 若 Yi =0 则 +0。说明 Yi 起到判断运算的作用,运算后,Y 的值无需保留。这样,可以将 Yi 判断操作固定在最低位,即要求乘数Y每完成一步操作,右移一位。2、由于相加在高 n 位进行,乘积右移出的低位部分,可存入乘数Y的寄存器高位空出部分。3、为了在机器中实现乘法运算,运算器必须设置三个寄存器 A、B、C。寄存器 A 存放部分积XY(初始为 0,最后存放乘积的高位部分)寄存器 B 存放被乘数 X(运算过程中不变)寄存器 C 存放乘数 Y(判断后不再保留,最后存放乘积的低位部分)3.1、原码一位乘法1101Y0 . 00000+ 0 . 1101 +X0 . 1101X+00 . 0110 12-1 (X+0)+ 0

      8、 . 1101+X1 . 0011 1X+2-1 (X+0)0 . 1001 11 2-1 (X+2-1 (X+0)+ 0 . 0000+00 . 1001 110+2-1 (X+2-1 (X+0)0 . 0100 1112-10+2-1 (X+2-1 (X+0)+ 0 . 1101+X1 . 0001 111X+ 2-10+2-1 (X+2-1 (X+0)0 . 1000 11112-1X+ 2-10+2-1 (X+2-1 (X+0)设: X = 0.1101, Y = - 0.1011。3.1、原码一位乘法11011011011111111111YY最初是乘数,最后是积的低位部分。 XY 原 = 1 . 100011110 . 0000+ 0 . 1101 0 . 1101 A、C 同时右移一位0 . 0110 1+ 0 . 11011 . 0011 A、C 同时右移一位0 . 1001 11 + 0 . 00000 . 1001 A、C 同时右移一位0 . 0100 111+ 0 . 11011 . 0001 A、C 同时右移一位1 . 1000 1111 11011011011

      9、1111111113.1、原码一位乘法00000110100100100001部分乘A积初始=0设: X = 0.1101, Y = 1.1011。(绝对值相乘)符号位 = 0 1 = 1ALU000寄存器A1101寄存器C(Y)1011寄存器B(X)Cn=1,+XCn=1,+XCn=0,+0Cn=1,+X0当堂做题实现原码一位乘法的逻辑电路框图X = 1101Y = 1011 X*Y低位: 1111X = 0.1101 被乘数 Y = 0.1011 乘数 X*Y =0.10001111X*Y 初始: 0000 X*Y 高位: 1000Yn判断位Yn判断位X = 0.1101 被乘数,Y = - 0.1011 乘数,X*Y = 1.100011111、A寄存器被清零,作为初始部分积XY。被乘数X放在 B寄存器中,乘数Y放在 C寄存器中。2、给出控制命令 AALU 和 BALU,在ALU完成部分积XY+被乘数X。3、ALU的输出经过移位电路向右移一位送入 A寄存器中。4、C寄存器是用移位寄存器实现的,最低位为BALU的控制命令。相乘之积最低一位的值右移时将移入C寄存器的最高数值位, 使相乘之积的低位部分保存进C寄存器中,原乘数Y逐位丢失。3.1、原码一位乘法第六章 计算机的运算方法3、定点

      《计算机组成原理08-计算机的运算方法03》由会员wm****3分享,可在线阅读,更多相关《计算机组成原理08-计算机的运算方法03》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.