第3章运算方法和运算器课件

上传人:M****1 文档编号:572658846 上传时间:2024-08-13 格式:PPT 页数:74 大小:3.10MB
返回 下载 相关 举报
第3章运算方法和运算器课件_第1页
第1页 / 共74页
第3章运算方法和运算器课件_第2页
第2页 / 共74页
第3章运算方法和运算器课件_第3页
第3页 / 共74页
第3章运算方法和运算器课件_第4页
第4页 / 共74页
第3章运算方法和运算器课件_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《第3章运算方法和运算器课件》由会员分享,可在线阅读,更多相关《第3章运算方法和运算器课件(74页珍藏版)》请在金锄头文库上搜索。

1、第第3章章 运算方法和运算器运算方法和运算器3.2 定点乘法运算定点乘法运算3.1 定点加减运算定点加减运算3.3 定点除法运算定点除法运算3.4 浮点四则运算浮点四则运算3.5 算术逻辑运算单元算术逻辑运算单元本章需解决的关键问题:本章需解决的关键问题: 如何以加法器为基础,实现各种运算处理。如何以加法器为基础,实现各种运算处理。解决思路:解决思路: 复杂运算复杂运算 四则运算四则运算 加法运算加法运算解决方法:解决方法: 在加法器的基础上,增加移位传送功能,在加法器的基础上,增加移位传送功能,并选择输入控制条件。并选择输入控制条件。第第3章章 运算方法和运算器运算方法和运算器 第一节第一节

2、 定点加减运算定点加减运算3.1.1 补码加减法补码加减法数用补码表示,符号位参加运算。数用补码表示,符号位参加运算。实际操作能否只取决于操作码实际操作能否只取决于操作码?结果需不需修正?结果需不需修正?如何将减法转换为加法?如何将减法转换为加法?1. 基本关系式基本关系式 ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补补 (2)式(式(1):):操作码为操作码为“加加”时,两数直接相加。时,两数直接相加。3) X= 3 Y= 2 X补补=0 0011 Y补补=1 11100 0001(+1补码)补码)2) X= 3 Y= 2 X补补

3、=1 1101 Y补补=1 11101 1011 ( 5补码)补码)1) X=3 Y=2 X补补=0 0011 Y补补=0 00100 0101(+5补码)补码)4) X= 3 Y= 2 X补补=1 1101 Y补补=0 00101 1111 (1补码)补码)例例. 求求(X+Y)补补 ( X + Y )补补 = X补补 + Y补补 (1) ( X - Y )补补 = X补补 + (-Y)补补 (2)式(式(2):):操作码为操作码为“减减”时,将减转换为加。时,将减转换为加。 1) X= 4 Y= 5 X补补=0 0100 Y补补=1 1011(-Y)补补=0 01010 1001(+9补码

4、)补码)2) X= 4 Y= 5 X补补=1 1100 Y补补=0 0101(-Y)补补=1 10111 0111 (9补码)补码)例例. 求求(X Y)补补Y补补 (Y)补补:将将Y Y补补变补变补不管不管Y Y补补为正或负,将其符号连同为正或负,将其符号连同尾数一起各位变反,末位加尾数一起各位变反,末位加1 1。即将减数变补后与被减数相加。即将减数变补后与被减数相加。 X补补=0 0100 Y补补=1 1011 X补补=1 1100 Y补补=0 0101注意:某数的注意:某数的补码表示补码表示与某数与某数变补变补的区别。的区别。例例. 1 0101. 1 0101原原 1 10111 10

5、11补码表示补码表示1 00111 0011补补 0 11010 1101变补变补 0 0101 0 0101原原 0 01010 0101补码表示补码表示符号位不变;符号位不变;负数尾数改变,负数尾数改变,正数尾数不变。正数尾数不变。0 00110 0011补补 1 11011 1101变补变补符号位改变,符号位改变,尾数改变。尾数改变。补码的机器负数补码的机器负数运算规则补充:符号位的进位是模,作为溢出量,应运算规则补充:符号位的进位是模,作为溢出量,应该丢掉。该丢掉。2. 算法流程算法流程操作数用补码表示,操作数用补码表示,符号位参加运算符号位参加运算结果为补码表示,符结果为补码表示,符

6、号位指示结果正负号位指示结果正负X补补+Y补补X补补+(-Y)补补ADDSUB3. 逻辑实现逻辑实现A(X补补)B(Y补补)+AABB+B+B+1CPA A(1)控制信号控制信号加法器输入端:加法器输入端:+A+A:打开控制门,将:打开控制门,将A A送送。+B+B:打开控制门,将:打开控制门,将B B送送。+1+1:控制末位加:控制末位加 1 1 。+B+B:打开控制门,将:打开控制门,将B B送送。加法器输出端:加法器输出端: A:打开控制门,将结打开控制门,将结 果送果送A输入端。输入端。CPCPA A:将结果打入:将结果打入A A。(2)补码加减运算器粗框补码加减运算器粗框3.1.2

7、溢出判断溢出判断在什么情况下可能产生溢出?在什么情况下可能产生溢出?例例. .数数A A有有4 4位尾数,位尾数,1 1位符号位符号S SA A 数数B B有有4 4位尾数,位尾数,1 1位符号位符号S SB B 符号位参符号位参加运算加运算 结果符号结果符号S Sf f符号位进位符号位进位C Cf f尾数最高位进位尾数最高位进位C C正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7: 0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A= -3 B= -2-3+(-2):1 1011 1 11011

8、 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001(5)A=6 B= -4 6+(-4):0 0010 0 01101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 0100(2)A=10 B=7 10+7 :0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出= = S SA AS SB BS Sf fS SA AS Sf fS SB B2. 硬件判断逻辑二硬件判断

9、逻辑二(Cf与与C的关系)的关系)正确正确0 00110 0010(1)A=3 B=2 3+2:0 0101 (2)A=10 B=7 10+7: 0 10100 01111 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)A= -3 B= -2-3+(-2):1 1011 1 11011 1110(4)A= -10 B= -7 -10+(-7):0 1111 1 01101 1001(5)A=6 B= -4 6+(-4):0 0010 0 01101 1100(6)A= -6 B=4 -6+4:1 1110 1 10100 0100Cf=0Cf=0C =0C =0Cf=0Cf=0C =

10、1C =1Cf=1Cf=1C =1C =1Cf=1Cf=1C =0C =0Cf=1Cf=1C =1C =1Cf=0Cf=0C =0C =0111111(2)A=10 B=7 10+7 : 0 1010 0 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)溢出溢出= = S SA AS SB BS Sf fS SA AS Sf fS SB B2. 硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)溢出溢出= C= Cf f C C3. 硬件判断逻辑三硬件判断逻

11、辑三(双符号位(双符号位)(1)3+2:正确正确00 001100 001000 0101 (2)10+7:00 101000 011101 0001 正溢正溢正确正确负溢负溢正确正确正确正确(3)-3+(-2):11 1011 11 110111 1110(4)-10+(-7):10 1111 11 011011 1001(5)6+(-4):00 0010 00 011011 1100(6)-6+4:11 1110 11 101000 0100第一符号位第一符号位Sf1第二符号位第二符号位Sf2溢出溢出= S= Sf1f1 S Sf2f2(2)A=10 B=7 10+7 : 0 1010 0

12、 01111 0001 (4)A= -10 B= -7 -10+(-7):0 1111 1 01101 10011. 硬件判断逻辑一硬件判断逻辑一(SA、SB与与Sf的关系)的关系)2. 硬件判断逻辑二硬件判断逻辑二(Cf与与C的关系)的关系)3. 硬件判断逻辑三硬件判断逻辑三(双符号位(双符号位)溢出溢出= = S SA AS SB BS Sf fS SA AS Sf fS SB B溢出溢出= C= Cf f C C3.1.3 移位操作移位操作逻辑移位逻辑移位 :数码位置变化,数值:数码位置变化,数值不变不变.1. 移位类型移位类型算术移位算术移位 1 0 0 0 1 1 1 1循环左移:循

13、环左移:0 :数码位置变化,数值:数码位置变化,数值变化变化,符号位不变。符号位不变。1 0 0 1 1 1 1 算术左移:算术左移:1 0 0 1 1 1 1 10 1 1 1 1 0 (-15)(-30)(1)单符号位)单符号位 : 0 01110 1110 (2)双符号位:)双符号位:00 1110 00 01112.正数补码移位规则正数补码移位规则(3 3)移位规则)移位规则左移左移右移右移右移右移0 0111 0 0011 左移左移左移左移右移右移右移右移01 1100 00 1110 00 0111 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变

14、)。位不变)。空位补空位补0,(左移时尾数低位补左移时尾数低位补0;右移时尾数高位;右移时尾数高位补补0,右移时第二符号位移至尾数最高位,右移时第二符号位移至尾数最高位)(1)单符号位)单符号位 : 1 10111 0110 (2)双符号位:)双符号位:10 1100 11 01103.负数补码移位规则负数补码移位规则(3 3)移位规则)移位规则左移左移1 1011 1 1101 左移左移11 0110 11 1011 数符不变数符不变(单:符号位不变;双:第一符号(单:符号位不变;双:第一符号位不变)。位不变)。左移空位补左移空位补0(第二符号位移至尾数最高位)(第二符号位移至尾数最高位).

15、右移空位补右移空位补1右移右移右移右移右移右移右移右移易出错处易出错处正确:正确:正确:正确:00 1110 左移左移00 1100 01 1100 01 1100 00 1110 右移右移11 0110 左移左移11 1100 10 1100 10 1100 11 0110 11 1110 右移右移00 0110 正确:正确:正确:正确:结论:双符号位在左移的时候,如果尾结论:双符号位在左移的时候,如果尾 数最高位有进位,不论正数或负数最高位有进位,不论正数或负 数都把它保存到第二符号位;右数都把它保存到第二符号位;右 移时把第二符号位的值移到尾数移时把第二符号位的值移到尾数 的最高位。的最

16、高位。3.1.4 舍入方法舍入方法1. 0 0舍舍1 1入(原码、补码)入(原码、补码)0 00100原原 1 00101原原 1 11011补补 2. 末位恒置末位恒置1 1(原码、补码)(原码、补码)0 00100原原 1 11011补补 1 00101原原 0 0010原原 1 0011原原 1 1110补补 0 0011原原 1 0011原原 1 1101补补 1 0011原原 1 1101补补 例例. 保留保留4位尾数:位尾数: 例例. 保留保留4位尾数:位尾数: 3.2 定点乘法运算定点乘法运算3.2.1 原码一位乘法原码一位乘法 每次用一位乘数去乘被乘数。每次用一位乘数去乘被乘数

17、。 1.1.算法分析算法分析乘法乘法 部分积累加、移位。部分积累加、移位。例例. 0.11011.10111.1011乘积乘积 P = X P = X Y Y积符积符 S SA A= S= SX X S SY YX原原Y原原(1 1)手算)手算 0.11010.1101 0.10110.1011 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111上符号:上符号:1.100011111.10001111部分积部分积问题:问题:1 1)加数增多(由乘数位数决定)。)加数增多(由乘数位数决定)。 2 2)加数的位数增多(与被乘数

18、、乘)加数的位数增多(与被乘数、乘 数位数有关)。数位数有关)。改进:将一次相加改为分步累加。改进:将一次相加改为分步累加。特点:特点:1.每次用一位乘数去乘上被乘数得到一项部分积。由于乘数每一位或者是每次用一位乘数去乘上被乘数得到一项部分积。由于乘数每一位或者是“1”或者或者是是“0”,所以得到的部分积或者是被乘数本身或者是,所以得到的部分积或者是被乘数本身或者是0。因此,我们进行乘法运。因此,我们进行乘法运算的时候,实际上就是根据乘数每一位的状态来判断获得的部分积到底是算的时候,实际上就是根据乘数每一位的状态来判断获得的部分积到底是被乘数被乘数还是还是0。2.所得到的部分积是逐项左移的。因

19、为乘数各位的权值是逐项增大,所以用乘数的所得到的部分积是逐项左移的。因为乘数各位的权值是逐项增大,所以用乘数的各位分别去乘上被乘数,那么得到的部分积的权值也是逐项增大。各位分别去乘上被乘数,那么得到的部分积的权值也是逐项增大。(2 2)分步乘法)分步乘法每次将一位乘数所对应的部分积与每次将一位乘数所对应的部分积与原部分积的累加和相加,并移位。原部分积的累加和相加,并移位。设置寄存器:设置寄存器: A A:存放:存放部分积累加和、乘积高位部分积累加和、乘积高位 B B:存放:存放被乘数被乘数 C C:存放:存放乘数、乘积低位乘数、乘积低位 设置初值:设置初值: A = 00.0000A = 00

20、.0000 B = X = 00.1101 B = X = 00.1101 C = Y = .1011 C = Y = .1011 问题解决:问题解决:1. 在运算过程中,可能两个数相加时尾数的高位要在运算过程中,可能两个数相加时尾数的高位要产生进位,这不是溢出,要把它保存起来,以便产生进位,这不是溢出,要把它保存起来,以便下一步继续运算。所以,下一步继续运算。所以,第二符号位暂时保存运第二符号位暂时保存运算过程中可能出现的高位的进位;第一符号位始算过程中可能出现的高位的进位;第一符号位始终都是终都是0,用来指示累加和、被乘数都是绝对值。,用来指示累加和、被乘数都是绝对值。2. 把原来在手算中

21、累加和不变,新的部分积左移一把原来在手算中累加和不变,新的部分积左移一位,位,改成新的部分积不变,而让原来的累加和右改成新的部分积不变,而让原来的累加和右移一位。移一位。问题:问题:1.1.既然是绝对值运算为什么有符号位?既然是绝对值运算为什么有符号位?2.2.要使加数位数仍然保持要使加数位数仍然保持4 4位,也就是让位,也就是让B B寄寄存器仍然保持存器仍然保持4 4位,如何实现?位,如何实现?步数步数 条件条件 操作操作 A C A C 00.0000 .101 00.0000 .1011 1 1 1)C Cn n=1=1+B+BC Cn n+ 00.1101+ 00.110100.00.

22、11011101 0.1101 0.1101 0.1010.1011 1 1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111BC 1101 1101 00.00.011001101 1.10.101 1 0.1101 0.1101 0.100.101 11 12 2)C Cn n=1=1+B+B+ 00.1101+ 00.11010 01 1. .0011001100.00.100110011111.1.10 0 0.1101 0.1101 0.10.10 01111 0.1101 0.1101 0.10110.1011

23、1101 1101 1101 1101 0000 0000 1101 1101 0.10001111 0.10001111BC3 3)C Cn n=0=0+0+0+ 00.0000+ 00.000000.00.1001100100.00.01000100111111. .1 14 4)C Cn n=1=1+B+B+ 00.1101+ 00.11010 01 1. .0001000100.00.1000100011111111X X原原Y Y原原 = 1.10001111= 1.10001111A寄存器内容右移一位,寄存器内容右移一位,“1”移至移至C寄存器高位。寄存器高位。C寄存器最末位判断完

24、之后,没有必要保存,就可寄存器最末位判断完之后,没有必要保存,就可以把以把Cn丢掉。这样后面各位都依次右移一位,这丢掉。这样后面各位都依次右移一位,这样空出样空出C的高位,用的高位,用C的高位保存的高位保存A的低位。的低位。 2. .算法流程算法流程0 A0 A、X BX B、Y CY C、0 CR0 CRC Cn n = 1 = 1 ?CR = n CR = n ?1/21/2(A+BA+B) A A,C C1/21/2(A+0A+0) A A,C C CR + 1 CR CR + 1 CRYYNN Sx + Sy S Sx + Sy SA A 3.3.运算规则运算规则(1 1)操作数、结果

25、用原码表示;)操作数、结果用原码表示;(2 2)绝对值运算,符号单独处理;)绝对值运算,符号单独处理;(3 3)被乘数)被乘数(B)(B)、累加和、累加和(A)(A)取双符号位;取双符号位;(4 4)乘数末位)乘数末位( (C Cn n) )为判断位,其状态决定为判断位,其状态决定 下步操作;下步操作;(5 5)作)作n n次循环(累加、右移)。次循环(累加、右移)。3.2.1 补码一位乘法补码一位乘法 1.1.算法分析算法分析 X X补补 = X= X0 0.X.X1 1X X2 2X Xn n(1 1)Y Y为正:为正:Y Y补补 = 0.Y= 0.Y1 1Y Y2 2Y Yn n (XY

26、)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Yn n) )(2 2)Y Y为负:为负:Y Y补补 = 1.Y= 1.Y1 1Y Y2 2Y Yn n (XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补(3 3)Y Y符号任意:符号任意: (XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)+(-X)+(-X)补补Y Y0 0符号位符号位(4 4)展开为部分积的累加和形式:)展开为部分积的累加和形式:(XY)(XY)补补 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Y

27、n n)+(-X)+(-X)补补Y Y0 0 = X= X补补(0.Y(0.Y1 1Y Y2 2Y Yn n)-X)-X补补Y Y0 0 = X= X补补(-Y(-Y0 0+ +2 Y2 Y1 1+ +2 Y2 Y2 2+ + +2 Y2 Yn n) )-1-1 -2-2 -n-n = X= X补补 -Y-Y0 0+(+(Y Y1 1-2 Y-2 Y1 1)+()+(2 Y2 Y2 2-2 Y-2 Y2 2)+)+-1-1 -1 -2-1 -2-(n-1) -n-(n-1) -n +(+(2 Y2 Yn n-2 Y-2 Yn n) ) = X= X补补 (Y(Y1 1-Y-Y0 0)+2 (Y

28、)+2 (Y2 2-Y-Y1 1)+2 (Y)+2 (Y3 3-Y-Y2 2)+)+-1 -2-1 -2 +2 (0 -Y+2 (0 -Yn n) )-n-n +2 (+2 (0 0 -Y -Yn n) )-n-nY Yn+1n+1 = = X X补补 ( (Y Y1 1-Y-Y0 0)+2 ()+2 (Y Y2 2-Y-Y1 1)+2 ()+2 (Y Y3 3-Y-Y2 2)+)+-1 -2-1 -2 +2 (+2 (0 0 -Y-Yn n) )-n-nY Yn+1n+1比较法:用相邻两位乘数比较的结果决定比较法:用相邻两位乘数比较的结果决定 +X+X补补、-X-X补补或或+0+0。特点:现

29、在所获得的新乘数的各位是原来乘数相邻两位相减的特点:现在所获得的新乘数的各位是原来乘数相邻两位相减的 结果,相减的结果就是相邻两位比较的结果,我们把这结果,相减的结果就是相邻两位比较的结果,我们把这 种乘法称为比较法。种乘法称为比较法。比较法说明:比较法说明:1. 1. 跟原码一样,每次累加和也都要右移,所跟原码一样,每次累加和也都要右移,所以乘数各位都要依次移至以乘数各位都要依次移至YnYn和和Yn+1Yn+1,因此我们,因此我们把把YnYn和和Yn+1Yn+1作为判断位。作为判断位。2. 2. 符号位累加之后不再移位符号位累加之后不再移位。即当乘数尾数。即当乘数尾数最高位和符号位进行比较之

30、后呢,仅仅根据比最高位和符号位进行比较之后呢,仅仅根据比较的结果来对原来得到的乘积(累加和)进行较的结果来对原来得到的乘积(累加和)进行修正,而不再右移。修正,而不再右移。 2.2.比较法比较法算法算法Y Yn n( (高位高位) ) Y Yn+1n+1( (低位低位) ) 操作操作(A(A补补为部分积累加和为部分积累加和) ) 0 00 00 10 11 01 01 1 1 1 1/2A1/2A补补 1/2(A1/2(A补补+X+X补补) ) 1/2(A 1/2(A补补-X-X补补) ) 1/2A 1/2A补补( 0 )( 0 )( 1 )( 1 )(-1 )(-1 )( 0 )( 0 )3

31、.3.运算实例运算实例X=-0.1101,Y=-0.1011,X=-0.1101,Y=-0.1011,求求(XY)(XY)补补。初值:初值:A=00.0000,B=XA=00.0000,B=X补补=11.0011,=11.0011, -B=(-X) -B=(-X)补补=00=00.1101,C =Y.1101,C =Y补补=1=1.0101.0101步数步数 条件条件 操作操作 A C A C 00.0000 1.010 00.0000 1.0101 1 1 1)1 01 0-B-BC Cn n+ 00.1101+ 00.110100.00.1101110100.00.011001101 11

32、.011.0101012 2)0 10 1+B+B+ 11.0011+ 11.001111.11.1001100111.11.1100110011111.01.010103 3)1 01 0-B-B+ 00.1101+ 00.110100.00.1001100100.00.010001001111111.1.01014 4)0 10 1+B+B+ 11.0011+ 11.001111.11.0111011111.11.10111011111111111.01.00 0 C Cn+1n+1C Cn nC Cn+1n+15 5)1 01 0-B-B+ 00.1101+ 00.1101(XY)(XY

33、)补补 = 0.10001111= 0.100011114 4)0 10 1+B+B+ 11.0011+ 11.001111.11.0111011111.11.10111011111111111.01.05 5)1 01 0-B-B+ 00.1101+ 00.110100.00.1000100011111111修正修正(1)A(1)A、B B取双符号位,符号参加运算;取双符号位,符号参加运算;(2)C(2)C取单符号位,符号参加移位,以决定最后是否取单符号位,符号参加移位,以决定最后是否 修正;修正;(3)C(3)C末位设置附加位末位设置附加位C Cn+n+1 1,初值为,初值为0 0,C C

34、n nC Cn+n+1 1组成判组成判 断位,决定运算操作断位,决定运算操作;(4)(4)作作n n步循环步循环, ,若需作第若需作第n+1n+1步步, ,则不移位则不移位, ,仅修正。仅修正。 4.4.运算规则运算规则1.0 : -B修正修正0.1 : +B修正修正0.0 : 不修正不修正1.1 : 不修正不修正 3.3 定点除法运算定点除法运算除法除法 若干余数与除数加减、移位。若干余数与除数加减、移位。例例. 0.10110. 0.101100.111110.111110.101100.10110 1101 11010.0.0 01 1 11111 111110.111110.11111

35、0 00 00 01 1 11111 11111 10101 101010 01 1 11111 11111 1011 10110 00 0.0000000000.0.0.商:商: 0.101100.10110余数:余数:0.101100.101102 2 5实现除法的关键:实现除法的关键:比较余数、除数比较余数、除数绝对值大小,以绝对值大小,以决定上商。决定上商。3.3.1 原码恢复余数法原码恢复余数法1.1.算法算法 比较两数大小可用减法试探。比较两数大小可用减法试探。2 2余数余数- -除数除数= =新余数新余数为正为正: :够减够减, ,商商1 1。为负为负: :不够减不够减, ,商商

36、0,0,恢复原余数。恢复原余数。2.2.实例实例X=-0.10110X=-0.10110,Y=0.11111Y=0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R设置:设置:A A:被除数、余数,:被除数、余数,B B:除数,:除数,C C:商:商初值:初值:A= X = 00.10110A= X = 00.10110 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B= 11.00001 -B= 11.00001比较余数和除数大小,通过减法试探实现比较余数和除数大小,通过减法试探实现比较余数

37、和除数大小,通过减法试探实现比较余数和除数大小,通过减法试探实现算法:将余数左移之后,再和除数进行绝对值比较,根据得到算法:将余数左移之后,再和除数进行绝对值比较,根据得到算法:将余数左移之后,再和除数进行绝对值比较,根据得到算法:将余数左移之后,再和除数进行绝对值比较,根据得到 的新的余数来判断是否够减以决定上商。的新的余数来判断是否够减以决定上商。的新的余数来判断是否够减以决定上商。的新的余数来判断是否够减以决定上商。步数步数 条件条件 操作操作 A C A C 00.10110 0.0000000.10110 0.00000 1 1)0 0-B-B 01.01100 01.01100+1

38、1.00001+11.0000100.0110100.011010.00000.00001 12 2)1 1 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.00010103 3)恢复余数恢复余数+B+B+00.11111+00.1111100.1101000.1101001.1010001.101000.000.001011014 4)0 0-B-B +11.00001+11.0000100.1010100.10101C Cn nS SA AQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1

39、12r2r1 1r r2 2r r2 22r2r2 2r r3 3步数步数 条件条件 操作操作 A C A C 00.10101 0.0000.10101 0.00101101 5 5)0 0-B-B 01.01010 01.01010+11.00001+11.0000100.0101100.010110.00.0101110116 6)1 1 -B-B00.1011000.10110+11.00001+11.0000111.1011111.101110.0.10110101107 7)恢复余数恢复余数+B+B+00.11111+00.1111100.1011000.10110Q= -0.10

40、110Q= -0.10110C Cn nQ Q4 4 Q Q5 5 Q Q3 3 r r3 32r2r3 3r r4 42r2r4 4r r5 5r r5 5R= 0.10110R= 0.101102 2-5-5X/Y=-0.10110+X/Y=-0.10110+-0.10110-0.101102 2-5-5 0.11111 0.111113.3.说明说明(1 1)A A、B B双符号位,双符号位,X X、Y Y绝对值,绝对值,X X 小于小于 Y Y 。(2 2)运算结束后,余数乘以)运算结束后,余数乘以2 2 ,与被除数同号。,与被除数同号。-n3.3.2 原码不恢复余数法(加减交替法)原

41、码不恢复余数法(加减交替法)1.1.算法分析算法分析第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步: :r r2 2+B=+B=r r2(2(恢复余数恢复余数) )第四步第四步: :2 2r r2 2-B=-B=r r3 32 2r r2 2-B=2(-B=2(r r2 2+B)-B+B)-B =2 =2r r2 2+B=+B=r r3 3 第二步第二步: :2 2r r1 1-B=-B=r r2 200第三步第三步: :2 2r r2 2+B=+B=r r3 3 ( (不恢复余数不恢复余数) )凡是新的余数小于凡是新的余数小于0 0,下一步,下一步就将它左移之后

42、加上除数;就将它左移之后加上除数;凡是新的余数大于凡是新的余数大于0 0,下一步,下一步就将它左移之后减去除数。就将它左移之后减去除数。缺点:缺点:缺点:缺点:1. 1.在运算的过程中,每一步得到的余数是负数表示不够减,那么下一步就在运算的过程中,每一步得到的余数是负数表示不够减,那么下一步就在运算的过程中,每一步得到的余数是负数表示不够减,那么下一步就在运算的过程中,每一步得到的余数是负数表示不够减,那么下一步就要恢复余数,而不够减的次数是不确定的,是随机的,所以不好安排时要恢复余数,而不够减的次数是不确定的,是随机的,所以不好安排时要恢复余数,而不够减的次数是不确定的,是随机的,所以不好安

43、排时要恢复余数,而不够减的次数是不确定的,是随机的,所以不好安排时序。序。序。序。2. 2.只要不够减就要恢复余数,所以操作步数比较多,这样浪费运算时间。只要不够减就要恢复余数,所以操作步数比较多,这样浪费运算时间。只要不够减就要恢复余数,所以操作步数比较多,这样浪费运算时间。只要不够减就要恢复余数,所以操作步数比较多,这样浪费运算时间。2.2.算法算法 r ri+1i+1=2=2r ri i+(1-2Q+(1-2Qi i)Y)Yr ri i为为正,正,则则Q Qi i为为1 1,第第i+1i+1步作步作2 2r ri i-Y-Y;r ri i为为负,负,则则Q Qi i为为0 0,第第i+1

44、i+1步作步作2 2r ri i+Y+Y。3.3.实例实例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R。初值:初值:A= X = 00.10110A= X = 00.10110 B= Y = 00.11111 B= Y = 00.11111 C= Q = 0.00000 C= Q = 0.00000 -B=11.00001 -B=11.00001步数步数 条件条件 操作操作 A C A C 00.10110 0.0000000.10110 0.00000 1 1)为正为正-B-B 01.01100 0

45、1.01100+11.00001+11.0000100.0110100.011010.00000.00001 12 2)为负为负 -B-B00.1101000.11010+11.00001+11.0000111.1101111.110110.0000.00010103 3)+B+B+00.11111+00.1111111.1011011.101100.000.00101101为正为正00.1010100.10101C Cn n r rQ Q1 1 Q Q2 2 Q Q3 3 r r0 02r2r0 0r r1 12r2r1 1r r2 22r2r2 2r r3 34 4)为正为正-B-B 01

46、.01010 01.01010+11.00001+11.0000100.0101100.010110.00.010111011Q Q4 4 2r2r3 3r r4 4步数步数 条件条件 操作操作 A C A C 00.01011 0.000.01011 0.010111011 6 6)为负为负 恢复余数恢复余数+B+B+00.11111+00.1111100.1011000.10110Q= -0.10110Q= -0.10110C Cn nQ Q4 4 r r4 45 5)为正为正-B-B 00.10110 00.10110+11.00001+11.0000111.1011111.101110

47、.0.1011010110Q Q5 5 2r2r4 4r r5 5r r5 5R= 0.10110R= 0.101102 2-5-5X/Y=-0.10110+X/Y=-0.10110+ 0.10110 0.101102 2-5-5 -0.11111 -0.11111 4.4.运算规则运算规则(1 1)A A、B B取双符号位,取双符号位,X X、Y Y取绝对值运算,取绝对值运算,X Y X Y 。(2 2)根据余数的正负决定商值及下一步操作。)根据余数的正负决定商值及下一步操作。(3 3)求)求n n位商,作位商,作n n步操作;若第步操作;若第n n步余数为负,则第步余数为负,则第n+1n+

48、1步恢复余数,不移位。步恢复余数,不移位。3.3.3 补码不恢复余数法(加减交替法)补码不恢复余数法(加减交替法)如何判断是否够减?如何判断是否够减? 如何上商?如何上商? 如何确定商符?如何确定商符? 1.1.判够减判够减(1)(1)同号相除同号相除4 74 77 47 4-4 -7-4 -7-7 -4-7 -41 1-4 7-4 7-7 4-7 44 -74 -77 -47 -40 01 10 0-4-43 3-7-7-3-3-(-4)-(-4)-3-3-(-7)-(-7)3 3够减够减不够减不够减够减够减不够减不够减够减:够减:r与与X、Y同号;同号;不够减:不够减:r与与X、Y异号。异

49、号。(2)(2)异号相除异号相除 1 10 0 1 1 0 0+(-4)+(-4) 3 3+(-7)+(-7)-3-3 +4 +4-3-3 +7 +7 3 3够减够减够减够减不够减不够减不够减不够减够减:够减:r与与X同号同号,与与Y异号;异号;不够减:不够减:r与与X异号异号,与与Y同号。同号。总结:余数与被除数关系要简单一点,总结:余数与被除数关系要简单一点,总结:余数与被除数关系要简单一点,总结:余数与被除数关系要简单一点,不论同号相除还是异号相除,只要够不论同号相除还是异号相除,只要够不论同号相除还是异号相除,只要够不论同号相除还是异号相除,只要够 减,那么余数和被除数都是同号的;不够

50、减,余数和被除数都是异号的。减,那么余数和被除数都是同号的;不够减,余数和被除数都是异号的。减,那么余数和被除数都是同号的;不够减,余数和被除数都是异号的。减,那么余数和被除数都是同号的;不够减,余数和被除数都是异号的。 但是,被除数是放在但是,被除数是放在但是,被除数是放在但是,被除数是放在A A寄存器中的(作为初始余数),每次运算之后都要寄存器中的(作为初始余数),每次运算之后都要寄存器中的(作为初始余数),每次运算之后都要寄存器中的(作为初始余数),每次运算之后都要用新的余数来代替原来旧的余数,所以用新的余数来代替原来旧的余数,所以用新的余数来代替原来旧的余数,所以用新的余数来代替原来旧

51、的余数,所以A A寄存器的内容是变化的,不好做比寄存器的内容是变化的,不好做比寄存器的内容是变化的,不好做比寄存器的内容是变化的,不好做比较。除数较。除数较。除数较。除数Y Y放在放在放在放在B B寄存器,不会变化,所以我们就可以用余数和除数进行比寄存器,不会变化,所以我们就可以用余数和除数进行比寄存器,不会变化,所以我们就可以用余数和除数进行比寄存器,不会变化,所以我们就可以用余数和除数进行比较,但是复杂一点。较,但是复杂一点。较,但是复杂一点。较,但是复杂一点。(3 3)判断规则)判断规则同号:作同号:作X X补补-Y-Y补补X X补补Y Y补补够减够减:r r补补与与Y Y补补同号同号不

52、够减不够减:r r补补与与Y Y补补异号异号异号:作异号:作X X补补+Y+Y补补够减够减:r r补补与与Y Y补补异号异号不够减不够减:r r补补与与Y Y补补同号同号2.2.求商值求商值X X补补Y Y补补同号:商为正同号:商为正异号:商为负异号:商为负够减商够减商1 1不够减商不够减商0 0够减商够减商0 0不够减商不够减商1 1( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )够减够减商商1 1不够减商不够减商0 0够减商够减商0 0不够减不够减商商1 1( (r r、Y Y同号同号) )( (r r

53、、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )( (r r、Y Y同号同号) )( (r r、Y Y异号异号) )( (r r、Y Y异号异号) )( (r r、Y Y同号同号) )够减够减商商1 1不够减不够减商商0 0够减够减商商0 0不够减不够减商商1 1上商规则:上商规则:Q Qi i=Sr=Sri iS SY Y余数与除数同号商余数与除数同号商1 1,异号商,异号商0 0。规律:不管是同号相除商为正,还是异号相除商为负,只要商规律:不管是同号相除商为正,还是异号相除商为负,只要商规律:不管是同号相除商为正,还是异号相除商为负,只要商规律:不

54、管是同号相除商为正,还是异号相除商为负,只要商1 1那么那么那么那么 余数和除数的关系是同号;不管是够减还是不够减,只要商余数和除数的关系是同号;不管是够减还是不够减,只要商余数和除数的关系是同号;不管是够减还是不够减,只要商余数和除数的关系是同号;不管是够减还是不够减,只要商 0 0,余数和除数都是异号。,余数和除数都是异号。,余数和除数都是异号。,余数和除数都是异号。3.3.算法算法 ( (r ri+1i+1) )补补=2=2r ri i补补+(1-2Q+(1-2Qi i补补)Y)Y补补r ri i补补与与Y Y补补同号同号,则则Q Qi i补补为为1 1,第第i+1i+1步作步作2 2r

55、 ri i补补-Y-Y补补;r ri i补补与与Y Y补补异号异号,则则Q Qi i补补为为0 0,第第i+1i+1步作步作2 2r ri i补补+Y+Y补补。4.4.求商符求商符令令X X补补 = = r r0 0补补r r0 0补补与与Y Y补补同号:同号:Q Q0 0补补=1=1异号:异号:Q Q0 0补补=0=0与实际商与实际商符相反符相反商符商符5.5.商的校正商的校正X X补补Y Y补补=(-1+2 + 2 Qi=(-1+2 + 2 Qi补补)+ )+ 2 2 r rn n补补Y Y补补-n-in-1i=0-n商商余数余数(1 1)求)求n-1n-1位商位商( (假商假商) )(2

56、 2)第)第n n位商位商( (末位商末位商) )恒置恒置1 1(3 3)商符变反)商符变反(4 4)余数求至)余数求至rnrn6.6.实例实例X=0.10110X=0.10110,Y=-0.11111Y=-0.11111,求,求X/YX/Y,给出商,给出商Q Q和余数和余数R R。初值:初值:A =XA =X补补=00.10110=00.10110 B =Y B =Y补补=11.00001 =11.00001 C =QC =Q补补=0.00000=0.00000 -B =00.11111 -B =00.11111步数步数 条件条件 操作操作 A C A C 00.10110 0.000000

57、.10110 0.0000 1 1)异号异号+B+B 01.01100 01.01100+11.00001+11.0000100.0110100.01101 0.00 0.0000002 2)同号同号 +B+B00.1101000.11010+11.00001+11.0000111.1101111.11011 0.0 0.0001001C Cn n-1-1r r、Y YQ Q1 1 Q Q2 2 r r0 02r2r0 0r r1 12r2r1 1r r2 2求商符求商符Q Q0 0 异号异号0 0 5 5)+B+B+11.00001+11.0000100.1011000.1011011.10

58、11111.10111步数步数 条件条件 操作操作 A C A C 11.11011 0.011.11011 0.0001001 3 3)异号异号-B-B 11.10110 11.10110+00.11111+00.1111100.1010100.10101 0. 0.001000104 4)异号异号 +B+B01.0101001.01010+11.00001+11.0000100.0101100.01011 0.01000.0100C Cn n-1-1r r、Y YQ Q3 3 Q Q2 2 r r2 22r2r2 2r r3 32r2r3 3r r4 42r2r4 4r r5 5假商假商=

59、0.0100=0.0100Q Q4 4 真商真商=0.0100+1.00001=1.01001=0.0100+1.00001=1.01001Q= -0.10111 R= -0.01001Q= -0.10111 R= -0.010012 2X/Y=-0.10111+X/Y=-0.10111+-0.01001-0.010012 2-5-5 -0.11111 -0.11111- -5 5 7.7.运算规则运算规则(1 1)A A、B B取双符号位,符号参加运算,并且取双符号位,符号参加运算,并且 X Y X BBJ J,则,则B BJ J+1 B+1 BJ J,B BW W,直到,直到B BJ J=

60、A=AJ J1.10101.1010(2) 0.0101(2) 0.0101 +0.1101 +0.1101A AW W + B+ BW W A AW W4.4.结果规格化结果规格化 W 1/2 W 1 W 1应应左移规格化左移规格化应应右移规格化右移规格化A AJ J-1 A-1 AJ J若若 A Af1f1A Af2f2=1,=1,则右规:则右规:(1) 11.0001(1) 11.0001 +00.1001 +00.100111.101011.1010(2) 00.0101(2) 00.0101 +00.1101 +00.110101.001001.0010(-1/2(-1/2除外除外)

61、 )A Af1f1A Af2 f2 A A1 1A AW W1111. .1 1010010若若 A Af1f1A Af2f2A A1 1+A+Af1f1A Af2f2A A1 1=1,=1,则左规:则左规:0101.0010.0010A Af1f1A Af2f2 A AW WA AJ J+1 A+1 AJ J3.4.2 浮点乘法运算浮点乘法运算步骤:步骤:1.1.检测操作数是否为检测操作数是否为0 0。2.2.阶码相加。阶码相加。若阶码用移码表示,相加后要修正。若阶码用移码表示,相加后要修正。浮点乘浮点乘 定点加、定点乘定点加、定点乘3.3.尾数相乘。尾数相乘。 相乘前相乘前不需对阶不需对阶

62、。设设A=2A=2 A AW W,B=2 B=2 B BW W A AJ JB BJ JA AJ J+B+BJ JA AB=2 B=2 ( (A AW WB BW W) ) 4.4.结果规格化。结果规格化。一般一般左规左规。例:现有两个浮点数例:现有两个浮点数例:现有两个浮点数例:现有两个浮点数x x和和和和y y,他们的真值分别为,他们的真值分别为,他们的真值分别为,他们的真值分别为x=0.100101 2x=0.100101 26 6和和和和y=y=-0.101011 2-0.101011 2-4-4。请计算。请计算。请计算。请计算x x y y,要求分别写出运算结果的浮点数代码和,要求分

63、别写出运算结果的浮点数代码和,要求分别写出运算结果的浮点数代码和,要求分别写出运算结果的浮点数代码和十进制真值。其中阶码十进制真值。其中阶码十进制真值。其中阶码十进制真值。其中阶码6 6位(含位(含位(含位(含1 1位阶符),补码表示,以位阶符),补码表示,以位阶符),补码表示,以位阶符),补码表示,以2 2为底;尾为底;尾为底;尾为底;尾数数数数7 7位(含位(含位(含位(含1 1位阶符),补码表示。位阶符),补码表示。位阶符),补码表示。位阶符),补码表示。3.4.3 浮点除法运算浮点除法运算步骤:步骤:1.1.检测操作数是否为检测操作数是否为0 0。2. A2. AM M B BM M

64、? ?浮点除浮点除 定点减、定点除定点减、定点除4.4.尾数相除。尾数相除。相除前相除前不需对阶不需对阶。设设A=2A=2 A AM M,B=2 B=2 B BM M A AJ JB BJ J5.5.结果不再规格化。结果不再规格化。A AJ-J-B BJ JA AB=2 B=2 ( (A AW WB BW W) ) 3.3.阶码相减。阶码相减。若阶码用移码表示,相减后要修正。若阶码用移码表示,相减后要修正。例:现有两个浮点数例:现有两个浮点数例:现有两个浮点数例:现有两个浮点数x x和和和和y y,设,设,设,设x x、y y的阶码为补码形式,尾数为原码的阶码为补码形式,尾数为原码的阶码为补码

65、形式,尾数为原码的阶码为补码形式,尾数为原码形式。形式。形式。形式。x x的阶码为的阶码为的阶码为的阶码为0,0100,010,尾数为,尾数为,尾数为,尾数为0.10100.1010;y y的阶码的阶码的阶码的阶码1,1111,111,尾数为,尾数为,尾数为,尾数为0.10010.1001。用浮点运算方法计算:。用浮点运算方法计算:。用浮点运算方法计算:。用浮点运算方法计算:x/yx/y(阶码用补码加(阶码用补码加(阶码用补码加(阶码用补码加/ /减法,尾数用减法,尾数用减法,尾数用减法,尾数用原码加减交替法)。原码加减交替法)。原码加减交替法)。原码加减交替法)。3.5.1加法单元的设计加法

66、单元的设计1.1.加法单元的逻辑框图加法单元的逻辑框图加法单元的逻辑框图加法单元的逻辑框图2.2.加法单元的逻辑电路图加法单元的逻辑电路图加法单元的逻辑电路图加法单元的逻辑电路图FASiAiBiCiCi1A Ai i:被加数的第:被加数的第:被加数的第:被加数的第 i i 位位位位B Bi i:加数的第:加数的第:加数的第:加数的第 i i 位位位位C Ci i1 1:低位产生的进位:低位产生的进位:低位产生的进位:低位产生的进位S Si i:本位和:本位和:本位和:本位和C Ci i:向高位产生的进位:向高位产生的进位:向高位产生的进位:向高位产生的进位1&CiSiAiBiCi1AiBiCi

67、-1SiCi0000111100000110110001101110100110010111真值表真值表逻辑表达式逻辑表达式 S Si iA Ai iB Bi iC Ci-1 i-1 C Ci iA Ai iB Bi i(A(Ai iB Bi i)C)Ci-1i-13.5.2加法器及其进位链结构加法器及其进位链结构1.1.串行进位串行进位串行进位串行进位( ( ( (行波进位行波进位行波进位行波进位) ) ) )FAFAFAFAS16S15S2S1A16A15A2A1B16B15B2B1C16C15C14C2C1C0 串行进位的并行加法器,把串行进位的并行加法器,把串行进位的并行加法器,把串行

68、进位的并行加法器,把n n个全加器串接起来,可以进行两个个全加器串接起来,可以进行两个个全加器串接起来,可以进行两个个全加器串接起来,可以进行两个n n位数位数位数位数的相加。串行进位又称为行波进位,每一级进位依赖于前一级的进位,即的相加。串行进位又称为行波进位,每一级进位依赖于前一级的进位,即的相加。串行进位又称为行波进位,每一级进位依赖于前一级的进位,即的相加。串行进位又称为行波进位,每一级进位依赖于前一级的进位,即进位信号是逐级形成的。进位信号是逐级形成的。进位信号是逐级形成的。进位信号是逐级形成的。 加法器有串行加法器和并行加法器两种。串行加法器中,只有加法器有串行加法器和并行加法器两

69、种。串行加法器中,只有加法器有串行加法器和并行加法器两种。串行加法器中,只有加法器有串行加法器和并行加法器两种。串行加法器中,只有一个全加器,数据逐位串行送入加法器运算。并行加法器由多个全一个全加器,数据逐位串行送入加法器运算。并行加法器由多个全一个全加器,数据逐位串行送入加法器运算。并行加法器由多个全一个全加器,数据逐位串行送入加法器运算。并行加法器由多个全加器构成,位数取决于机器字长,数据各位同时运算。加器构成,位数取决于机器字长,数据各位同时运算。加器构成,位数取决于机器字长,数据各位同时运算。加器构成,位数取决于机器字长,数据各位同时运算。3.5.2加法器及其进位链结构加法器及其进位链

70、结构2.2.组内并行、组间串行进位组内并行、组间串行进位组内并行、组间串行进位组内并行、组间串行进位1&111&C1C2C3C4C0&A1B1A2B2A3B3A4B4G4P4G3P3G2P2G1P1小组进位信号的逻辑表达式已知已知已知已知C Ci iA Ai iB Bi i(A(Ai iB Bi i)C)Ci-1i-1,令,令,令,令GGi iA Ai iB Bi i,P Pi iA Ai iB Bi i,则有,则有,则有,则有C Ci iGGi iP Pi iC Ci-1i-1,其中,其中,其中,其中GGi i是进位产生函是进位产生函是进位产生函是进位产生函数,数,数,数,P Pi i是进位

71、传递函数。是进位传递函数。是进位传递函数。是进位传递函数。对于第一小组,有对于第一小组,有对于第一小组,有对于第一小组,有C C1 1GG1 1P P1 1C C0 0C C2 2GG2 2P P2 2C C1 1C C3 3GG3 3P P3 3C C2 2C C4 4GG4 4P P4 4C C3 3经变换得,经变换得,经变换得,经变换得,C C1 1 = = GG1 1+ +P P1 1C C0 0C C2 2 = = GG2 2+ +P P2 2C C1 1=G=G2 2+P+P2 2GG1 1+P+P2 2P P1 1C C0 0C C3 3 = G = G3 3+ +P P3 3C

72、 C2 2=G=G3 3+P+P3 3GG2 2+P+P3 3P P2 2GG1 1+P+P3 3P P2 2P P1 1C C0 0C C4 4=G=G4 4+P+P4 4C C3 3=G=G4 4+P+P4 4GG3 3+P+P4 4P P3 3GG2 2+P+P4 4P P3 3P P2 2GG1 1+ + P P4 4P P3 3P P2 2P P1 1C C0 0小组进位信号的逻辑表达式所以对于四个小组,分别有所以对于四个小组,分别有所以对于四个小组,分别有所以对于四个小组,分别有C C4 4GG4 4P P4 4GG3 3P P4 4P P3 3GG2 2P P4 4P P3 3P

73、 P2 2GG1 1P P4 4P P3 3P P2 2P P1 1C C0 0C C8 8GG8 8P P8 8GG7 7P P8 8P P7 7GG6 6P P8 8P P7 7P P6 6GG5 5P P8 8P P7 7P P6 6P P5 5C C4 4C C1212GG1212P P1212GG1111P P1212P P1111GG1010P P1212P P1111P P1010GG9 9P P1212P P1111P P1010P P9 9C C8 8C C1616GG1616P P1616GG1515P P1616P P1515GG1414P P1616P P1515P P

74、1414GG1313P P1616P P1515P P1414P P1313C C1212估算加法时间 若不考虑若不考虑若不考虑若不考虑GGi i、P Pi i形成时间,从形成时间,从形成时间,从形成时间,从C C0 0CCn n的最长延迟时间是的最长延迟时间是的最长延迟时间是的最长延迟时间是2mt2mty y,其中,其中,其中,其中mm为分组的组数。对于本例采用组内并行、组间串为分组的组数。对于本例采用组内并行、组间串为分组的组数。对于本例采用组内并行、组间串为分组的组数。对于本例采用组内并行、组间串行进位链结构的加法器完成一次加法运算的时间为:行进位链结构的加法器完成一次加法运算的时间为:

75、行进位链结构的加法器完成一次加法运算的时间为:行进位链结构的加法器完成一次加法运算的时间为: 从从从从C C0 0CC1616 42t 42ty y=8t=8ty y3.5.2加法器及其进位链结构加法器及其进位链结构3.3.组内并行、组间并行进位组内并行、组间并行进位组内并行、组间并行进位组内并行、组间并行进位组内并行进位链组内并行进位链组内并行进位链组内并行进位链1&111&C1C2C3G1* *C0&P1* *G4P4G3P3G2P2G1P13.5.2加法器及其进位链结构加法器及其进位链结构3.3.组内并行、组间并行进位组内并行、组间并行进位组内并行、组间并行进位组内并行、组间并行进位组间

76、并行进位链组间并行进位链组间并行进位链组间并行进位链1&111&C4C8C12C16C0G4* *P4* *G3* *P3* *G2* *P2* *G1* *P1* *组间并行进位链的逻辑表达式假定假定假定假定GG1 1* * GG4 4P P4 4GG3 3P P4 4P P3 3GG2 2P P4 4P P3 3P P2 2GG1 1 GG2 2* * GG8 8P P8 8GG7 7P P8 8P P7 7GG6 6P P8 8P P7 7P P6 6GG5 5 GG3 3* * GG1212P P1212GG1111P P1212P P1111GG1010P P1212P P1111P

77、 P1010GG9 9 GG4 4* * GG1616P P1616GG1515P P1616P P1515GG1414P P1616P P1515P P1414GG1313P P1 1* * P P4 4P P3 3P P2 2P P1 1P P2 2* * P P8 8P P7 7P P6 6P P5 5P P3 3* * P P1212P P1111P P1010P P9 9P P4 4* * P P1616P P1515P P1414P P1313GGi i* *为组进位产生函数为组进位产生函数为组进位产生函数为组进位产生函数P Pi i* *为组进位传递函数为组进位传递函数为组进位传

78、递函数为组进位传递函数组间并行进位链的逻辑表达式对于上述四个小组,有对于上述四个小组,有对于上述四个小组,有对于上述四个小组,有C C4 4GG1 1* *P P1 1* *C C0 0C C8 8 GG2 2* *P P2 2* *C C4 4 C C1212 GG3 3* *P P3 3* *C C8 8C C1616 GG4 4* *P P4 4* *C C1212将上面的四个逻辑表达式逐级展开,有将上面的四个逻辑表达式逐级展开,有将上面的四个逻辑表达式逐级展开,有将上面的四个逻辑表达式逐级展开,有C C1616 GG4 4* *P P4 4* * GG3 3* *P P4 4* * P

79、 P3 3* * GG2 2* * P P4 4* * P P3 3* *P P2 2* * GG1 1* *P P4 4* * P P3 3* *P P2 2* *P P1 1* *C C0 0估算加法时间若不考虑若不考虑若不考虑若不考虑GGi i、P Pi i形成时间,形成时间,形成时间,形成时间,C C0 0经过经过经过经过 2t2ty y,产生第,产生第,产生第,产生第1 1小组的小组的小组的小组的 C C1 1、C C2 2 、C C3 3及所有组进位产生函数及所有组进位产生函数及所有组进位产生函数及所有组进位产生函数GGi i* *和组进位传递函数和组进位传递函数和组进位传递函数和

80、组进位传递函数P Pi i* *;再经过;再经过;再经过;再经过2t2ty y产生产生产生产生C C4 4、C C8 8、C C12 12 、C C1616;再经过再经过再经过再经过2t2ty y后,才能产后,才能产后,才能产后,才能产生第生第生第生第2 2、3 3、4 4小组内的小组内的小组内的小组内的C C5 5CC7 7、 C C9 9CC1111、 C C1313CC1515。则采用组。则采用组。则采用组。则采用组内并行、组间并行进位链结构的加法器完成一次加法运算的内并行、组间并行进位链结构的加法器完成一次加法运算的内并行、组间并行进位链结构的加法器完成一次加法运算的内并行、组间并行进

81、位链结构的加法器完成一次加法运算的时间为:时间为:时间为:时间为:总的运算时间为:总的运算时间为:总的运算时间为:总的运算时间为:2t2ty y+2t+2ty y+2t+2ty y6t6ty y为产生组进位函数为产生组进位函数为产生组进位函数为产生组进位函数第第第第1 1小组内产生小组内产生小组内产生小组内产生GG1 1* *、P P1 1* *、C C3 3、C C2 2 、C C1 1,不产生,不产生,不产生,不产生C C4 4第第第第2 2小组内产生小组内产生小组内产生小组内产生GG2 2* *、P P2 2* *、C C7 7、C C6 6 、C C5 5,不产生,不产生,不产生,不产

82、生C C8 8第第第第3 3小组内产生小组内产生小组内产生小组内产生GG3 3* *、P P3 3* *、C C1111、C C1010、C C9 9,不产生,不产生,不产生,不产生C C1212第第第第4 4小组内产生小组内产生小组内产生小组内产生GG4 4* *、P P4 4* *、C C1515、C C14 14 、C C1313,不产生,不产生,不产生,不产生C C16163.5.3算术逻辑运算部件算术逻辑运算部件( (ALU) )1.SN741811.SN74181和和和和SN74182SN74182芯片芯片芯片芯片SN74181CnS0S1S2S3MCn+4ABGPSN74182C

83、nG* *P* *F3F2F1F0A3B3A2B2A1B1A0B0Cn+xCn+yCn+zP0G0P1G1P2G2P3G3(1).74181引脚说明n nA A0 0A A3 3:操作数:操作数:操作数:操作数A(A(输入输入输入输入) )n nB B0 0B B3 3:操作数:操作数:操作数:操作数B(B(输入输入输入输入) )n nF F0 0F F3 3:运算结果:运算结果:运算结果:运算结果F(F(输出输出输出输出) )n nC Cn n:低位送来的进位信号:低位送来的进位信号:低位送来的进位信号:低位送来的进位信号( (输入输入输入输入) )n nC Cn+4n+4:向高位产生的进位

84、信号:向高位产生的进位信号:向高位产生的进位信号:向高位产生的进位信号( (输出输出输出输出) )n nMM、S S0 0S S3 3:工作方式选择:工作方式选择:工作方式选择:工作方式选择( (输入输入输入输入) )n nGG:小组进位产生函数:小组进位产生函数:小组进位产生函数:小组进位产生函数( (输出输出输出输出) )n nP P:小组进位传递函数:小组进位传递函数:小组进位传递函数:小组进位传递函数( (输出输出输出输出) )n nA AB B:符合比较:符合比较:符合比较:符合比较( (输出输出输出输出) )(2).74181功能表0000000100100011010001010

85、110011110001001101010111100110111101111A减1AB减1AB减1减1A加(A+B)AB加(A+B)A减B减1A+BA加(A+B)A加BAB加(A+B)A+BA加AAB加AAB加AAAA+BAB逻辑0ABBABABA+BABBAB逻辑1A+BA+BAAABA+B逻辑1A+BBABA+BABABBA+B逻辑0ABABAAA+BA+B减1A加AB(A+B)加ABA减B减1AB减1A加ABA加B(A+B)加ABAB减1A加A(A+B)加A(A+B)加AA减1S3S2S1S0逻辑运算(M=1)逻辑运算(M=1)算术运算(M=0)算术运算(M=0)负逻辑正逻辑(3).7

86、4182引脚说明n nGG1 1GG4 4:小组的进位产生函数:小组的进位产生函数:小组的进位产生函数:小组的进位产生函数( (输入输入输入输入) ),来自,来自,来自,来自7418174181 的输出的输出的输出的输出n nP P1 1P P4 4:小组的进位传递函数:小组的进位传递函数:小组的进位传递函数:小组的进位传递函数( (输入输入输入输入) ),来自,来自,来自,来自7418174181 的输出的输出的输出的输出n nC Cn n:低位送来的进位信号:低位送来的进位信号:低位送来的进位信号:低位送来的进位信号( (输入输入输入输入) )n nC Cn+xn+x、C Cn+yn+y、

87、C Cn+zn+z:向高位产生的进位信号:向高位产生的进位信号:向高位产生的进位信号:向高位产生的进位信号( (输出输出输出输出) )n nGG:大组的进位产生函数:大组的进位产生函数:大组的进位产生函数:大组的进位产生函数( (输出输出输出输出) )n nP P:大组的进位传递函数:大组的进位传递函数:大组的进位传递函数:大组的进位传递函数( (输出输出输出输出) )3.5.3算术逻辑运算部件算术逻辑运算部件( (ALU) )2.162.16位串行进位位串行进位位串行进位位串行进位ALUALUSN74181( (4) )SN74181( (3) )SN74181( (2) )SN74181(

88、 (1) )F16F15F14F13F12F11F10F9F8F7F6F5F4F3F2F1A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1B16B15B14B13B12B11B10B9B8B7B6B5B4B3B2B1C0C4C8C12C163.5.3算术逻辑运算部件算术逻辑运算部件( (ALU) )3.163.16位并行进位位并行进位位并行进位位并行进位ALUALUSN74181( (4) )SN74181( (3) )SN74181( (2) )SN74181( (1) )F16F15F14F13F12F11F10F9F8F7F6F5F4F3F2F1A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1B16B15B14B13B12B11B10B9B8B7B6B5B4B3B2B1C0C4C8C12C16SN74182G4* *P4* *G3* *P3* *G2* *P2* *G1* *P1* *GP

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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