郑大数据结构课件_第1页
郑大数据结构课件_第2页
郑大数据结构课件_第3页
郑大数据结构课件_第4页
郑大数据结构课件_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2.2 2.2 定点加法、减法运算定点加法、减法运算n2.2.1 补码加法n2.2.2 补码减法n2.2.3 溢出概念与检验方法n2.2.4 基本的二进制加法减法器n2.2.5 十进制加法器2.2.1 补码加法n补码加法的公式是补码加法的公式是 x x 补补+y y 补补= = + + 补补 n在模在模2意义下,任意两数的补码之和等于意义下,任意两数的补码之和等于该两数之和的补码该两数之和的补码n这是这是补码加法的理论基础补码加法的理论基础,其结论也适,其结论也适用于定点整数用于定点整数2.2.1 补码加法( (续续1 1)0,0,则,则0。 相加两数都是正数,故其和也一定是正数。相加两数都是

2、正数,故其和也一定是正数。正数的补码和原码是一样的,可得:正数的补码和原码是一样的,可得: x x 补补+ + y y 补补= =+ +=+ + 补补 (mod 2) 分四种情况来证明分四种情况来证明:2.2.1 补码加法( (续续2 2)0,0,则则0或或0时,时,2 +(x+y) 2,进位,进位2必丢失,又必丢失,又因因(x+y) 0,故故 x x 补补 yy补补=+ + 补补 (mod 2)当当x+y0时,时,2 +(x+y) 2,又因,又因(x+y)0,故故 x x 补补 yy补补2() =+ + 补补 (mod 2)2.2.1 补码加法( (续续3 3)0,则则0或或 0。n 这种情

3、况和第这种情况和第2种情况一样,把种情况一样,把和和的位的位置对调即得证。置对调即得证。2.2.1 补码加法( (续续4 4)0,0,则则0。 相加两数都是负数,则其和也一定是负数。相加两数都是负数,则其和也一定是负数。 x x 补补 2, yy 补补2 x x 补补 yy 补补 2 2=2( 2) (x+y)是负数,其绝对值又小于是负数,其绝对值又小于1,那么,那么(2 +(x+y)一定是小于一定是小于2而大于而大于1的数,进位的数,进位”2”必丢失。又因必丢失。又因()0,所以,所以 x x 补补 yy 补补 2() =+ + 补补 (mod 2)在模在模2意义下,任意两数的补码之和等于该

4、两意义下,任意两数的补码之和等于该两数之和的补码。数之和的补码。 这是这是补码加法的理论基础补码加法的理论基础,其结论也适用于,其结论也适用于定点整数。定点整数。2.2.1 补码加法( (续续5 5)例例8:0.1001,0.0101,求,求。解:解:例例9:0.1011,0.0101, 求求解:解:由以上两例看到,由以上两例看到,补码加法的特点补码加法的特点:一是一是符号位要作为数的一部分一起参加运算符号位要作为数的一部分一起参加运算二是二是要在模要在模2的意义下相加,即超过的意义下相加,即超过2的进位要丢掉。的进位要丢掉。 例8之解 x x 补补0.1001, y y 补补0.0101 x

5、 x 补补 0.1001 y y 补补0.0101 + + 补补 0.1110 所以所以0.1110 返返 回回例9之解 x x 补补0.1011, y y 补补1.1011 x x 补补 0.1011 y y 补补1.1011 + + 补补 10.0110 所以所以0.0110返回返回 证明:证明:-Y补补=-Y补补(mod 2)因为 X+Y补=X补+Y补 (mod 2)所以 Y补=X+Y补-X补又因为 X-Y补=X+(-Y)补= X补+-Y补所以 -Y补=X-Y补-X补则 -Y补+Y补=X-Y补+X+Y补-X补-X补 = X+Y+X-Y补 -X补-X补 =0所以 -Y补=-Y补 (mod

6、2) 证明证明从从y 补补求求-y 补的法则补的法则是:是: 对对补补包括符号位在内包括符号位在内“按位求反且最末位加按位求反且最末位加1”,即可得到,即可得到-补补。写成运算表达式,则为:写成运算表达式,则为: -补补补补 (2.21) 表示对表示对补补作作包括符号位在内包括符号位在内的按位求反操作的按位求反操作 表示最末位的表示最末位的1 2n2.2.2 补码减法(续(续1 1)例例10:已知已知10.1110,20.1101,求:求: x x1 补补 ,-x x1 补补 , x x2 补补 ,-x x2 补补。 解:解:例例11:0.1101,0.0110,求求。 解:解:例10之解 x

7、 x1 补补1.0010 - - x x1 补补 x x1 补补 2-4 0.11010.00010.1110 x x2 补补0.1101 - - x x2 补补 x x2 补补 2-4 1.00100.00011.0011 返回返回 例11之解 x x 补补0.1101, y y 补补0.0110-y-y补补1.1010 x x 补补 0.1101 -y y 补补 1.1010 - - 补补 10.0111 所以所以0.0111返回返回 2.2.3 溢出概念与检验方法以定点小数为例:以定点小数为例: 在定点小数机器中在定点小数机器中, ,数的表示范围为数的表示范围为| |1. | x 0 4

8、+x = 4-|x| 0 x -2 (2.22)溢出概念与检测方法溢出概念与检测方法或用同余式表示:或用同余式表示:补补4(mod 4)下式也同样成立:下式也同样成立: 补补 补补 补补(mod 4)计算时计算时: 1. 两个符号位都看作数码一样参加运算两个符号位都看作数码一样参加运算 2.2.两数进行以两数进行以4位模的加法位模的加法, ,即最高符号位上产生的进即最高符号位上产生的进位要丢掉。位要丢掉。 采用变形补码后,如果两个数相加后,其结果的采用变形补码后,如果两个数相加后,其结果的 符号位出现符号位出现“01”或或“10”两种组合时两种组合时, ,表示发生表示发生溢出。这是因为两个绝对

9、值小于溢出。这是因为两个绝对值小于1的数相加的数相加, ,其结果其结果不会大于或等于不会大于或等于2。所以,最高符号位所表示的是。所以,最高符号位所表示的是结结果的正确符号果的正确符号。溢出概念与检测方法溢出概念与检测方法得到两数变形补码之和等于两数之和的变形补码得到两数变形补码之和等于两数之和的变形补码, , 补补 补补 补补(mod 4) 例例1414 0.1100.1100, 0, 0.1000,0.1000,求求。溢出概念与检测方法溢出概念与检测方法 解解 : 补补00.1100,补补00.1000 补补 00.1100 补补 00.1000 01.0100 两个符号位出现两个符号位出

10、现“01”01”, ,表示已溢出表示已溢出, ,即即结果大于结果大于1 1。上溢上溢 又又例例 0.1100.1100, 0, 0.0001,0.0001,求求。溢出概念与检测方法溢出概念与检测方法 解解 : 补补00.1100,补补00.0001 补补 00.1100 补补 00.0001 00.1101 两个符号位两个符号位 =“00”,=“00”,表示表示无溢出无溢出。 例例1515 0.1100, 0.1100, -0.1000,-0.1000,求求。溢出概念与检测方法溢出概念与检测方法 解解 : 补补11.0100,补补11.1000 补补11.0100补补11.1000 10.11

11、00两个符号位出现两个符号位出现“10”, ,表示已溢出表示已溢出, ,即结果小即结果小于于1。下溢下溢 又例又例 0.0100, 0.0100, -0.1000,-0.1000,求求。溢出概念与检测方法溢出概念与检测方法 解解 : 补补11.1100,补补11.1000 补补11.1100补补11.1000 11.0100两个符号位出现两个符号位出现“11”, ,表示表示无溢出无溢出。溢出概念与检测方法溢出概念与检测方法由此可以得出如下结论由此可以得出如下结论:1.1. 当以模当以模4 4补码运算补码运算, ,运算结果的运算结果的二符号位相异二符号位相异时时, ,表示表示溢出溢出;相同相同时

12、时, ,表示表示未溢出未溢出。故溢出逻辑表故溢出逻辑表达式为达式为 V VS Sf f1 1S Sf f2 2, ,其中其中S Sf f1 1和和S Sf f2 2分别为最高符号分别为最高符号位和第二符号位。此逻辑表达式可用位和第二符号位。此逻辑表达式可用异或门异或门实现。实现。2. 2. 模模4 4补码相加的结果补码相加的结果, ,不论溢出与否不论溢出与否, ,最高符号位最高符号位始终指示正确的符号。始终指示正确的符号。 溢出概念与检测方法溢出概念与检测方法第二种溢出检测方法第二种溢出检测方法:采用采用“单符号位法单符号位法”。 从例从例1 1和和例例2 2中看到中看到:(1).:(1).当

13、最高有效位产生进位而当最高有效位产生进位而符号位无进位时符号位无进位时, ,产生产生上溢上溢;(2).(2).当最高有效位无进当最高有效位无进位而符号位有进位时位而符号位有进位时, ,产生产生下溢下溢。 故:故:溢出逻辑表达式为溢出逻辑表达式为: V VC Cr rC Co o其中其中: : C Cf f为符号位产生的进位为符号位产生的进位, ,C Co o为最高有效位产生的为最高有效位产生的进位。(进位。(显然:此逻辑关系可用异或门方便地实现显然:此逻辑关系可用异或门方便地实现)。)。 在定点机中,当运算结果发生溢出时在定点机中,当运算结果发生溢出时, ,机器通过逻机器通过逻辑电路自动检查出

14、溢出故障辑电路自动检查出溢出故障, ,并进行中断处理。并进行中断处理。 2.2.4 基本的二进制加法减法器n两个二进制数字两个二进制数字Ai,Bi和和一个进位输入一个进位输入Ci相加,产生相加,产生一个和输出一个和输出Si,以及一个,以及一个进位输出进位输出Ci+1。n表表2.2中列出一位全加器中列出一位全加器进行加法运算的输入输出进行加法运算的输入输出真值表。真值表。2.2.4 基本的二进制加法减法器(续(续1 1)n根据真值表,三个输入端和两个输入端可按如下逻根据真值表,三个输入端和两个输入端可按如下逻辑方程进行联系:辑方程进行联系: Si Ai Bi Ci Ci+1 Ai Bi + Bi

15、 Ci +Ci Ai (2.23)n按此表达式组成的一位全加器示图按此表达式组成的一位全加器示图2.2(b)。二进制加法二进制加法/减法器减法器对一位全加器对一位全加器(FA)来说来说,Si的时间延迟为的时间延迟为6T(每级异或门延迟每级异或门延迟3T),Ci1的时间延迟为的时间延迟为5T,其中其中T被定义为相应于单级逻辑被定义为相应于单级逻辑电路的单位门延迟。电路的单位门延迟。T通常通常采用一个采用一个“与非与非”门或一个门或一个“或非或非”门的时间延迟来门的时间延迟来作为度量单位。作为度量单位。3T+3T3T+T+T一位全加器一位全加器 按式按式(2.23)组成的一位全加器(组成的一位全加

16、器(FA)示意图)示意图2.2(b)n n 个个1位的全加器位的全加器(FA)可级联成一个可级联成一个n 位的行波进位的行波进位加减器。位加减器。nM为方式控制输入线为方式控制输入线, 当当M=0时,作加法时,作加法(A+B)运算;运算; 当当M=1时,作减法时,作减法(A-B)运算。转化成运算。转化成A补补+-B补补运算,求补过程由运算,求补过程由B+1来实现。来实现。n 起始进位连接到功能方式线起始进位连接到功能方式线M上,作减法时上,作减法时M=1,相当于在加法器的最低位上加相当于在加法器的最低位上加1。n图中左边是单符号位法的溢出检测逻辑;当图中左边是单符号位法的溢出检测逻辑;当CnC

17、n1时,运算无溢出;而当时,运算无溢出;而当Cn Cn1时,运算有溢时,运算有溢出,经异或门产生溢出信号。出,经异或门产生溢出信号。二进制加法二进制加法/减法器减法器延迟时间延迟时间t ta a为为: : 2T2T延迟时间延迟时间t ta a为为: : 3T3T考虑溢出检测时考虑溢出检测时,延迟时间延迟时间t ta a为为: : t ta an n2 2T T9 9T T (2(2n n9)9)T T当不考虑溢出检测时当不考虑溢出检测时,有:,有: t ta a( (n-1)n-1)2 2T T9 9T T 2.2.4 基本的二进制加法减法器(续(续3 3)n对一位全加器来说,对一位全加器来说

18、,Si的时间延迟为的时间延迟为6T,Ci+1的时的时间延迟为间延迟为5T。T通常采用一个通常采用一个“与非与非”门或一个门或一个“或非或非”门的时间延迟来作为度量单位。门的时间延迟来作为度量单位。 n计算一个计算一个n位的行波进位加法器的时间延迟。假如位的行波进位加法器的时间延迟。假如采用图采用图2.2(a)所示的一位全加器并考虑溢出检测,所示的一位全加器并考虑溢出检测,那么那么n位行波进位加法器的延迟时间位行波进位加法器的延迟时间ta为为 tan2T9T(2n9)T (2.22) n9T为最低位上的两极为最低位上的两极“异或异或”门再加上溢出门再加上溢出“异或异或”门的总时间,门的总时间,2

19、T为每级进位链的延迟时间。为每级进位链的延迟时间。 2.2.4 基本的二进制加法减法器(续(续2 2)n当不考虑溢出检测时,有当不考虑溢出检测时,有 ta(n-1) 2T9T(2.23) n ta意味着加法器的输入端输入加数和被加数后,意味着加法器的输入端输入加数和被加数后,在最坏情况下加法器输出端得到稳定的求和输出所在最坏情况下加法器输出端得到稳定的求和输出所需的最长时间。显然这个时间越小越好。需的最长时间。显然这个时间越小越好。n加数、被加数、进位与和数都用电平表示,因此,加数、被加数、进位与和数都用电平表示,因此,所谓稳定的求和输出,就是指稳定的电平输出。所谓稳定的求和输出,就是指稳定的

20、电平输出。十进制加法器十进制加法器例:设例:设 Xi= 0110= (6)10 Yi= 0111= (7)10 则:则:Si = Xi+ Yi= 0110+0111 = 1101= (13)10 十位数:十位数:1 个位数:个位数: 3 对对Si(9)进行进行“加加6校正校正”后:后: Si = Si+6=1101+0110=1 0011 13 Si9的情况的情况:Si = 1010,1011,1100,1101,1110,1111. 当当Si9时,要求:时,要求: 产生向高位的进位信号产生向高位的进位信号Ci+1 ; 对对Si进行进行“+6”校正,得出本位的十进制数值。校正,得出本位的十进制

21、数值。实现:实现:(6)10 +(7)10 进位进位十进制加法器十进制加法器该位的和该位的和十进制加法的校正十进制加法的校正2.2.5 十进制加法器2.2.5 十进制加法器n十进制加法器可由十进制加法器可由BCD码来设计,它可以在二码来设计,它可以在二进制加法器的基础上加上适当的进制加法器的基础上加上适当的“校正校正”逻辑逻辑来实现,该校正逻辑可将二进制的来实现,该校正逻辑可将二进制的“和和”改变改变成所要求的十进制格式。成所要求的十进制格式。 nn 位位BCD码行波式进位加法器的一般结构如图码行波式进位加法器的一般结构如图2.3(a)所示,它由所示,它由n 级组成,每一级将一对级组成,每一级

22、将一对4位位的的BCD数字相加,并通过一位进位线与其相邻数字相加,并通过一位进位线与其相邻级连接。级连接。G1G2返回返回 和大于和大于9?和有进位和有进位校正:校正:Ci10时:时:+ +0; Ci11时:时:+ +6; Si3Si2Si1Si010 1 0 1 011 1 0 1 1 G1=Si3 Si112 1 1 0 013 1 1 0 1 G2=Si3 Si214 1 1 1 015 1 1 1 116 1 0 0 0 0 Ci12.2.5 十进制加法器( (续续1 1)n十进制相加二数之和大于十进制相加二数之和大于9时,产生进位。用时,产生进位。用BCD码运算的码运算的和数大于和数

23、大于9时,必须对和数进行加时,必须对和数进行加6修正修正。n第一次近似求值时,就好像第一次近似求值时,就好像xi和和yi是普通是普通4位二进制位二进制数一样。数一样。n设设Si代表得到的代表得到的4位二进制数和,位二进制数和,Ci+1为输出进位,为输出进位,Si为正确的为正确的BCD和,和,Ci+1为正确的进位为正确的进位 当当xiyici10时,时, SiSi 当当xiyici 10时时, SiSi6n 当当 1或或 10时时,输出进位输出进位1 1。因此,可利用。因此,可利用 的状态来产生所的状态来产生所要求的校正因子要求的校正因子:n 1时校正因子为时校正因子为6n 0时校正因子为时校正

24、因子为0。n在图在图2.3(b)中,中,4位行波式进位的二进制加位行波式进位的二进制加法器计算出和法器计算出和 , 然后然后 经过第二级二进经过第二级二进制加法器加上制加法器加上0或或6,则产生最终结果,则产生最终结果 。1iC1iC1iC1iC1iCiSiSiSiS2.3 定点乘法运算n2.3.1 原码并行乘法n2.3.2 补码并行乘法2.3.1 原码并行乘法n在定点计算机中,在定点计算机中,两个原码表示的数相乘的运算规则是:两个原码表示的数相乘的运算规则是:乘乘积的符号位由两数的符号位按异或运算得到,而乘积的数值积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。

25、部分则是两个正数相乘之积。n设设n位被乘数和乘数用定点小数表示位被乘数和乘数用定点小数表示(定点整数也同样适用定点整数也同样适用) 被乘数被乘数 xx原原 x xf f . x xn-1n-1x x1 1x x0 0 乘数乘数 yy原原 y yf f . y yn-1n-1y y1 1y y0 0 n则乘积则乘积 zz原原(x xf f y yf f)(0. x xn-1n-1x x1 1x x0 0 )(0. y yn-1n-1y y1 1y y0 0) (2.26)被乘数符被乘数符号号 乘数符号乘数符号 1.人工算法与机器算法的同异性人工算法与机器算法的同异性2.3.1 原码并行乘法(续(

26、续1 1)n乘积符号的运算法则是乘积符号的运算法则是:同号相乘为正,异号相:同号相乘为正,异号相乘为负。由于被乘数和乘数和符号组合只有四种乘为负。由于被乘数和乘数和符号组合只有四种情况情况( x xf f y yf f 00,01,10,11),因此积的符号可,因此积的符号可按按“异或异或”(按位加按位加)运算得到。运算得到。n数值部分的运算方法与普通的十进制小数乘法类数值部分的运算方法与普通的十进制小数乘法类似,不过对于用二进制表达式的数来说,其乘法似,不过对于用二进制表达式的数来说,其乘法规则更为简单一些。规则更为简单一些。2.3.1 原码并行乘法(续(续2 2)二进制乘法运算:n 从乘数

27、从乘数的最低位开始,若这一位为的最低位开始,若这一位为“1”,则将,则将被乘数被乘数写下;若为写下;若为“0”,则写下全,则写下全0。然后在。然后在对乘数的高一位进行乘法运算,规则同上,但对乘数的高一位进行乘法运算,规则同上,但这一位乘数的权与最低位乘数的权不同,这一位乘数的权与最低位乘数的权不同,被乘被乘数数要左移一位。以此类推,直到乘数个位乘完要左移一位。以此类推,直到乘数个位乘完为止,最后将它们加起来,得到最后乘积为止,最后将它们加起来,得到最后乘积。n设设0.1101,0.1011。用习惯方法求其。用习惯方法求其乘积,过程。乘积,过程。 0. 1 1 0 1 (x) 0. 1 0 1

28、1 (y) 1 1 0 1 1 1 0 1 0 0 0 0+ 1 1 0 1 0. 1 0 0 0 1 1 1 1 (z)2.3.1 原码并行乘法(续(续3 3)n人们习惯的算法对机器并不完全适用人们习惯的算法对机器并不完全适用原因之一原因之一,机器通常只,机器通常只有有n位长,两个位长,两个n位数相位数相乘,乘积可能为乘,乘积可能为2n位。位。原因之二原因之二,只有两个操,只有两个操作数相加的加法器难以作数相加的加法器难以胜任将胜任将n各位积一次各位积一次 相加起来的运算。相加起来的运算。早期计算机中为了简化硬件结构,采用串行的早期计算机中为了简化硬件结构,采用串行的1位乘法方案,即多次执行

29、位乘法方案,即多次执行“加法加法移位移位”操操作来实现。作来实现。这种方法并不需要很多器件。然而串行方法太这种方法并不需要很多器件。然而串行方法太慢,自从大规模集成电路问世以来,出现了各慢,自从大规模集成电路问世以来,出现了各种形式的流水式阵列乘法器,它们属于并行乘种形式的流水式阵列乘法器,它们属于并行乘法器法器。2.3.1 原码并行乘法(续(续4 4)2. 2. 不带符号的阵列乘法器不带符号的阵列乘法器设有两个不带符号的二进制整数:设有两个不带符号的二进制整数:( (见书见书P38P38)A Aa am m1 1a a1 1a a0 0 (m(m位)位) B Bb bn n1 1b b1 1

30、b b0 0 (n n位)位) 它们的数值分别为它们的数值分别为a a和和b b, ,即即 m m1 1 n n1 1 A A a ai i 2 2i iB B b bj j 2 2j j i i0 0 j j0 0在二进制乘法中在二进制乘法中, ,被乘数被乘数A A与乘数与乘数B B相乘相乘, ,产生产生(m mn n)位乘积位乘积P P:P Pp pm mn n1 1p p1 1p p0 0 (m+nm+n位)位)乘积乘积P P 的数值为:的数值为: am-1 am-2 a1 a0 ) bn-1 b1 b0 am-1b0 am-2b0 a1b0 a0b0 am-1b1 am-2b1 a1b

31、1 a0b1 +) am-1bn-1 am-2bn-1 a1bn-1 a0bn-1 pm+n-1 pm+n-2 pm+n-3 pn-1 p1 p0 乘积乘积P P乘数乘数B B被乘数被乘数A A 上述过程给出了在上述过程给出了在m m位乘位乘n n位不带符号整数的阵列乘法位不带符号整数的阵列乘法中中,“,“加法加法移位移位”操作的被加数矩阵。每一个部分乘操作的被加数矩阵。每一个部分乘积项积项( (位积位积) )a ai ib bj j叫做一个被加数。叫做一个被加数。 这这m mn n个被加数个被加数 a ai ib bj j|0|0i im m1 1和和00j jn n11可以用可以用m mn

32、 n个个“与与”门并行地产生。显然门并行地产生。显然, ,设计设计高速并行乘法器高速并行乘法器的基本问题的基本问题, ,就在于就在于缩短缩短被加数矩阵中每列所需的加法时间。被加数矩阵中每列所需的加法时间。 5位位5位阵列乘法器的逻辑电路图演示位阵列乘法器的逻辑电路图演示 原码乘法运算原码乘法运算 若乘法器为若乘法器为n位位n位时位时,需要需要n(n1)个个“全加器全加器”和和n2个个“与与”门。门。由由“与门与门”形成形成该值该值加法器加法器 原码乘法运算原码乘法运算 3T+3T2T3T+2T(n-2).6T(3T+Tf)(n-2).Tf3TTa 令令T Ta a为为“与门与门”的传输延迟时间

33、,的传输延迟时间,T Tf f为全加器为全加器(FA)(FA)的进位传输延迟时间,假定用的进位传输延迟时间,假定用2 2级级“与非与非”逻辑来实逻辑来实现现FAFA的进位链功能和的进位链功能和“与门与门”逻辑,那么就有:逻辑,那么就有: Ta Tf 2T 由上面的分析可以得出:最坏情况下的延迟途径,由上面的分析可以得出:最坏情况下的延迟途径,既是沿着矩阵既是沿着矩阵p p4 4垂直线和最下面的一行。因而得:垂直线和最下面的一行。因而得: n n位位n n位不带符号的阵列乘法器总的乘法时间为:位不带符号的阵列乘法器总的乘法时间为: tmTa+(n1) 6T (n1)Tf 2T(n1) 6T (n

34、1)2T (8n6) T(2.27)原码乘法运算原码乘法运算例例16 已知两个不带符号的二进制整数已知两个不带符号的二进制整数 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 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0+ 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 =P(56710) a a4 4b b0 0=1 a=1 a3 3b b0 0=1 a=1 a2 2b b0

35、0=0 a=0 a1 1b b0 0=1 a=1 a0 0b b0 0=1=1 a a4 4b b1 1=0 a=0 a3 3b b1 1=0 a=0 a2 2b b1 1=0 a=0 a1 1b b1 1=0 a=0 a0 0b b1 1=0=0 a a4 4b b2 2=1 a=1 a3 3b b2 2=1 a=1 a2 2b b2 2=0 a=0 a1 1b b2 2=1 a=1 a0 0b b2 2=1=1 a a4 4b b3 3=0 a=0 a3 3b b3 3=0 a=0 a2 2b b3 3=0 a=0 a1 1b b3 3=0 a=0 a0 0b b3 3=0=0 a a4

36、4b b4 4=1 a=1 a3 3b b4 4=1 a=1 a2 2b b4 4=0 a=0 a1 1b b4 4=1 a=1 a0 0b b4 4=1=1 5位位5位阵列乘法器位阵列乘法器的逻辑电路图演示的逻辑电路图演示2.3.1 原码并行乘法(续(续5 5)上述过程说明了在上述过程说明了在m位乘位乘n位不带符号整数的阵列位不带符号整数的阵列乘法中,乘法中,“加法加法移位移位”操作的被加数矩阵。每操作的被加数矩阵。每一个部分乘积项一个部分乘积项(位积位积) aibj叫做一个被加数。叫做一个被加数。这这mn个被加数个被加数aibj|0im1和和0jn1可以用可以用mn个个“与与”门并行地产生

37、。设计高速并门并行地产生。设计高速并行乘法器的基本问题在于缩短被加数矩阵中每列行乘法器的基本问题在于缩短被加数矩阵中每列所包含的所包含的1的加法时间。的加法时间。2.3.1 原码并行乘法(续(续8 8)3. 带符号的阵列乘法器带符号的阵列乘法器一个负数的常规求补过程:一个负数的常规求补过程: 例:例: X=-1110 X=-1110, 则:则:XX补补=1 00=1 001010 ; Y=-0100Y=-0100, 则:则:YY补补=1 1=1 1100100 算法特点算法特点:从数据的最右边开始向左边逐位看数,从数据的最右边开始向左边逐位看数,找到第一个找到第一个“1”1”为止。该为止。该“

38、1”1”的左边各位全的左边各位全部取反(不包括符号位);该部取反(不包括符号位);该“1”1”的右边各位的右边各位(包括该(包括该“1”1”)保持不变。)保持不变。带符号的阵列乘法器带符号的阵列乘法器 演示对演示对2求补电路的求补电路的工作过程工作过程3 2T3T+2T最长的信号最长的信号 延迟通路延迟通路所需的总时间延迟为:所需的总时间延迟为: tTC3 2T5T2.3.1 原码并行乘法(续(续1010) 用这种对用这种对2求补器来转换一个求补器来转换一个(n1)为带符号为带符号的数,所需的总时间延迟为:的数,所需的总时间延迟为: t TCn2T5T(2n5)T(2.28) 其中每个扫描级需

39、其中每个扫描级需2T延迟,而延迟,而5T则是由于则是由于“与与”门和门和“异或异或”门引起的。门引起的。一个具有使能控制的二进制对一个具有使能控制的二进制对2求补器的逻辑表达式:求补器的逻辑表达式: C10, CiaiCi1 ai*aiECi1,0in2.3.1 原码并行乘法(续(续1111) 带符号的阵列乘法器带符号的阵列乘法器 n 把包括这些求补级的乘法器又称为把包括这些求补级的乘法器又称为符号求补的阵符号求补的阵列乘法器列乘法器。n在这种逻辑结构中,共使用在这种逻辑结构中,共使用三个求补器三个求补器。n其中其中两个算前求补器的作用是:两个算前求补器的作用是:将两个操作数将两个操作数A和和

40、B在被不带符号的乘法阵列在被不带符号的乘法阵列(核心部件核心部件)相乘以前,相乘以前,先变成正整数。先变成正整数。n算后求补器的作用是算后求补器的作用是:当两个输入操作数的符号:当两个输入操作数的符号不一致时,把运算结果变成带符号的数。不一致时,把运算结果变成带符号的数。(2) 带符号的阵列乘法器带符号的阵列乘法器 方法:方法:两个补码相乘,符号位单独处理,两个补码相乘,符号位单独处理,绝对值使用不带符号的阵列乘法器求乘积绝对值使用不带符号的阵列乘法器求乘积的绝对值,然后根据乘积的符号位对乘积的绝对值,然后根据乘积的符号位对乘积的绝对值求补,得出乘积的补码。的绝对值求补,得出乘积的补码。 (n

41、1)(n1)位带求补器的阵列乘位带求补器的阵列乘法器逻辑法器逻辑方框图方框图。补码补码绝对值绝对值绝对值绝对值补码补码用符号位用符号位做控制求做控制求补信号补信号E2.3.1 原码并行乘法(续(续1212)n设设A=anan-1a1a0和和B bnbn-1b1b0均为用定点表示的均为用定点表示的(n1)位带符号整数。在必要的求补操作以后位带符号整数。在必要的求补操作以后,A和和B的码值输的码值输送给送给nn位不带符号的阵列乘法器位不带符号的阵列乘法器,并由此产生并由此产生2n位真值乘位真值乘积积: ABP p2n-1 p1 p0 p2nan bn 其中其中p2n 为符号位。为符号位。所示的带求

42、补级的阵列乘法器既适用于原码乘法,所示的带求补级的阵列乘法器既适用于原码乘法,也适用于间接的补码乘法。也适用于间接的补码乘法。 在原码乘法中,算前求补和算后求补都不需在原码乘法中,算前求补和算后求补都不需要,因为输入数据都是立即可用的。要,因为输入数据都是立即可用的。 间接的补码阵列乘法所需要增加的硬件较多。间接的补码阵列乘法所需要增加的硬件较多。为了完成所必需的求补与乘法操作,时间大约比为了完成所必需的求补与乘法操作,时间大约比原码阵列乘法增加原码阵列乘法增加1倍。倍。2.3.1 原码并行乘法(续(续1313)例例17:17:设设15,13,用带求补器的,用带求补器的原码阵列乘法器求出乘积原

43、码阵列乘法器求出乘积? 解:解: x=+15=(+1111)2, y=-13=(-1101)2, 最高位为符号位,其决定是否启动求补器。最高位为符号位,其决定是否启动求补器。解解:输入数据为原码,则算前、算后求补都不需要,输入数据为原码,则算前、算后求补都不需要,直接计算结果。直接计算结果。 原原 01111 原原 11101 符号位单独考虑,算前无需求补级,直接取数值位:符号位单独考虑,算前无需求补级,直接取数值位: |1111, |1101 经由经由无符号阵列乘法器:无符号阵列乘法器:(算式演示算式演示) 算后也无需求补,直接输出并加上乘积符号位算后也无需求补,直接输出并加上乘积符号位1,

44、则有:则有:x y原原 = 111000011。 换算成二进制数真值是换算成二进制数真值是: ( 11000011)2=(-195)10 十进制数验证:十进制数验证:y =15 (13) =-195 相等。相等。 1 1 1 1 (x=1510) 1 1 0 1 (y=1310) 1 1 1 1 0 0 0 0 1 1 1 1+ 1 1 1 1 1 1 0 0 0 0 1 1 (z=19510)例例18:18:设设+15,-13,用带求补器的补,用带求补器的补码阵列乘法器求出乘积码阵列乘法器求出乘积? 解:解: x=+15=(+1111)2, y=-13=(-1101)2, 最高位为符号位,其

45、决定是否启动求补器。最高位为符号位,其决定是否启动求补器。输入数据为补码,则算前、算后求补都可能需要,输入数据为补码,则算前、算后求补都可能需要,由符号位决定是否启动求补器。由符号位决定是否启动求补器。 x补补=0 1111 ;(符号位为符号位为0,算前无需求补,算前无需求补) y补补=1 0011 ;(符号位为符号位为1,算前需求补,使,算前需求补,使y的的数值变为正数数值变为正数)几点注释几点注释 对对 y补补=10011 的数值部分的数值部分(0011)再求补一次,得:再求补一次,得:|y|=1101 无符号阵列乘法器输出的结果仍然为:无符号阵列乘法器输出的结果仍然为:11000011。

46、 x和和y的符号不一致,的符号不一致,结果的符号位为结果的符号位为“1” ,需,需启动算后求补器,对结果求补,最后得出:启动算后求补器,对结果求补,最后得出: xy补补 =1 00111101 (真值真值= -195) 可见,求补的目的是:可见,求补的目的是: 数据送入无符号阵列乘法器之前,将参与运算的数据送入无符号阵列乘法器之前,将参与运算的补码数据先转换为数据的绝对值(补码数据先转换为数据的绝对值(由算前求补器由算前求补器完成完成) ; 乘积的符号位单独形成(通过异或门);乘积的符号位单独形成(通过异或门); 完成乘法运算后,根据乘积的符号位将两数绝对完成乘法运算后,根据乘积的符号位将两数

47、绝对值的乘积再转换回补码的形式,得出乘积的补码值的乘积再转换回补码的形式,得出乘积的补码(由算后求补器完成由算后求补器完成)。)。 由此可知:由此可知:这种这种带求补器的阵列乘法器所完成带求补器的阵列乘法器所完成的补码乘法,实质上属于的补码乘法,实质上属于间接的补码乘法间接的补码乘法。2.3.2 补码并行乘法间接补码乘法不属于真正的补码乘法,运算效率受到影响。间接补码乘法不属于真正的补码乘法,运算效率受到影响。n如果补码的符号位也直接参与到乘法运算中如果补码的符号位也直接参与到乘法运算中, ,则则可以完成补码的可以完成补码的“直接直接”乘法。乘法。这种方法排除了这种方法排除了较慢的对较慢的对2

48、求补操作,求补操作,大大加速了乘法过程。大大加速了乘法过程。n与直接的补码乘法相联系数学特征。与直接的补码乘法相联系数学特征。对于计算补对于计算补码数的数值来说,较好的表示方法是使补码的位码数的数值来说,较好的表示方法是使补码的位置数有一个带负权的符号和带正权的系数。置数有一个带负权的符号和带正权的系数。1. 补码与真值的转换公式补码与真值的转换公式 2.3.2 补码并行乘法( (续续1 1)例:例:定点整数的补码定点整数的补码N补补=an-1an-2a1a0= an-1是符号位。根据是符号位。根据N补补的符号,的符号,补码数补码数N补补和和真值真值N 的关系可以表示成:的关系可以表示成: a

49、i2iN=当当an1 0时时 (N 为正数为正数)1 (1ai)2i n-2i=0当当an1 1时时 (N 为负数为负数) n-2i=00n-2位数值位位数值位逐位求反逐位求反末位加末位加1真值的绝对值真值的绝对值 n-1i=0ai2i根据补码的性质根据补码的性质4,整数,整数N的补码的形式:的补码的形式: N补补= 2nan-1 + N an-1为符号,为符号, N为正时,为正时, an-1=0; N为负时,为负时, an-1=1。或者或者 N也可以用也可以用N补补表示为:表示为: N = - 2nan-1 + N补补= - 2nan-1 = = -2nan-1+2n-1an-1 = = -

50、2n-1an-1+ a ai i2 2i i (2.292.29) n-2i=0 + n-1 i=0 ai2i + n-2 i=0 ai 2i因为当因为当N补补表示为表示为an1an2a1a0时,无论时,无论N为正还是为负,则都有式子为正还是为负,则都有式子2.29成立,即:成立,即: n-2i=0N= -N= -a an n1 12 2n n1 1 a ai i2 2i i-N补补an1an2a1a0+1式中式中ai=1- ai(对(对0in-1)。)。无论无论N为正还是为负,为正还是为负, N补补的机器负数的机器负数-N补补为:为:表达式表达式(2.29)和和(2.30)是等效的。是等效的

51、。 n-2i=0 N (1 an1)2n1 (1 ai)2i+1 (2.30)依式子依式子2.29此类推得式子此类推得式子2.30 : n-2i=0 N an12n1ai 2i+1 2.3.2 补码并行乘法( (续续2 2)例例19 已知已知: N补补 01101,N补补10011,求求N补补,N补补具有的数值。具有的数值。解解:N补补01101 具有的数值为:具有的数值为:N=-024+123+122+021+120=(+13)10 N补补10011 具有的数值为:具有的数值为:-N=-124+023+022+121+120=(-13)10按照式子按照式子2.30,求得:,求得:-N=-(1

52、-0)24+(1-1)23+(1-1)22+(1-0)21 +(1-1)20 +1 =(-13)10又例,又例, 已知已知: A补补 10110,B补补01011,求,求A和和B的值的值。解解:A补补10110 具有的数值为:具有的数值为:A124023122121020( 10)10 B补补01011 具有的数值为:具有的数值为:B024123022121120( 11)102.3.2 补码并行乘法( (续续3 3) 常规的一位全加器可假定它的常规的一位全加器可假定它的3 3个输入个输入和和2 2个输出都是正权。实际上,这种加法器个输出都是正权。实际上,这种加法器既可以把正权加到输入既可以把

53、正权加到输入/ /输出端、也可以把输出端、也可以把负权加到输入负权加到输入/ /输出端上。所以,可以归纳输出端上。所以,可以归纳出四类加法单元。如出四类加法单元。如(表(表2.32.3),0 0类全加器类全加器没有负权输入;没有负权输入;1 1类全加器有类全加器有1 1个负权输入和个负权输入和2 2个正权输入;依次类推。几种加法器的输个正权输入;依次类推。几种加法器的输入输出真值表:入输出真值表:2.一般化的全加器形式一般化的全加器形式 0类加法器:类加法器:输入、输出都没有负权。输入、输出都没有负权。直接补码并行乘法运算直接补码并行乘法运算X Y Z S C 0 0 0 0 0 0 0 1

54、1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 S=X Y Z+X Y Z+X Y Z+XYZ= X Y ZC=X Y Z+X Y Z+X Y Z+X Y Z=XY+YZ+ZX1类加法器:类加法器:输入有一个负权、输出输入有一个负权、输出和和为负权。为负权。直接补码并行乘法运算直接补码并行乘法运算X Y Z S C 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 S=X Y Z+X Y Z+X Y Z+X

55、YZ= X Y ZC=X Y Z+X Y Z+X Y Z+X Y Z=XY+XZ+YZ2类加法器:类加法器:输入有两个负权,输出输入有两个负权,输出进位进位为负权。为负权。直接补码并行乘法运算直接补码并行乘法运算X Y Z S C 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 S=X Y Z+X Y Z+X Y Z+XYZ= X Y ZC=X Y Z+X Y Z+X Y Z+X Y Z=XY+XZ+YZ3类加法器:类加法器:三个输入都为负权,输出三个输入都为负权,输出进位进位、和和

56、都为负权。都为负权。 直接补码并行乘法运算直接补码并行乘法运算X Y Z S C 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 S=X Y Z+X Y Z+X Y Z+XYZ= X Y ZC=X Y Z+X Y Z+X Y Z+X Y Z=XY+YZ+ZX 总结总结: 0类类全加器就是普通的一位全加器,而全加器就是普通的一位全加器,而3类类全加器可以用全加器可以用0类类全加器的逻辑方程来表征,它全加器的逻辑方程来表征,它和和(0类类)是一致的。这是因为是一致的。这是因为3类全加器可

57、以简单地类全加器可以简单地把把0类全加器的所有输入输出值全部反向来得到,类全加器的所有输入输出值全部反向来得到,反之亦然。反之亦然。 1类类和和2类类全加器之间也能建立类似的关系。全加器之间也能建立类似的关系。(由于逻辑表达式具有两级(由于逻辑表达式具有两级“与或与或”形式,可以用形式,可以用 “与或非与或非”门来实现,延迟时间为门来实现,延迟时间为2T。)。)直接补码并行乘法运算直接补码并行乘法运算2.3.2 补码并行乘法( (续续5 5)n利用混合型的全加器就可以构成直接补码数阵列利用混合型的全加器就可以构成直接补码数阵列乘法器。设被乘数乘法器。设被乘数A和乘数和乘数B是两个是两个5位的二

58、进制位的二进制补码数补码数,即即 A ( a4)a3a2a1a0 B (b4)b3 b2b1b0n它们具有带负权的符号位它们具有带负权的符号位a4和和b4 并用括号标注。并用括号标注。n如果我们用括号来标注负的被加项,例如如果我们用括号来标注负的被加项,例如(aibj),那么那么A和和B相乘过程中所包含的操作步骤如下面矩相乘过程中所包含的操作步骤如下面矩阵所示:阵所示:3.直接补码阵列乘法器直接补码阵列乘法器 2.3.2 补码并行乘法( (续续6 6)(a4) a3 a2 a1a0 A ) (b4) b3 b2 b1 b0 B (a4b0) a3b0a1b0 a1b0a0b0 (a4b1) a

59、3b1 a2b1 a1b1 a0b1(a4b2)a3b2 a2b2 a1b2a0b2 (a4b3)a3b3 a2b3 a1b3 a0b3) a4b4 (a3b4) (a2b4) (a1b4) (a0b4) p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 P 5位乘位乘5位的直接补码阵列乘法器逻辑原理示于图位的直接补码阵列乘法器逻辑原理示于图2.8,其中使用不同的逻辑符号来代表其中使用不同的逻辑符号来代表0类、类、1类、类、2类、类、3类类全加器。全加器。2类和类和1类全加器具有同样的结构类全加器具有同样的结构,但是使用不但是使用不同的逻辑符号可使乘法阵列的线路图容易理解。同的逻辑符

60、号可使乘法阵列的线路图容易理解。直接补码并行乘法运算直接补码并行乘法运算a4b0a4b1a4b2a4b3a4b4a3b0a2b0a1b0a0b0a3b1a3b2a3b3a3b4a2b4a1b4a0b4a2b1a1b1a0b1a2b2a1b2a0b2a2b3a1b3a0b300000ai bjaibj0i40j42.4 定点除法运算n2.4.1 原码除法运算原理n2.4.2 并行除法器 2.4.1 原码除法运算原理n两个原码数相除时,商的符号由两数的符号按位相两个原码数相除时,商的符号由两数的符号按位相加求得,商的数值部分由两数的数值部分相除求得。加求得,商的数值部分由两数的数值部分相除求得。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论