《第2章 运算方法和运算器PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第2章 运算方法和运算器PPT讲稿.ppt(111页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章 运算方法和运算器第1页,共111页,编辑于2022年,星期一2.2.1 补码加法n补码加法的公式是补码加法的公式是 x x 补补+y y 补补=+补补 n在模在模2意义下,任意两数的补码之和等于意义下,任意两数的补码之和等于该两数之和的补码该两数之和的补码n这是这是补码加法的理论基础补码加法的理论基础,其结论也适,其结论也适用于定点整数用于定点整数第2页,共111页,编辑于2022年,星期一2.2.1 补码加法(续续1 1)0,0,则,则0。相加两数都是正数,故其和也一定是正数。正数的补相加两数都是正数,故其和也一定是正数。正数的补码和原码是一样的,可得:码和原码是一样的,可得:x x
2、 补补+y y 补补=+=+补补 (mod 2)分四种情况来证明分四种情况来证明:第3页,共111页,编辑于2022年,星期一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)第4页,共111页,编辑于2022年,星期一2.2.1 补码加法(续续3 3)0,则则0或或 0。n 这种情况和第这种情况和第2种情况一样,把种情况一样,把和和的位置对的位
3、置对调即得证。调即得证。第5页,共111页,编辑于2022年,星期一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、适用于定点整数。第6页,共111页,编辑于2022年,星期一2.2.1 补码加法(续续5 5)例例8:0.1001,0.0101,求,求。解:解:例例9:0.1011,0.0101,求求解:解:由以上两例看到,补码加法的特点:一是符号位要作为数的一部分一起参加运算二是要在模2的意义下相加,即超过2的进位要丢掉。第7页,共111页,编辑于2022年,星期一例8之解 x x 补补0.1001,y y 补补0.0101 x x 补补 0.1001 y y 补补0.0101+补补 0.1110 所以所以0.1110 返返 回回第8页,共111页,编辑于2022年,星期一例9之解 x x 补补0.101
5、1,y y 补补1.1011 x x 补补 0.1011 y y 补补1.1011+补补 10.0110 所以所以0.0110返回返回 第9页,共111页,编辑于2022年,星期一第10页,共111页,编辑于2022年,星期一证明:证明:-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 2)第11页,共111页,编辑于2022年,星期一 证明证明从从y 补补求求-y
6、补的法则补的法则是:是:对对补补包括符号位在内包括符号位在内“按位求反且最末位加按位求反且最末位加1”,即可得到即可得到-补补。写成运算表达式,则为:写成运算表达式,则为:-补补补补 (2.21)表示对补作包括符号位在内的按位求反操作 表示最末位的1 第12页,共111页,编辑于2022年,星期一2.2.2 补码减法(续(续1 1)例例10:已知已知10.1110,20.1101,求:求:x x1 补补 ,-x x1 补补 ,x x2 补补 ,-x x2 补补。解:解:例例11:0.1101,0.0110,求求。解:解:第13页,共111页,编辑于2022年,星期一例10之解 x x1 补补1
7、.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 返回返回 第14页,共111页,编辑于2022年,星期一例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返回返回 第15页,共111页,编辑于2022年,星期一2.2.3 溢出概念与检验方法以定点小数为例:以定点小数为例:在定点小数机器中在定点小数机器中,数的表
8、示范围为数的表示范围为|1.|x04+x=4-|x|0 x-2(2.22)溢出概念与检测方法溢出概念与检测方法或用同余式表示:或用同余式表示:补补4(mod4)下式也同样成立:下式也同样成立:补补 补补 补补(mod4)第22页,共111页,编辑于2022年,星期一计算时计算时:1.两个符号位都看作数码一样参加运算两个符号位都看作数码一样参加运算 2.2.两数进行以两数进行以4位模的加法位模的加法,即最高符号位上产生的进位要即最高符号位上产生的进位要丢掉。丢掉。采用变形补码后,如果两个数相加后,其结果的采用变形补码后,如果两个数相加后,其结果的 符号位出现符号位出现“01”或或“10”两种组合
9、时两种组合时,表示发生溢出。这表示发生溢出。这是因为两个绝对值小于是因为两个绝对值小于1的数相加的数相加,其结果不会大于或等于其结果不会大于或等于2。所以,最高符号位所表示的是。所以,最高符号位所表示的是结果的正确符号结果的正确符号。溢出概念与检测方法溢出概念与检测方法得到两数变形补码之和等于两数之和的变形补码得到两数变形补码之和等于两数之和的变形补码,补补 补补 补补(mod4)第23页,共111页,编辑于2022年,星期一 例例1414 0.1100.1100,0,0.1000,0.1000,求求。溢出概念与检测方法溢出概念与检测方法解解 :补补00.1100,补补00.1000补补00.
10、1100补补00.100001.0100 两个符号位出现两个符号位出现“0101”,表示已溢出表示已溢出,即结果大即结果大于于1 1。上溢上溢第24页,共111页,编辑于2022年,星期一 又又例例 0.1100.1100,0,0.0001,0.0001,求求。溢出概念与检测方法溢出概念与检测方法解解 :补补00.1100,补补00.0001补补00.1100补补00.000100.1101 两个符号位两个符号位=“0000”,表示表示无溢出无溢出。第25页,共111页,编辑于2022年,星期一 例例1515 0.1100,0.1100,-0.1000,-0.1000,求求。溢出概念与检测方法
11、溢出概念与检测方法解解 :补补11.0100,补补11.1000补补11.0100补补11.100010.1100两个符号位出现两个符号位出现“10”,表示已溢出表示已溢出,即结果小于即结果小于1。下溢下溢第26页,共111页,编辑于2022年,星期一 又例又例 0.0100,0.0100,-0.1000,-0.1000,求求。溢出概念与检测方法溢出概念与检测方法解解 :补补11.1100,补补11.1000补补11.1100补补11.100011.0100两个符号位出现两个符号位出现“11”,表示表示无溢出无溢出。第27页,共111页,编辑于2022年,星期一溢出概念与检测方法溢出概念与检测
12、方法由此可以得出如下结论由此可以得出如下结论:1.1.当以模当以模4 4补码运算补码运算,运算结果的运算结果的二符号位相异二符号位相异时时,表示表示溢出溢出;相同相同时时,表示表示未溢出未溢出。故溢出逻辑表达式为故溢出逻辑表达式为 V VS Sf f1 1S Sf f2 2,其中其中S Sf f1 1和和S Sf f2 2分别为最高符号位和第二符号分别为最高符号位和第二符号位。此逻辑表达式可用位。此逻辑表达式可用异或门异或门实现。实现。2.2.模模4 4补码相加的结果补码相加的结果,不论溢出与否不论溢出与否,最高符号位始最高符号位始终指示正确的符号。终指示正确的符号。第28页,共111页,编辑
13、于2022年,星期一溢出概念与检测方法溢出概念与检测方法第二种溢出检测方法第二种溢出检测方法:采用采用“单符号位法单符号位法”。从例从例1 1和和例例2 2中看到中看到:(1).:(1).当最高有效位产生进位而符号当最高有效位产生进位而符号位无进位时位无进位时,产生产生上溢上溢;(2).(2).当最高有效位无进位而符号位当最高有效位无进位而符号位有进位时有进位时,产生产生下溢下溢。故:故:溢出逻辑表达式为溢出逻辑表达式为:V VC Cr rC Co o其中其中:C Cf f为符号位产生的进位为符号位产生的进位,C Co o为最高有效位产生的为最高有效位产生的进位。(进位。(显然:此逻辑关系可用
14、异或门方便地实现显然:此逻辑关系可用异或门方便地实现)。)。在定点机中,当运算结果发生溢出时在定点机中,当运算结果发生溢出时,机器通过逻机器通过逻辑电路自动检查出溢出故障辑电路自动检查出溢出故障,并进行中断处理。并进行中断处理。第29页,共111页,编辑于2022年,星期一2.2.4 基本的二进制加法减法器n两个二进制数字两个二进制数字Ai,Bi和和一个进位输入一个进位输入Ci相加,产生相加,产生一个和输出一个和输出Si,以及一个,以及一个进位输出进位输出Ci+1。n表表2.2中列出一位全加器中列出一位全加器进行加法运算的输入输出进行加法运算的输入输出真值表。真值表。第30页,共111页,编辑
15、于2022年,星期一2.2.4 基本的二进制加法减法器(续(续1 1)n根据真值表,三个输入端和两个输入端可按如下逻辑方程根据真值表,三个输入端和两个输入端可按如下逻辑方程进行联系:进行联系:Si Ai Bi Ci Ci+1 Ai Bi+Bi Ci+Ci Ai (2.23)n按此表达式组成的一位全加器示图按此表达式组成的一位全加器示图2.2(b)。第31页,共111页,编辑于2022年,星期一二进制加法二进制加法/减法器减法器对一位全加器对一位全加器(FA)来说来说,Si的时间延迟为的时间延迟为6T(每级异或门延迟每级异或门延迟3T),Ci1的时间延迟为的时间延迟为5T,其中其中T被定义为相应
16、于单级逻辑被定义为相应于单级逻辑电路的单位门延迟。电路的单位门延迟。T通常通常采用一个采用一个“与非与非”门或一个门或一个“或非或非”门的时间延迟来门的时间延迟来作为度量单位。作为度量单位。3T+3T3T+T+T一位全加器一位全加器 按式按式(2.23)组成的一位全加器(组成的一位全加器(FA)示意图)示意图2.2(b)第32页,共111页,编辑于2022年,星期一第33页,共111页,编辑于2022年,星期一n n 个个1位的全加器位的全加器(FA)可级联成一个可级联成一个n 位的行波进位加位的行波进位加减器。减器。nM为方式控制输入线为方式控制输入线,当当M=0时,作加法时,作加法(A+B
17、)运算;运算;当当M=1时,作减法时,作减法(A-B)运算。转化成运算。转化成A补补+-B补补运运算,求补过程由算,求补过程由B+1来实现。来实现。n 起始进位连接到功能方式线起始进位连接到功能方式线M上,作减法时上,作减法时M=1,相,相当于在加法器的最低位上加当于在加法器的最低位上加1。n图中左边是单符号位法的溢出检测逻辑;当图中左边是单符号位法的溢出检测逻辑;当CnCn1时,时,运算无溢出;而当运算无溢出;而当Cn Cn1时,运算有溢出,经异或时,运算有溢出,经异或门产生溢出信号。门产生溢出信号。第34页,共111页,编辑于2022年,星期一二进制加法二进制加法/减法器减法器延迟时间ta
18、为:2T延迟时间延迟时间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第35页,共111页,编辑于2022年,星期一 2.2.4 基本的二进制加法减法器(续(续3 3)n对一位全加器来说,对一位全加器来说,Si的时间延迟为的时间延迟为6T,Ci+1的时间的时间延迟为延迟为5T。T通常采用一个通常采用一个“与非与非”门或一个门或一个“或非或非”门的时间延迟来作为度量单位。门的时间延迟
19、来作为度量单位。n计算一个计算一个n位的行波进位加法器的时间延迟。假如采用图位的行波进位加法器的时间延迟。假如采用图2.2(a)所示的一位全加器并考虑溢出检测,那么所示的一位全加器并考虑溢出检测,那么n位行位行波进位加法器的延迟时间波进位加法器的延迟时间ta为为 tan2T9T(2n9)T (2.22)n9T为最低位上的两极为最低位上的两极“异或异或”门再加上溢出门再加上溢出“异或异或”门的门的总时间,总时间,2T为每级进位链的延迟时间。为每级进位链的延迟时间。第36页,共111页,编辑于2022年,星期一 2.2.4 基本的二进制加法减法器(续(续2 2)n当不考虑溢出检测时,有当不考虑溢出
20、检测时,有 ta(n-1)2T9T(2.23)n ta意味着加法器的输入端输入加数和被加数后,在最坏情意味着加法器的输入端输入加数和被加数后,在最坏情况下加法器输出端得到稳定的求和输出所需的最长时间。显况下加法器输出端得到稳定的求和输出所需的最长时间。显然这个时间越小越好。然这个时间越小越好。n加数、被加数、进位与和数都用电平表示,因此,所谓稳加数、被加数、进位与和数都用电平表示,因此,所谓稳定的求和输出,就是指稳定的电平输出。定的求和输出,就是指稳定的电平输出。第37页,共111页,编辑于2022年,星期一十进制加法器十进制加法器例:设例:设 Xi=0110=(6)10 Yi=0111=(7
21、)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”校正,得出本位的十进制数值。校正,得出本位的十进制数值。实现:(6)10+(7)10进位十进制加法器该位的和十进制加法的校正十进制加法的校正2.2.5 十进制加法器第38页,共111页,
22、编辑于2022年,星期一2.2.5 十进制加法器n十进制加法器可由十进制加法器可由BCD码来设计,它可以在二进制加码来设计,它可以在二进制加法器的基础上加上适当的法器的基础上加上适当的“校正校正”逻辑来实现,该校逻辑来实现,该校正逻辑可将二进制的正逻辑可将二进制的“和和”改变成所要求的十进制格改变成所要求的十进制格式。式。nn 位位BCD码行波式进位加法器的一般结构如图码行波式进位加法器的一般结构如图2.3(a)所示,它由所示,它由n 级组成,每一级将一对级组成,每一级将一对4位的位的BCD数字相加,并通过一位进位线与其相邻级连接。数字相加,并通过一位进位线与其相邻级连接。第39页,共111页
23、,编辑于2022年,星期一G1G2返回返回 和大于9?和有进位校正:Ci10时:+0;Ci11时:+6;第40页,共111页,编辑于2022年,星期一 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 Ci1第41页,共111页,编辑于2022年,星期一2.2.5 十进制加法器(续续1 1)n十进制相加二数之和大于十进制相加二数之和大于9时,产生进位。用时,产生进位。用BCD码运码运算的算的和数大于和数大于9时,必须对和数进行加时,
24、必须对和数进行加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时校正因子为时校正因子为0。n在图在图2.3(b)中
25、,中,4位行波式进位的二进制加位行波式进位的二进制加法器计算出和法器计算出和 ,然后然后 经过第二级二进经过第二级二进制加法器加上制加法器加上0或或6,则产生最终结果,则产生最终结果 。第42页,共111页,编辑于2022年,星期一2.3 定点乘法运算n2.3.1 原码并行乘法n2.3.2 补码并行乘法第43页,共111页,编辑于2022年,星期一2.3.1 原码并行乘法n在定点计算机中,在定点计算机中,两个原码表示的数相乘的运算规则是:两个原码表示的数相乘的运算规则是:乘积的符号乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数位由两数的符号位按异或运算得到,而乘积的数值
26、部分则是两个正数相乘之积。相乘之积。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.人工算法与机器算法的同异性人工算法与机器算法的同异性第44页,共111页,编辑于2022年,星期一2.3.1
27、 原码并行乘法(续(续1 1)n乘积符号的运算法则是乘积符号的运算法则是:同号相乘为正,异号相乘:同号相乘为正,异号相乘为负。由于被乘数和乘数和符号组合只有四种情况为负。由于被乘数和乘数和符号组合只有四种情况(x xf f y yf f 00,01,10,11),因此积的符号可按,因此积的符号可按“异或异或”(按位加按位加)运算得到。运算得到。n数值部分的运算方法与普通的十进制小数乘法类似,数值部分的运算方法与普通的十进制小数乘法类似,不过对于用二进制表达式的数来说,其乘法规则更为不过对于用二进制表达式的数来说,其乘法规则更为简单一些。简单一些。第45页,共111页,编辑于2022年,星期一2
28、.3.1 原码并行乘法(续(续2 2)二进制乘法运算:n 从乘数从乘数的最低位开始,若这一位为的最低位开始,若这一位为“1”,则将被,则将被乘数乘数写下;若为写下;若为“0”,则写下全,则写下全0。然后在对乘数。然后在对乘数的高一位进行乘法运算,规则同上,但这一位乘数的权与的高一位进行乘法运算,规则同上,但这一位乘数的权与最低位乘数的权不同,最低位乘数的权不同,被乘数被乘数要左移一位。以此类推,要左移一位。以此类推,直到乘数个位乘完为止,最后将它们加起来,得到最后乘直到乘数个位乘完为止,最后将它们加起来,得到最后乘积积。n设设0.1101,0.1011。用习惯方法求其乘积,。用习惯方法求其乘积
29、,过程。过程。0.1101(x)0.1011(y)110111010000+11010.10001111(z)第46页,共111页,编辑于2022年,星期一2.3.1 原码并行乘法(续(续3 3)n人们习惯的算法对机器并不完全适用人们习惯的算法对机器并不完全适用原因之一,机器通常只有n位长,两个n位数相乘,乘积可能为2n位。原因之二,只有两个操作数相加的加法器难以胜任将n各位积一次 相加起来的运算。早期计算机中为了简化硬件结构,采用串行的早期计算机中为了简化硬件结构,采用串行的1位位乘法方案,即多次执行乘法方案,即多次执行“加法加法移位移位”操作来实现。操作来实现。这种方法并不需要很多器件。然
30、而串行方法太慢,自这种方法并不需要很多器件。然而串行方法太慢,自从大规模集成电路问世以来,出现了各种形式的流水从大规模集成电路问世以来,出现了各种形式的流水式阵列乘法器,它们属于并行乘法器式阵列乘法器,它们属于并行乘法器。第47页,共111页,编辑于2022年,星期一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 1b b0 0 (n n位)位)它们的数值分别为它们的数值分
31、别为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 的数值为:的数值为:第48页,共111页,编辑于2022年,星期一 am-1 am-2 a1 a0 )bn-1 b1 b0 am-1b0 am-2b0 a1b0 a0b0 am-1b1 am-2b1 a1b1 a0b1 +)am-1b
32、n-1 am-2bn-1 a1bn-1 a0bn-1 pm+n-1 pm+n-2 pm+n-3 pn-1 p1 p0乘积P乘数B被乘数A第49页,共111页,编辑于2022年,星期一第50页,共111页,编辑于2022年,星期一 上述过程给出了在上述过程给出了在m m位乘位乘n n位不带符号整数的阵列乘法中位不带符号整数的阵列乘法中,“加法加法移位移位”操作的被加数矩阵。每一个部分乘积项操作的被加数矩阵。每一个部分乘积项(位积位积)a ai ib bj j叫做一个被加数。叫做一个被加数。这这mnmn个被加数个被加数 a ai ib bj j|0|0i im m1 1和和00j jn n11可以
33、用可以用mnmn个个“与与”门并行地产生。显然门并行地产生。显然,设计设计高高速并行乘法器速并行乘法器的基本问题的基本问题,就在于就在于缩短缩短被加数矩阵中每列所被加数矩阵中每列所需的加法时间。需的加法时间。5位位5位阵列乘法器的逻辑电路图演示位阵列乘法器的逻辑电路图演示 原码乘法运算原码乘法运算若乘法器为若乘法器为n位位n位时位时,需要需要n(n1)个个“全加器全加器”和和n2个个“与与”门。门。由“与门”形成该值加法器第51页,共111页,编辑于2022年,星期一 原码乘法运算原码乘法运算3T+3T2T3T+2T(n-2).6T(3T+Tf)(n-2).Tf3TTa第52页,共111页,编
34、辑于2022年,星期一 令令T Ta a为为“与门与门”的传输延迟时间,的传输延迟时间,T Tf f为全加器为全加器(FA)(FA)的进位传输延迟时间,假定用的进位传输延迟时间,假定用2 2级级“与非与非”逻辑来实现逻辑来实现FAFA的进位链功能和的进位链功能和“与门与门”逻辑,那么就有:逻辑,那么就有:Ta Tf 2T 由上面的分析可以得出:最坏情况下的延迟途径,由上面的分析可以得出:最坏情况下的延迟途径,既是沿着矩阵既是沿着矩阵p p4 4垂直线和最下面的一行。因而得:垂直线和最下面的一行。因而得:n n位位nn位不带符号的阵列乘法器总的乘法时间为:位不带符号的阵列乘法器总的乘法时间为:t
35、mTa+(n1)6T(n1)Tf 2T(n1)6T(n1)2T (8n6)T(2.27)原码乘法运算原码乘法运算第53页,共111页,编辑于2022年,星期一例例16 已知两个不带符号的二进制整数已知两个不带符号的二进制整数 A 11011,B 10101,求每一部分乘积项,求每一部分乘积项aibj的值与的值与p9p8p0的值。的值。解解:原码乘法运算原码乘法运算第54页,共111页,编辑于2022年,星期一11011=A(2710)10101=B(2110)11011000001101100000+110111000110111=P(56710)a a4 4b b0 0=1 a=1 a3 3
36、b b0 0=1 a=1 a2 2b b0 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=
37、0 a0 0b b3 3=0=0 a a4 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=15位位5位位阵阵列列乘乘法法器器的的逻逻辑辑电电路路图图演演示示第55页,共111页,编辑于2022年,星期一2.3.1 原码并行乘法(续(续5 5)上述过程说明了在上述过程说明了在m位乘位乘n位不带符号整数的阵列乘法中,位不带符号整数的阵列乘法中,“加法加法移位移位”操作的被加数矩阵。每一个部分乘积项操作的被加数矩阵。每一个部分乘积项(位积位积)aibj叫做一个被加数。叫做一个被加数。这这mn
38、个被加数个被加数aibj|0im1和和0jn1可以用可以用mn个个“与与”门并行地产生。设计高速并行门并行地产生。设计高速并行乘法器的基本问题在于缩短被加数矩阵中每列所包乘法器的基本问题在于缩短被加数矩阵中每列所包含的含的1的加法时间。的加法时间。第56页,共111页,编辑于2022年,星期一2.3.1 原码并行乘法(续(续8 8)3.带符号的阵列乘法器带符号的阵列乘法器一个负数的常规求补过程:一个负数的常规求补过程:例:例:X=-1110 X=-1110,则:则:XX补补=1 00=1 001010;Y=-0100 Y=-0100,则:则:YY补补=1 1=1 1100100算法特点算法特点
39、:从数据的最右边开始向左边逐位看数,找从数据的最右边开始向左边逐位看数,找到第一个到第一个“1 1”为止。该为止。该“1 1”的左边各位全部取反的左边各位全部取反(不包括符号位);该(不包括符号位);该“1 1”的右边各位(包括该的右边各位(包括该“1 1”)保持不变。)保持不变。第57页,共111页,编辑于2022年,星期一第58页,共111页,编辑于2022年,星期一带符号的阵列乘法器带符号的阵列乘法器演示对演示对2求补电路的工作求补电路的工作过程过程32T3T+2T最长的信号 延迟通路所需的总时间延迟为:所需的总时间延迟为:tTC3 2T5T第59页,共111页,编辑于2022年,星期一
40、第60页,共111页,编辑于2022年,星期一2.3.1 原码并行乘法(续(续1010)用这种对用这种对2求补器来转换一个求补器来转换一个(n1)为带符号的数,为带符号的数,所需的总时间延迟为:所需的总时间延迟为:t TCn2T5T(2n5)T(2.28)其中每个扫描级需其中每个扫描级需2T延迟,而延迟,而5T则是由于则是由于“与与”门门和和“异或异或”门引起的。门引起的。一个具有使能控制的二进制对一个具有使能控制的二进制对2求补器的逻辑表达式:求补器的逻辑表达式:C10,CiaiCi1 ai*aiECi1,0in第61页,共111页,编辑于2022年,星期一2.3.1 原码并行乘法(续(续1
41、111)带符号的阵列乘法器带符号的阵列乘法器 n 把包括这些求补级的乘法器又称为把包括这些求补级的乘法器又称为符号求补的阵列乘法符号求补的阵列乘法器器。n在这种逻辑结构中,共使用在这种逻辑结构中,共使用三个求补器三个求补器。n其中其中两个算前求补器的作用是:两个算前求补器的作用是:将两个操作数将两个操作数A和和B在在被不带符号的乘法阵列被不带符号的乘法阵列(核心部件核心部件)相乘以前,先变成正相乘以前,先变成正整数。整数。n算后求补器的作用是算后求补器的作用是:当两个输入操作数的符号不一:当两个输入操作数的符号不一致时,把运算结果变成带符号的数。致时,把运算结果变成带符号的数。第62页,共11
42、1页,编辑于2022年,星期一(2)带符号的阵列乘法器带符号的阵列乘法器 方法:方法:两个补码相乘,符号位单独处理,绝两个补码相乘,符号位单独处理,绝对值使用不带符号的阵列乘法器求乘积的绝对对值使用不带符号的阵列乘法器求乘积的绝对值,然后根据乘积的符号位对乘积的绝对值求值,然后根据乘积的符号位对乘积的绝对值求补,得出乘积的补码。补,得出乘积的补码。(n1)(n1)位带求补器的阵列乘法位带求补器的阵列乘法器逻辑器逻辑方框图方框图。补码补码绝对值绝对值绝对值绝对值补码补码用符号位用符号位做控制求做控制求补信号补信号E第63页,共111页,编辑于2022年,星期一2.3.1 原码并行乘法(续(续12
43、12)n设设A=anan-1a1a0和和B bnbn-1b1b0均为用定点表示的均为用定点表示的(n1)位位带符号整数。在必要的求补操作以后带符号整数。在必要的求补操作以后,A和和B的码值输送给的码值输送给nn位不位不带符号的阵列乘法器带符号的阵列乘法器,并由此产生并由此产生2n位真值乘积位真值乘积:ABP p2n-1 p1 p0 p2nanbn 其中其中p2n 为符号位。为符号位。所示的带求补级的阵列乘法器既适用于原码乘法,也所示的带求补级的阵列乘法器既适用于原码乘法,也适用于间接的补码乘法。适用于间接的补码乘法。在原码乘法中,算前求补和算后求补都不需要,因在原码乘法中,算前求补和算后求补都
44、不需要,因为输入数据都是立即可用的。为输入数据都是立即可用的。间接的补码阵列乘法所需要增加的硬件较多。间接的补码阵列乘法所需要增加的硬件较多。为了完成所必需的求补与乘法操作,时间大约比为了完成所必需的求补与乘法操作,时间大约比原码阵列乘法增加原码阵列乘法增加1倍。倍。第64页,共111页,编辑于2022年,星期一2.3.1 原码并行乘法(续(续1313)例例17:17:设设15,13,用带求补器的原码,用带求补器的原码阵列乘法器求出乘积阵列乘法器求出乘积?解:解:x=+15=(+1111)2,y=-13=(-1101)2,最高位为符号位,其决定是否启动求补器。最高位为符号位,其决定是否启动求补
45、器。第65页,共111页,编辑于2022年,星期一解解:输入数据为原码,则算前、算后求补都不需要,直接输入数据为原码,则算前、算后求补都不需要,直接计算结果。计算结果。原原 01111 原原 11101 符号位单独考虑,算前无需求补级,直接取数值位:符号位单独考虑,算前无需求补级,直接取数值位:|1111,|1101 经由经由无符号阵列乘法器:无符号阵列乘法器:(算式演示算式演示)算后也无需求补,直接输出并加上乘积符号位算后也无需求补,直接输出并加上乘积符号位1,则有:则有:x y原原=111000011。换算成二进制数真值是换算成二进制数真值是:(11000011)2=(-195)10 十进
46、制数验证:十进制数验证:y=15(13)=-195 相等。相等。1111(x=1510)1101(y=1310)111100001111+111111000011(z=19510)第66页,共111页,编辑于2022年,星期一例例18:18:设设+15,-13,用带求补器的补码阵,用带求补器的补码阵列乘法器求出乘积列乘法器求出乘积?解:解:x=+15=(+1111)2,y=-13=(-1101)2,最高位为符号位,其决定是否启动求补器。最高位为符号位,其决定是否启动求补器。第67页,共111页,编辑于2022年,星期一输入数据为补码,则算前、算后求补都可能需要,输入数据为补码,则算前、算后求补
47、都可能需要,由符号位决定是否启动求补器。由符号位决定是否启动求补器。x补补=01111;(符号位为符号位为0,算前无需求补,算前无需求补)y补补=10011;(符号位为符号位为1,算前需求补,使,算前需求补,使y的数值的数值变为正数变为正数)几点注释几点注释对对y补补=10011的数值部分的数值部分(0011)再求补一次,得:再求补一次,得:|y|=1101无符号阵列乘法器输出的结果仍然为:无符号阵列乘法器输出的结果仍然为:11000011。x和和y的符号不一致,的符号不一致,结果的符号位为结果的符号位为“1”,需启动,需启动算后求补器,对结果求补,最后得出:算后求补器,对结果求补,最后得出:
48、xy补补=100111101(真值真值=-195)第68页,共111页,编辑于2022年,星期一 可见,求补的目的是:可见,求补的目的是:数据送入无符号阵列乘法器之前,将参与运算的补码数数据送入无符号阵列乘法器之前,将参与运算的补码数据先转换为数据的绝对值(据先转换为数据的绝对值(由算前求补器完成由算前求补器完成);乘积的符号位单独形成(通过异或门);乘积的符号位单独形成(通过异或门);完成乘法运算后,根据乘积的符号位将两数绝对值的完成乘法运算后,根据乘积的符号位将两数绝对值的乘积再转换回补码的形式,得出乘积的补码(乘积再转换回补码的形式,得出乘积的补码(由算后由算后求补器完成求补器完成)。)
49、。由此可知:由此可知:这种这种带求补器的阵列乘法器所完成的补码带求补器的阵列乘法器所完成的补码乘法,实质上属于乘法,实质上属于间接的补码乘法间接的补码乘法。第69页,共111页,编辑于2022年,星期一2.3.2 补码并行乘法间接补码乘法不属于真正的补码乘法,运算效率受到影响。间接补码乘法不属于真正的补码乘法,运算效率受到影响。n如果补码的符号位也直接参与到乘法运算中如果补码的符号位也直接参与到乘法运算中,则可以完则可以完成补码的成补码的“直接直接”乘法。乘法。这种方法排除了较慢的对这种方法排除了较慢的对2求补操作,求补操作,大大加速了乘法过程。大大加速了乘法过程。n与直接的补码乘法相联系数学
50、特征。与直接的补码乘法相联系数学特征。对于计算补码数的对于计算补码数的数值来说,较好的表示方法是使补码的位置数有一个带数值来说,较好的表示方法是使补码的位置数有一个带负权的符号和带正权的系数。负权的符号和带正权的系数。1.补码与真值的转换公式补码与真值的转换公式 第70页,共111页,编辑于2022年,星期一2.3.2 补码并行乘法(续续1 1)例:例:定点整数的补码定点整数的补码N补补=an-1an-2a1a0=an-1是符号位。根据是符号位。根据N补补的符号,的符号,补码数补码数N补补和和真值真值N 的的关系可以表示成:关系可以表示成:ai2iN=当当an10时时(N为正数为正数)1(1a