计算机组成原理第二章 第8讲 定点乘法运算

上传人:mg****85 文档编号:49767920 上传时间:2018-08-02 格式:PPT 页数:34 大小:919KB
返回 下载 相关 举报
计算机组成原理第二章 第8讲 定点乘法运算_第1页
第1页 / 共34页
计算机组成原理第二章 第8讲 定点乘法运算_第2页
第2页 / 共34页
计算机组成原理第二章 第8讲 定点乘法运算_第3页
第3页 / 共34页
计算机组成原理第二章 第8讲 定点乘法运算_第4页
第4页 / 共34页
计算机组成原理第二章 第8讲 定点乘法运算_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《计算机组成原理第二章 第8讲 定点乘法运算》由会员分享,可在线阅读,更多相关《计算机组成原理第二章 第8讲 定点乘法运算(34页珍藏版)》请在金锄头文库上搜索。

1、定点乘法运算定点乘法运算2.3 2.3 定点乘法运算定点乘法运算2.3.1 2.3.1 定点原定点原码码乘法乘法 2.3.2 2.3.2 定点定点补码补码 乘法乘法定点定点浮点浮点加加定点加减法器定点加减法器浮点加减法浮点加减法减减乘乘原码并行乘法原码并行乘法 直接补码乘法直接补码乘法浮点乘除法浮点乘除法除除原码除法原码除法 并行除法器并行除法器2.3.1 2.3.1 定点原码乘法定点原码乘法原码乘法原码乘法 在定点计算机中在定点计算机中, ,两个原码数相乘的运算规则两个原码数相乘的运算规则: :l l乘积的符号位由两数的符号位按异或运算得到乘积的符号位由两数的符号位按异或运算得到, , 而乘

2、积的数值部分则是两个正数相乘之积。而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点整数表示 (定点小数也同样适用):被乘数 原f n110乘数 原f n110 则乘积 原(ff)(n110)(n110) 式中,f为被乘数符号,f为乘数符号。关键问题:怎样解决两个无符号整数的乘法运算2.3.1 2.3.1 定点原码乘法定点原码乘法1 1、定点原码乘法原理、定点原码乘法原理尾数乘法举例如下:尾数乘法举例如下:设设1101,1101,101110111 1 0 1 1 1 0 1 ( () ) 1 0 1 11 0 1 1 ( () ) 1 1 1 1 0 0 1 11 1 1 1 0

3、 0 1 10 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 ( () )1 1、定点原码乘法原理、定点原码乘法原理n n位乘位乘n n位积可能为位积可能为2n2n位位. .乘积的最后是所有乘积的最后是所有位积位积之和,有之和,有n n个数相加个数相加 ,而加法器只有两个输入端,而加法器只有两个输入端l l所以需要改造所以需要改造l l方法一:硬件实现方法方法一:硬件实现方法( (串行的串行的“ “移位和加法移位和加法” ”), ), 硬件结构简单硬件结构简单, ,速度太慢速度太慢( (时间延迟太长,不采时间延迟太长

4、,不采 用用). ).l l方法二:不带符号位的方法二:不带符号位的阵列乘法器阵列乘法器1 1、定点原码乘法原理、定点原码乘法原理A=a4a3a2a1a0 A=a4a3a2a1a0 阵列分析:阵列分析: B=b4b3b2b1b0B=b4b3b2b1b0a4b0 a3b0 a2b0 a1b0 a0b0 a4b0 a3b0 a2b0 a1b0 a0b0a4b1 a3b1 a2b1 a1b1 a0b1 a4b1 a3b1 a2b1 a1b1 a0b1a4b2 a3b2 a2b2 a1b2 a0b2 a4b2 a3b2 a2b2 a1b2 a0b2a4b3 a3b3 a2b3 a1b3 a0b3 a4

5、b3 a3b3 a2b3 a1b3 a0b3a4b4 a3b4 a2b4 a1b4 a0b4a4b4 a3b4 a2b4 a1b4 a0b4用公式描述乘法过程:用公式描述乘法过程: 设有两个无符号二进制整数:设有两个无符号二进制整数: A Aa amm1 1aa1 1a a0 0B Bb bn n1 1bb1 1b b0 0它们的真值分别为它们的真值分别为a a和和b b, ,即即mm1 1 n n1 1 a a a ai i2 2i ib b b bj j2 2j ji i0 0 j j0 0 在二进制乘法中在二进制乘法中, ,被乘数被乘数A A与乘数与乘数B B相乘相乘, ,产生产生mmn

6、 n位位 乘积乘积P P:P Pp pmmn n1 1pp1 1p p0 0乘积乘积P P 的数值为:的数值为:1 1、定点原码乘法原理、定点原码乘法原理实现这个乘法过程所需要的操作:实现这个乘法过程所需要的操作:其中的其中的a ai ib bj j实际为实际为a ai i与与b bj j的的逻辑与逻辑与不带符号位的阵列乘法器不带符号位的阵列乘法器解决问题的核心:解决问题的核心: 怎样将乘法阵列中的每个逻辑与累加怎样将乘法阵列中的每个逻辑与累加用构思精巧、绘图细密、像个刺绣用构思精巧、绘图细密、像个刺绣 作品的作品的阵列乘法器实现阵列乘法器实现乘法阵列器工作构思图:乘法阵列器工作构思图:a4b

7、0 a3b0 a2b0 a1b0 a0b0 a4b0 a3b0 a2b0 a1b0 a0b0a4b1 a3b1 a2b1 a1b1 a0b1 a4b1 a3b1 a2b1 a1b1 a0b1a4b2 a3b2 a2b2 a1b2 a0b2 a4b2 a3b2 a2b2 a1b2 a0b2a4b3 a3b3 a2b3 a1b3 a0b3 a4b3 a3b3 a2b3 a1b3 a0b3a4b4 a3b4 a2b4 a1b4 a0b4a4b4 a3b4 a2b4 a1b4 a0b4FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA结构结构FA被加数或和进位加数和进位不带符号位

8、的阵列乘法器不带符号位的阵列乘法器先勘误:先勘误:l l教材图教材图2.52.5最下边一行最下边一行FAFA右侧的水平箭头应删右侧的水平箭头应删 掉(除了掉(除了0 0输入)输入)l l即,改为和上页即,改为和上页pptppt图一致。图一致。阵列乘法器分析:阵列乘法器分析:mm位被乘数,位被乘数,n n位乘数的阵列乘法器可由位乘数的阵列乘法器可由(m(m 1) n1) n个全加器构成。个全加器构成。为提高并行处理能力和速度,减少进位延为提高并行处理能力和速度,减少进位延 迟时间,每行相加产生的进位移到下一行迟时间,每行相加产生的进位移到下一行 前一位的全加器处理。前一位的全加器处理。虚线部分是

9、一个行波进位加法器,将最后虚线部分是一个行波进位加法器,将最后 一次进位加入分别累加。一次进位加入分别累加。最难的就是耗时分析:最难的就是耗时分析:阵列乘法器分析:阵列乘法器分析:耗时分析(耗时分析(5 5位乘以位乘以5 5位原码):位原码):l l对于对于FAFA得到得到S S耗时耗时6T6T,得到,得到C C耗时耗时5T5Tl l向下运算耗时向下运算耗时6T 46T 4l l最后一行行波进位耗时最后一行行波进位耗时 2T 4 +3T2T 4 +3T 3T3T指的是每个指的是每个FAFA运算中第一个异或门的共同耗时,运算中第一个异或门的共同耗时, 过程中不需要溢出判断过程中不需要溢出判断l

10、l不要忘了:乘法阵列是由不要忘了:乘法阵列是由与门组与门组生成生成所以所以tm=T + (n-1) 6T + (n-1) 2T +3Ttm=T + (n-1) 6T + (n-1) 2T +3TFAFA逻辑电路和框图逻辑电路和框图1位补码运算的加法减法器1位补码运算的加法减法器FA不带符号位的阵列乘法器不带符号位的阵列乘法器阵列乘法器耗时计算的阵列乘法器耗时计算的特别说明特别说明:l l1.1.该耗时公式为时间估算,有一定程度的细节该耗时公式为时间估算,有一定程度的细节 忽略成分忽略成分l l2.2.即使不做溢出判断,加法器最后一个结果出即使不做溢出判断,加法器最后一个结果出 来还得再多加一个

11、来还得再多加一个T Tl l3.3.如果将加法器第一个全加器输入端连接更合如果将加法器第一个全加器输入端连接更合 理(低位进位和理(低位进位和0 0连接连接AiAi、BiBi端)又可省出一个端)又可省出一个 T T的时间的时间l l4.4.具体细节自行推敲讨论具体细节自行推敲讨论a4b0 a3b0 a2b0 a1b0 a0b0 a4b0 a3b0 a2b0 a1b0 a0b0a4b1 a3b1 a2b1 a1b1 a0b1 a4b1 a3b1 a2b1 a1b1 a0b1a4b2 a3b2 a2b2 a1b2 a0b2 a4b2 a3b2 a2b2 a1b2 a0b2a4b3 a3b3 a2b

12、3 a1b3 a0b3 a4b3 a3b3 a2b3 a1b3 a0b3a4b4 a3b4 a2b4 a1b4 a0b4a4b4 a3b4 a2b4 a1b4 a0b4FAFAFAFAFAFAFAFAFAFAFAFAFAFAFAFA思考:向FA 左侧产生进 位可以吗?每个FA影响它左边和下边 的FA计算,并行程度降低例19 参见图2.5,已知不带符号的二进制整数A=11011, B=10101,求每一部分乘积项aibj的值与p9p8p0的值。 解:1 1 0 1 1 A (2710) 1 0 1 0 1 B (2110) 1 1 0 1 1 a4b0=1, a3b0=1, a2b0=0, a1

13、b0=1, a0b0=1 0 0 0 0 0 a4b1=0, a3b1=0, a2b1=0, a1b1=0, a0b1=0 1 1 0 1 1 a4b2=1, a3b2=1, a2b2=0, a1b2=1, a0b2=1 0 0 0 0 0 a4b3=0, a3b3=0, a2b3=0, a1b3=0, a0b3=0 1 1 0 1 1 a4b4=1, a3b4=1, a2b4=0, a1b4=1, a0b4=1 1 0 0 0 1 1 0 1 1 1 PP = p9p8p7p6p5p4p3p2p1p0 = 1000110111 (56710) 注意教材上勘误:a0b2=13 3、带符号位的阵列乘法器、带符号位的阵列乘法器要解决的问题说明:要解决的问题说明:l l前面刚讨论了两个数是原码时的乘法运算,或前面刚讨论了两个数是原码时的乘法运算,或 者说是正数补码的乘法者说是正数补码的乘法l l计算机中大部分时候数据以补码形式出现,当计算机中大部分时候数据以补码形式出现,当 碰到负数,或者说有符号的数的补码乘法时该碰到负数,或者说有符号的数的补码乘法时该 怎样处理?怎样处理?l l方法方法:先转为原码,然后再处理:先转为原码,然后再处理l l转为原码的过程和求补的过程完全相同转为原码的过程和求补的过程完全相同3 3、带符号位的阵列乘法器、带符号位的阵列乘法器先看求补电路先看求补电路(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号