1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,本资料仅供参考,不能作为科学依据。谢谢。本资料仅供参考,不能作为科学依据。感谢,第二章 运算器和运算方法,本章需处理关键问题:,怎样以加法器为基础,实现各种,运算处理。,处理思绪:,复杂运算,四则运算,加法运算,处理方法:,在加法器基础上,,增加移位传送,功效,并选择输入控制条件。,1/96,加法单元 i,Ai Bi Ci-,1,Ci,i,(本位操作数),(低位进位),(本位进位),(本位和),第一节 算术逻辑运算部件,2.1.1 加法单元,1.加法单元输入和输出,一个输入为1时,,i为,1,,,Ci为0
2、;,两个输入为1时,,i为,0,,,Ci为1;,三个输入为1时,,i为,1,,,Ci为1。,2/96,2.全加器,(1)逻辑一,i,=(Ai+Bi)+Ci-,1,Ci =AiBi+(Ai+Bi)Ci-,1,Ci,i,Ai Bi Ci-1,3/96,(2)逻辑二,i,=(Ai+Bi)+Ci-,1,Ci =Ai+Bi+(Ai+Bi)Ci-,1,Ci,i,Ai Bi Ci-1,Ai Bi,4/96,2.1.2 并行加法器与进位链逻辑,1.并行加法器,(1)特点:各位同时相加。,例.8位数相加。,8,7,2,1,A,8,B,8,A,7,B,7,A,2,B,2,A,1,B,1,C,0,(2)影响速度主要
3、原因,存在着进位信号传递。,1 1 1 1,0 0 0 0,1,1,1,1,1,1,0,0,0,0,5/96,2.并行加法器进位链,(1)进位链基本逻辑关系,所以,Ci =Gi+Pi Ci-,1,进位产生函数,进位传递函数(进位条件),当地进位、绝对进位,条件进位、传递进位,Ci =AiBi+(Ai+Bi)Ci-,1,=AiBi+(Ai+Bi)Ci-,1,或,Ci =AiBi+(Ai+Bi)Ci-,1,令,Gi =AiBi,Pi =Ai+Bi=Ai+Bi=Ai+Bi,6/96,(2)串行进位,特点:进位信号逐位形成。,设n位加法器,1)逻辑式,C,1,=G,1,+P,1,C,0,C,2,=G,
4、2,+P,2,C,1,C,n,=G,n,+P,n,C,n,-,1,2)结构举例,C2 G2 P2 C1 G1 P1 C0,Gi Pi,Ai Bi Ai Bi,7/96,(3)并行进位,特点:各位进位信号同时形成。,设n位加法器,1)逻辑式,C,1,=G,1,+P,1,C,0,C,2,=G,2,+P,2,C,1,=G,2,+P,2,G,1,+P,2,P,1,C,0,C,n,=G,n,+P,n,C,n,-,1,=G,n,+P,n,G,n,-,1,+,+P,n,P,n,-,1,P,2,P,1,C,0,n+1 项,8/96,2)结构举例,G2 P2 G1 P1,C0,C2 C1,Ai Bi,Gi,Pi
5、,Ai Bi,9/96,(4)组内并行、组间并行,设16位加法器,4位一组,分为4组:,4位,4位,4位,4位,第4组 第3组 第2组 第1组,C16 C13 C12 C9 C8 C5 C4 C1,C0,C16 C12 C8 C4,分级同时进位,10/96,1)第1组进位逻辑式,组内:,C,1,=G,1,+P,1,C,0,C,2,=G,2,+P,2,G,1,+P,2,P,1,C,0,C,3,=G,3,+P,3,G,2,+P,3,P,2,G,1,+P,3,P,2,P,1,C,0,组间:,C,4,=G,4,+P,4,G,3,+P,4,P,3,G,2,+P,4,P,3,P,2,G,1,+P,4,P,
6、3,P,2,P,1,C,0,G,I,P,I,所以 C,I,=G,I,+P,I,C,0,11/96,2)第2组进位逻辑式,组内:,C,5,=G,5,+P,5,C,I,C,6,=G,6,+P,6,G,5,+P,6,P,5,C,I,C,7,=G,7,+P,7,G,6,+P,7,P,6,G,5,+P,7,P,6,P,5,C,I,组间:,C,8,=G,8,+P,8,G,7,+P,8,P,7,G,6,+P,8,P,7,P,6,G,5,+P,8,P,7,P,6,P,5,C,I,G,P,所以 C,=G,+P,C,I,12/96,3)第3组进位逻辑式,组内:,C,9,=G,9,+P,9,C,C,10,=G,10
7、,+P,10,G,9,+P,10,P,9,C,C,11,=G,11,+P,11,G,10,+P,11,P,10,G,9,+P,11,P,10,P,9,C,组间:,C,12,=G,12,+P,12,G,11,+P,12,P,11,G,10,+P,12,P,11,P,10,G,9,+P,12,P,11,P,10,P,9,C,G,P,所以 C,=G,+P,C,13/96,4)第4组进位逻辑式,组内:,C,13,=G,13,+P,13,C,C,14,=G,14,+P,14,G,13,+P,14,P,13,C,C,15,=G,15,+P,15,G,14,+P,15,P,14,G,13,+P,15,P,1
8、4,P,13,C,组间:,C,16,=G,16,+P,16,G,15,+P,16,P,15,G,14,+P,16,P,15,P,14,G,13,+P,16,P,15,P,14,P,13,C,G,P,所以,C,=G,+P,C,14/96,5)各组间进位逻辑,C,I,=G,I,+P,I,C,0,C,=G,+P,C,I,C,=G,+P,C,C,=G,+P,C,=G,+P,G,I,+P,P,I,C,0,=G,+P,G,+P,P,G,I,+P,P,P,I,C,0,=G,+P,G,+P,P,G,+,P,P,P,G,I,+P,P,P,P,I,C,0,15/96,6)结构示意,4 1,8 5,12 9,16
9、13,组间进位链,A,8,.A,5,B,8,.B,5,A,4,.A,1,B,4,.B,1,A,12,.A,9,B,12,.B,9,A,16,.A,13,B,16,.B,13,Co,C,G,P,G,P,G,P,G,I,P,I,C,3,1,C,15,13,C,11,9,C,7,5,C,C,C,I,7)进位传递过程,A,i,、B,i,、C,0,A,8,.A,5,B,8,.B,5,A,4,.A,1,B,4,.B,1,A,12,.A,9,B,12,.B,9,A,16,.A,13,B,16,.B,13,Co,G,、,P,.,G,I,、P,I、,G,P,G,P,G,P,G,I,P,I,C,3,1,C,C,C
10、,C,I,C,、,C,、,C,、,C,I,C,15,13,C,11,9,C,7,5,C,15 13、,C,11 9、,C,7 5,C,3 1,16/96,学习要求:,能写出任一进位串、并、分组逻辑式。,例.已知操作数A,i,、B,i,,初始进位C,0,。试,写出C,6,逻辑式。,串行进位:C,6,=,并行进位:C,6,=,分级同时进位:C,6,=,G,6,+P,6,C,5,G,6,+P,6,G,5,+P,6,P,5,G,4,+.,+P,6,P,5,P,1,C,0,G,6,+P,6,G,5,+P,6,P,5,C,I,C,I,=G,I,+P,I,C,0,G,6,+P,6,C,5,G,6,+P,6,
11、G,5,+P,6,P,5,G,4,+.,G,6,+P,6,G,5,+P,6,P,5,G,4,+.,G,6,+P,6,G,5,+P,6,P,5,C,I,G,I,=G,4,+P,4,G,3,+P,4,P,3,G,2,+P,4,P,3,P,2,G,1,P,I,=P,4,P,3,P,2,P,1,G,i,=A,i,B,i,P,i,=A,i,B,i,17/96,2.1.3 ALU部件,加法器,选择器,选择器,控制信号,控制信号,操作数,操作数,输入组合,输入组合,ALU,选择器,选择器,操作数,操作数,18/96,以SN74181芯片(4位片ALU)为例。,1.组成,(1)一位逻辑,1位加法器(求和、进位
12、),1位选择器(1对),1个公共控制门(4位共用),19/96,Ci,S3 S2 Bi S1 S0 Ai,Fi,M Ci-1,xi,Yi,20/96,Ci,S3 S2 Bi S1 S0 Ai,Fi,M Ci-1,Xi,Yi,输入端:,操作数A,i、,B,i,低位进位C,i,-,1,1,0,控制信号,M,控制产生Gi、Pi,控制形成各种输入组合,作逻辑运算,作算术运算,控制信号,S3S2S1S0,Fi,1,0,1,1,输入端:,操作数A,i、,B,i,低位进位C,i,-,1,Ci,0,1,21/96,Fi,Ci,S3 S2 Bi S1 S0 Ai,M Ci-1,Xi,Yi,S3S2 输出Xi S
13、1S0 输出Yi,00,01,10,11,1,Ai+Bi,00,01,10,11,Ai,AiBi,AiBi,Ai+Bi,Ai,Ai+Bi,AiBi,0,Pi,Gi,0,0,1,0,0,Ai,22/96,(2)多位逻辑,见教材P49:4位全加器,4位并行进位链,4位选择器,1个控制门,原始进位 Cn,进位输出,Cn+4,G、P,组成组间串行进位,组成组间并行进位,23/96,Ci,S3 S2 Bi S1 S0 Ai,Fi,M Ci-1,Xi,Yi,2.运算功效,16种算术运算功效,16种逻辑运算功效,列于表2-5(P50)。,例1.S3S2S1S0 Xi Yi F(M=1)F(M=0),0 0
14、0 0 1 Ai,24/96,Ci,S3 S2 Bi S1 S0 Ai,Fi,M Ci-1,xi,Yi,0,0,0,0,1,Ai,1,0,1,1,0,1,0,1,Ci-1,25/96,Ci,S3 S2 Bi S1 S0 Ai,Fi,M Ci-1,Xi,Yi,例1.S3S2S1S0 Xi Yi F(M=1)F(M=0),0 0 0 0 1 Ai,M=1:Fi=(Xi Yi)1=1 Ai 1=Ai 1=Ai,所以 F=A,M=0:Fi=(1 Ai)Ci-,1,=(1 Ai)Ci-,1,所以 F=A,加全1=A减1,A减1,A,26/96,Ci,S3 S2 Bi S1 S0 Ai,Fi,M Ci-1
15、,Xi,Yi,例2.S3S2S1S0 Xi Yi F(M=1)F(M=0),1 0 0 1 Ai+Bi AiBi,27/96,Ci,S3 S2 Bi S1 S0 Ai,Fi,M Ci-1,xi,Yi,1,0,0,1,Ai+Bi,AiBi,1,0,1,1,0,1,0,1,Ci-1,28/96,Ci,S3 S2 Bi S1 S0 Ai,Fi,M Ci-1,Xi,Yi,例2.S3S2S1S0 Xi Yi F(M=1)F(M=0),1 0 0 1 Ai+Bi AiBi,M=1:Fi=(Ai+Bi)AiBi 1=Ai Bi 1=Ai Bi,所以 F=A B,A B,所以 F=A,加B,M=0:Fi=(A
16、i+Bi)AiBi Ci-,1,=Ai Bi Ci-,1,=Ai Bi Ci-,1,A,加B,29/96,3.进位逻辑,(1)组间串行,16 8,C,12,16 8,C,8,16 8,C,4,16 8,C,0,C,16,Cn+4 Cn,(2)组间并行,17 15,8,74181,C,III,17 15,8,74181,C,II,17 15,8,74181,C,I,17 15,8,74181,C,0,74182并行进位链,G,I,P,I,P G,30/96,第二节 运算器组织,独立结构,小型存放,器结构,单口,双口,存放器组,独立R、双口RAM用,多路选择器,作为ALU输入逻辑,,单口RAM用,
17、锁存器,作为ALU输入逻辑。,31/96,2.2.1 带多路选择器运算器,移位器,ALU,多路选择器,多路选择器,R,0,Rn,R,0,.Rn R,0,.Rn,内部总线(单向),特点:,R各自独立;,可同时向ALU提供两个操作数;,采取单向内总线。,32/96,2.2.2 带输入锁存器运算器,特点:,单口RAM不能同时向ALU提供两个操作数;,用锁存器暂存操作数;,采取双向内总线。,移位器,ALU,锁存器,锁存器,内部总线(双向),R,0,Rn,通用存放器组(小型存放器),33/96,2.2.3 位片式运算器,特点:,用双口RAM(两地址端、两数据端)作通用存放器组,可同时提供数据;,用多路选
18、择器作输入逻辑,不需暂存操作数;,ALU增加乘、除功效,用乘商存放器存放乘数、乘积或商。,例.4位片运算器粗框,移位器,ALU,多路选择器,多路选择器,D,O,RAM,D,i,B 地址,A 地址,Cn,D,B,D,A,G、P,控制信息,Cn+4,乘商存放器,4,4,4,4,4,4,4,4,4,4,4,4,34/96,第三节 定点加减运算,2.3.1 补码加减法,数用补码表示,符号位参加运算。,实际操作能否只取决于操作码,?,结果需不需修正?,怎样将减法转换为加法?,35/96,1.基本关系式,(X+Y),补,=X,补,+Y,补,(1),(X-Y),补,=X,补,+(-Y),补,(2),式(1)
19、:,操作码为“,加,”时,两数直接相加。,3)X=3,Y=2,X,补,=0 0011,Y,补,=1 1110,0 0001,(+1补码),2)X=3,Y=2,X,补,=1 1101,Y,补,=1 1110,1 1011,(,5补码),1)X=3,Y=2,X,补,=0 0011,Y,补,=0 0010,0 0101,(+5补码),4)X=3,Y=2,X,补,=1 1101,Y,补,=0 0010,1 1111,(,1补码),例.求(X+Y),补,36/96,(X+Y),补,=X,补,+Y,补,(1),(X-Y),补,=X,补,+(-Y),补,(2),式(2):,操作码为“,减,”时,将减转换为加
20、。,1)X=4,Y=5,X,补,=0 0100,Y,补,=1 1011,(-Y),补,=0 0101,0 1001,(+9补码),2)X=4,Y=5,X,补,=1 1100,Y,补,=0 0101,(-Y),补,=1 1011,1 0111,(,9补码),例.求(X,Y),补,Y,补,(Y),补,:,将Y,补,变补,不论Y,补,为正或负,将其符号连同尾数一起各位变反,末位加1。,即将减数变补后与被减数相加。,X,补,=0 0100,Y,补,=1 1011,X,补,=1 1100,Y,补,=0 0101,37/96,注意:某数,补码表示,与某数,变补,区分。,例.1 0101,原,1 1011,
21、补码表示,1 0011,补,0 1101,变补,例.,1,0101,原,1,1011,0 0101,原,0 0101,补码表示,符号位不变;,0,0101,原,0,0101,1 0101,原,1,1011,0 0101,原,0 0101,负数尾数改变,正数尾数不变。,0 0011,补,1 1101,1,0011,补,0,1101,0,0011,补,1,1101,1 0011,补,0 1101,0 0011,补,1 1101,变补,符号位改变,,尾数改变。,补码机器负数,38/96,2.算法流程,操作数用补码表示,符号位参加运算,结果为补码表示,符号位指示结果正负,X,补,+Y,补,X,补,+(
22、-Y),补,ADD,SUB,39/96,3.逻辑实现,A(X,补,),B(Y,补,),+A,A,B,B,+B,+B,+1,CP,A,A,(1)控制信号,加法器输入端:,+A,:打开控制门,将A送 。,+B,:打开控制门,将B送 。,+1,:控制末位加 1。,+B,:打开控制门,将B送 。,加法器输出端:,A,:,打开控制门,将结,果送A输入端。,CP,A,:将结果打入A。,(2)补码加减运算器粗框,40/96,2.3.2 溢出判断,在什么情况下可能产生溢出?,例.数A有4位尾数,1位符号,S,A,数B有4位尾数,1位符号,S,B,符号位参加运算,结果符号,S,f,符号位进位,C,f,尾数最高位
23、进位,C,41/96,正确,0 0011,0 0010,(1)A=3 B=2,3+2:,0 0101,(2)A=10 B=7,10+7:,0 1010,0 0111,1 0001,正溢,正确,负溢,正确,正确,(3)A=-3 B=-2,-3+(-2):,1 1011,1 1101,1 1110,(4)A=-10 B=-7,-10+(-7):,0 1111,1 0110,1 1001,(5)A=6 B=-4,6+(-4):,0 0010,0 0110,1 1100,(6)A=-6 B=4,-6+4:,1 1110,1 1010,0 0100,42/96,(2)A=10 B=7,10+7:,0,1
24、010,0,0111,1,0001,(4)A=-10 B=-7,-10+(-7):,0,1111,1,0110,1,1001,1.硬件判断逻辑一(S,A,、S,B,与S,f,关系),溢出=,S,A,S,B,S,f,S,A,S,f,S,B,2.硬件判断逻辑二(C,f,与C,关系),43/96,正确,0 0011,0 0010,(1)A=3 B=2,3+2:,0 0101,(2)A=10 B=7,10+7:,0 1010,0 0111,1 0001,正溢,正确,负溢,正确,正确,(3)A=-3 B=-2,-3+(-2):,1 1011,1 1101,1 1110,(4)A=-10 B=-7,-10
25、+(-7):,0 1111,1 0110,1 1001,(5)A=6 B=-4,6+(-4):,0 0010,0 0110,1 1100,(6)A=-6 B=4,-6+4:,1 1110,1 1010,0 0100,Cf=0,C=0,Cf=0,C=1,Cf=1,C=1,Cf=1,C=0,Cf=1,C=1,Cf=0,C=0,1,1,1,1,1,1,44/96,(2)A=10 B=7,10+7:,0,1010,0,0111,1,0001,(4)A=-10 B=-7,-10+(-7):,0,1111,1,0110,1,1001,1.硬件判断逻辑一(S,A,、S,B,与S,f,关系),溢出=,S,A,
26、S,B,S,f,S,A,S,f,S,B,2.硬件判断逻辑二(C,f,与C,关系),溢出=C,f,C,3.硬件判断逻辑三(双符号位,),45/96,(1)3+2:,正确,00,0011,00,0010,00,0101,(2)10+7:,00,1010,00,0111,01,0001,正溢,正确,负溢,正确,正确,(3)-3+(-2):,11,0111,11,1101,11,1110,(4)-10+(-7):,10,1111,11,0110,11,1001,(5)6+(-4):,00,0010,00,0110,11,1100,(6)-6+4:,11,1110,11,1010,00,0100,第一符
27、号位,S,f1,第二符号位,S,f2,46/96,(2)A=10 B=7,10+7:,0,1010,0,0111,1,0001,(4)A=-10 B=-7,-10+(-7):,0,1111,1,0110,1,1001,1.硬件判断逻辑一(S,A,、S,B,与S,f,关系),溢出=,S,A,S,B,S,f,S,A,S,f,S,B,2.硬件判断逻辑二(C,f,与C,关系),溢出=S,f1,S,f2,3.硬件判断逻辑三(双符号位,),溢出=C,f,C,47/96,2.3.3 移位操作,逻辑移位,:数码位置改变,数值,不变,。,1.移位类型,算术移位,1 0 0 0,1 1 1 1,循环左移:,0,:
28、数码位置改变,数值,改变,符号位不变。,1,0 0 1 1 1 1,算术左移:,1,0,0,1,1,1,1,1,0,1,1,1,1,0,(-15),(-30),48/96,移位存放器:,2.移位逻辑,在存放器中移位(串行接口中)。,D4 D3 D2 D1,D4 D3 D2 右移,左移 D3 D2 D1,移位门:,斜位传送(运算器中)。,左斜,右斜,4,3,1,2,门4 门3 门2 门1,移位存放器,移位门,加法器,49/96,(1)单符号位:,0,0111,0,111,0,(2)双符号位:,00,111,0,00,0111,3.正数补码移位规则,(3)移位规则,左移,右移,右移,0,0,111
29、,0,0,011,左移,左移,右移,右移,01,110,0,00,1,110,00,0,111,数符不变,(单:符号位不变;双:第一符号位不变)。,空位补0,(右移时第二符号位移至尾数最高位)。,50/96,(1)单符号位:,1,1011,1,011,0,(2)双符号位:,10,110,0,11,0110,4.负数补码移位规则,(3)移位规则,左移,右移,右移,1,1,011,1,1,101,左移,右移,右移,11,0,110,11,1,011,数符不变,(单:符号位不变;双:第一符号位不变)。,左移空位补0,(第二符号位移至尾数最高位)。,右移空位补1,51/96,易犯错处:,00 1110
30、,左,右,01 1100,正确:,11 0110,10 1100,00 1100,0,1,1100,00 0110,正确:,00,1,110,11 1100,左,正确:,1,0,1100,11 1110,右,11,0,110,正确:,52/96,2.3.4 舍入方法,1.0舍1入(原码、补码),0 0010,0,原,1 0010,1,原,1 1101,1,补,2.末位恒置1(原码、补码),0 0010,0,原,1 1101,1,补,1 0010,1,原,0 0010,原,1 0011,原,1 1110,补,0 001,1,原,1 001,1,原,1 110,1,补,1,001,1,原,1,11
31、0,1,补,例.保留4位尾数:,例.保留4位尾数:,53/96,第四节 定点乘法运算,2.4.1 原码一位乘法,每次用一位乘数去乘被乘数。,1.算法分析,乘法 部分积累加、移位。,例.0.1101,1.1011,乘积 P=X Y,积符 S,P,=S,X,S,Y,X,原,Y,原,54/96,(1)手算 0.1101,0.1011,1101,1101,0000,1101,0.10001111,上符号:1.10001111,部分积,问题:1)加数增多(由乘数位数决定)。,2)加数位数增多(与被乘数、乘,数位数相关)。,改进:将一次相加改为分步累加。,55/96,(2)分步乘法,每次将一位乘数所对应部
32、分积与原部,分积累加和相加,并移位。,设置存放器:,A:存放,部分积累加和,、,乘积高位,B:存放,被乘数,C:存放,乘数,、,乘积低位,设置初值:,A=00.0000,B=X=00.1101,C=Y=.1011,56/96,步数 条件 操作 A C,00.0000 .101,1,1),C,n,=1,+B,C,n,+00.1101,00.,1101,0.1101,0.101,1,1101,1101,0000,1101,0.10001111,B,C,1101,00.,0110,1,.10,1,0.1101,0.10,1,1,2),C,n,=1,+B,+00.1101,0,1,.,0011,00.
33、,1001,11,.1,0,0.1101,0.1,0,11,0.1101,0.1011,1101,1101,0000,1101,0.10001111,B,C,3),C,n,=0,+0,+00.0000,00.,1001,00.,0100,111,.,1,4),C,n,=1,+B,+00.1101,0,1,.,0001,00.,1000,1111,X,原,Y,原,=1.10001111,57/96,2,.算法流程,0 A、X B、Y C、0 CR,C,n,=1?,CR=n?,1/2(A+B)A,C,1/2(A+0)A,C,CR+1 CR,Y,Y,N,N,Sx+Sy S,A,58/96,3.运算规
34、则,(1)操作数、结果用原码表示;,(2)绝对值运算,符号单独处理;,(3)被乘数(B)、累加和(A),取双符号位;,(4)乘数末位(C,n,),为判断位,其状态决定,下步操作;,(5)作n次循环(累加、右移)。,4.逻辑实现,59/96,加法器输入端控制信号:,+A,、,+B,加法器输出端控制信号:1/2,A,、,C,、,CP,A,、,CP,C,A4 A3 A2 A1,门4 门3 门2 门1,C4 C3 C2 C1,门4 门3 门2 门1,4 3 2 1,1/2 A,CP,A,CP,C,C,C,4 C3 C2,+A,+B,A1 B1,60/96,2.4.2 补码一位乘法,1.算法分析,X,补
35、,=X,0,.X,1,X,2,X,n,(1)Y为正:Y,补,=0.Y,1,Y,2,Y,n,(XY),补,=X,补,(0.Y,1,Y,2,Y,n,),(2)Y为负:Y,补,=1.Y,1,Y,2,Y,n,(XY),补,=X,补,(0.Y,1,Y,2,Y,n,)+(-X),补,(3)Y符号任意:,(XY),补,=X,补,(0.Y,1,Y,2,Y,n,)+(-X),补,Y,0,符号位,61/96,(4)展开为部分积累加和形式:,(XY),补,=X,补,(0.Y,1,Y,2,Y,n,)+(-X),补,Y,0,=X,补,(0.Y,1,Y,2,Y,n,)-X,补,Y,0,=X,补,(-Y,0,+,2 Y,1
36、,+,2 Y,2,+,2 Y,n,),-1,-2,-n,=X,补,-Y,0,+(,Y,1,-2 Y,1,)+(,2 Y,2,-2 Y,2,)+,-1,-1,-2,-(n-1)-n,+(,2 Y,n,-2 Y,n,),=X,补,(Y,1,-Y,0,)+2(Y,2,-Y,1,)+2(Y,3,-Y,2,)+,-1 -2,+2(0 -Y,n,),-n,+2(,0,-Y,n,),-n,Y,n+1,=,X,补,(,Y,1,-Y,0,)+2(,Y,2,-Y,1,)+2(,Y,3,-Y,2,)+,-1 -2,+2(,0,-Y,n,),-n,Y,n+1,比较法:用相邻两位乘数比较结果决定,+X,补,、,-X,补
37、,或+0。,62/96,2.,比较法,算法,Y,n,(高位),Y,n+1,(,低位),操作(A,补,为部分积累加和,),0 0,0 1,1 0,1 1,1/2A,补,1/2(A,补,+X,补,),1/2(A,补,-X,补,),1/2A,补,(0),(1),(-1),(0),3.运算实例,X=-0.1101,Y=-0.1011,求(XY),补,。,初值:A=00.0000,B=X,补,=11.0011,-B=(-X),补,=00.1101,C=Y,补,=1.0101,63/96,步数 条件 操作 A C,00.0000 1.010,1,1),1 0,-B,C,n,+00.1101,00.,110
38、1,00.,0110,1,1.01,01,2),0 1,+B,+11.0011,11.,1001,11.,1100,11,1.0,10,3),1 0,-B,+00.1101,00.,1001,00.,0100,111,1.,01,4),0 1,+B,+11.0011,11.,0111,11.,1011,1111,1.0,0,C,n+1,C,n,C,n+1,5),1 0,-B,+00.1101,64/96,(XY),补,=0.10001111,4),0 1,+B,+11.0011,11.,0111,11.,1011,1111,1.0,5),1 0,-B,+00.1101,00.,1000,111
39、1,修正,(1)A、B取双符号位,符号参加运算;,(2)C取单符号位,符号参加移位,以决定最终是否,修正;,(3)C末位设置附加位C,n+,1,,初值为0,C,n,C,n+,1,组成判,断位,决定运算操作,;,(4)作n步循环,若需作第n+1步,则不移位,仅修正。,4.运算规则,1.0:-B,修正,0.1:+B修正,0.0:不修正,1.1:不修正,65/96,5.逻辑实现,加法器输入端控制信号:+A、+B、+B、+1,加法器输出端控制信号:1/2 A、C、,A、CP,A,、CP,C,66/96,2.4.3,原码两位乘法,每次用两位乘数去乘被乘数。,1.算法分析,Y,i,(高位),Y,i+1,(
40、,低位),部分积 累加、移位,0 0,0 1,1 0,1 1,1/4A,1/4(A+X),1/4(A+2X),1/4(A+3X),(0),(1),(2),(3),0,X,2X,3X,怎样实现+3X操作?,67/96,1/4(A+3X)=,0 0 0,0 0 1,0 1 0,0 1 1,操 作,1/4(A+2X+X)=1/4(A+2X)+1/4X,1/4(A-X+4X)=1/4(A-X)+X,1/4(A+2X+X)=1/4(A+2X)+1/4X,1/4(A-X+4X)=1/4(A-X)+X,1/4(A-X+4X)=1/4(A-X)+X,设置,欠帐触发器,C,J,=,0 不欠帐,1 欠帐,下次补作
41、+X操作,2.算法,Y,i,Y,i+1,C,J,1/4(A+X)0 C,J,1/4(A+X)0 C,J,1/4(A+2X)0 C,J,1/4A 0 C,J,68/96,1 0 0,1 0 1,1 1 0,1 1 1,Y,i,Y,i+1,C,J,操 作,1/4(A-X)1 C,J,1/4(A-X)1 C,J,1/4A 1 C,J,1/4(A+2X)0 C,J,3.运算实例,例1.X,原,=1.111111,Y,原,=0.111001,求(XY),原,。,初值:A=000.000000,B=X=000.111111,2B=001.111110,-B=111.000001,C=Y=00.111001
42、,C,J,=0,69/96,步数 条件 操作 A C,000.000000 00.1110,01,1),0 1 0,+B,C,J,+000.111111,000.,111111,000.,001111,11,00.11,10,2),1 0 0,+2B,+001.111110,010.,001101,000.,100011,0111,00.,11,3),1 1 0,-B,+111.000001,111.,100100,111.,111001,000111,00.,4),0 0 1,+B,+000.111111,000.,111000,000111,C,n,-,1,C,n,C,n,-,1,C,n,
43、C,J,0,0,2,2,2,0,1,还帐,(XY),原,=1.111000000111,70/96,例2.X,原,=0.00111,Y,原,=1.01001,求(XY),原,。,初值:A=000.00000,B=X=000.00111,2B=000.01110,-B=111.11001,C=Y=00.01001,C,J,=0,步数 条件 操作 A C,000.00000 00.0100,1,0,C,n,-,1,C,n,C,J,0,C,n,-,1,C,n,C,J,1),1 0 0,+2B,+000.01110,000.,01110,2,2,2,000.,00011,10,00.01,00,+00
44、0.00000,1110,00.,01,000.,00011,000.,00000,+000.,00111,0,2),0 0 0,0 1 0,0,3),+B,+0,000.,00111,000.,00001,111110,00.,0,(XY),原,=1.0000111111,71/96,4.运算规则,(1)绝对值相乘,符号单独处理。,(2)A、B取三符号位。,(3)C,取双符号位,参加移位;C尾数凑足偶数位。,(4),C,J,初值为0,依据每步操作决定,其状态,,不参,加移位。,(5)作1/2n步循环;若需增加一步,则该步只还,帐,不移位。,5.逻辑实现,加法器输入端控制信号:+A、+B、+2
45、B、+B、+1,加法器输出端控制信号:1/4 A、A、C、,CP,A,、CP,C,、0 C,J,、1 C,J,2,72/96,第五节 定点除法运算,除法 若干余数与除数加减、移位。,例.0.101100.11111,0.10110,1101,0.,0,1,11111,0.11111,0,0,0,1,11111,10101,0,1,11111,1011,0,0,.,00000,.,0.,商:0.10110,余数:0.101102,5,实现除法关键:,比较余数、除数,绝对值大小,以,决定上商。,73/96,2.5.1 原码恢复余数法,1.算法,比较两数大小可用减法试探。,2余数-除数=新余数,为正
46、:够减,商1。,为负:不够减,商0,恢复原余数。,2.实例,X=-0.10110,Y=0.11111,求X/Y,给出商Q和余数R。,设置:,A,:被除数、余数,,B,:除数,,C,:商,初值:A=X=00.10110,B=Y=00.11111,C=Q=0.00000,-B=11.00001,74/96,步数 条件 操作 A C,00.10110 0.00000,1),0,-B,01.01100,+11.00001,00.01101,0.0000,1,2),1,-B,00.11010,+11.00001,11.11011,0.000,10,3),恢复余数,+B,+00.11111,00.1101
47、0,01.10100,0.00,101,4),0,-B,+11.00001,00.10101,C,n,S,A,Q,1,Q,2,Q,3,r,0,2r,0,r,1,2r,1,r,2,r,2,2r,2,r,3,75/96,步数 条件 操作 A C,00.10101 0.00,101,5),0,-B,01.01010,+11.00001,00.01011,0.0,1011,6),1,-B,00.10110,+11.00001,11.10111,0.,10110,7),恢复余数,+B,+00.11111,00.10110,Q=-0.10110,C,n,Q,4,Q,5,Q,3,r,3,2r,3,r,4,2
48、r,4,r,5,r,5,R=0.10110,2,-5,X=Q,Y+R,+,+,+,+,-,+,-,-+,-,-,+-,-,X/Y=-0.10110+,-0.10110,2,-5,0.11111,76/96,3.说明,(1)A、B双符号位,X、Y绝对值,X 小于 Y。,(2)运算结束后,余数乘以2,与被除数同号。,-n,2.5.2 原码不恢复余数法(加减交替法),1.算法分析,第二步:,2,r,1,-B=,r,2,0,第三步:,r,2,+B=,r,2(恢复余数),第四步:,2,r,2,-B=,r,3,2,r,2,-B=2(,r,2,+B)-B,=2,r,2,+B=,r,3,第二步:,2,r,1,
49、-B=,r,2,0,第三步:,2,r,2,+B=,r,3,(不恢复余数),77/96,2.算法,r,i+1,=2,r,i,+(1-2Q,i,)Y,r,i,为,正,,则,Q,i,为,1,,第i+1步作,2,r,i,-Y;,r,i,为,负,,则,Q,i,为,0,,第i+1步作,2,r,i,+Y。,3.实例,X=0.10110,Y=-0.11111,求X/Y,给出商Q和余数R。,初值:A=X=00.10110,B=Y=00.11111,C=Q=0.00000,-B=11.00001,78/96,步数 条件 操作 A C,00.10110 0.00000,1),为正,-B,01.01100,+11.0
50、0001,00.01101,0.0000,1,2),为负,-B,00.11010,+11.00001,11.11011,0.000,10,3),+B,+00.11111,11.10110,0.00,101,为正,00.10101,C,n,r,Q,1,Q,2,Q,3,r,0,2r,0,r,1,2r,1,r,2,2r,2,r,3,4),为正,-B,01.01010,+11.00001,00.01011,0.0,1011,Q,4,2r,3,r,4,79/96,步数 条件 操作 A C,00.01011 0.0,1011,6),为负,恢复余数,+B,+00.11111,00.10110,Q=-0.10
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100