1. 首页
  2. 文档大全

第4章运算方法与运算器-fjw

上传者:9****8 2022-07-19 22:17:18上传 PPT文件 7.36MB
第4章运算方法与运算器-fjw_第1页 第4章运算方法与运算器-fjw_第2页 第4章运算方法与运算器-fjw_第3页

《第4章运算方法与运算器-fjw》由会员分享,可在线阅读,更多相关《第4章运算方法与运算器-fjw(154页珍藏版)》请在文档大全上搜索。

1、2第第4 4章章 运算方法与运算器运算方法与运算器 定点数的加减运算及实现定点数的加减运算及实现4.14.1 定点运算器的组成与结构定点运算器的组成与结构 定点数的乘法运算及实现定点数的乘法运算及实现4.24.2 定点数除法运算及实现定点数除法运算及实现4.34.34.44.4 浮点运算及运算器浮点运算及运算器4.54.5 浮点运算器举例浮点运算器举例 4.64.6 本章小结本章小结34.1 4.1 定点数的加减运算及实现定点数的加减运算及实现 补码加减运算与运算器补码加减运算与运算器 机器数的移位运算机器数的移位运算 移码加减运算与判溢移码加减运算与判溢 十进制加法运算十进制加法运算一一二二

2、三三四四4一、补码加减运算与运算器一、补码加减运算与运算器 补码加减运算方法补码加减运算方法 补码加减运算的溢出判断补码加减运算的溢出判断2 2 补码加减运算器的实现补码加减运算器的实现3 31 151、补码加减运算方法、补码加减运算方法v补码的补码的加法加法运算公式运算公式: X+Y补补 = X补补 + Y补补证明:证明:X补补 = 2n+1 + X (mod 2n+1)Y补补 = 2n+1 + Y (mod 2n+1)X补补 + Y补补 = 2n+1 + X + 2n+1 + Y (mod 2n+1)= 2n+1 + (X + Y) (mod 2n+1)= X+Y补补 (mod 2n+1)

3、v补码的补码的减法减法运算公式运算公式: X-Y补补 =X+(-Y)补补 = X补补 + -Y补补61 1、补码加减运算方法、补码加减运算方法v补码的加减运算的公式是补码的加减运算的公式是: X+YX+Y补补 = X= X补补 + Y+ Y补补 X-YX-Y补补 = X= X补补 + -Y+ -Y补补v特点:特点: 使用补码进行加减运算,使用补码进行加减运算,符号位和数值位一样参符号位和数值位一样参加运算加运算。 补码的减法可以用加法来实现补码的减法可以用加法来实现,任意两数之差的,任意两数之差的补码等于被减数的补码与减数相反数的补码之和补码等于被减数的补码与减数相反数的补码之和 。v 注意:

4、注意:该公式不适合任何其他机器数编码(原码、反该公式不适合任何其他机器数编码(原码、反码、移码)。码、移码)。7求补运算:求补运算:YY补补 -Y-Y补补 v 求补规则:求补规则:将将YY补补包括符号位在内每一位取反,末包括符号位在内每一位取反,末位加位加1 1。v 若若YY补补 = Y= Y0 0 ,Y Y1 1Y Yn n ,则:,则:1YYY-Yn10 补补1YYY-Yn1000 . 0 补补8补码加减运算举例补码加减运算举例v例:已知例:已知X=+1011X=+1011,Y=-0100Y=-0100,用补码计算,用补码计算X+YX+Y和和X-YX-Y。写出补码:写出补码: X X补补

5、=0,1011 Y=0,1011 Y补补 =1,1100 =1,1100 -Y -Y补补 =0,0100 =0,0100 计算:计算: 92 2、补码加减运算的溢出判断、补码加减运算的溢出判断v 例:例:X=+1000X=+1000,Y=+1001Y=+1001,求,求X+YX+Y;v 当运算结果超出机器数的表示范围时,称为当运算结果超出机器数的表示范围时,称为溢出溢出。计。计算机必须具备检测运算结果是否发生溢出的能力,否算机必须具备检测运算结果是否发生溢出的能力,否则会得到错误的结果。则会得到错误的结果。v 对于加减运算,对于加减运算,可能发生溢出的情况可能发生溢出的情况:同号(两数):同号

6、(两数)相加,或者异号(两数)相减。相加,或者异号(两数)相减。v 确定发生溢出的情况:确定发生溢出的情况: 正数相加,且结果符号位为正数相加,且结果符号位为1 1; 负数相加,且结果符号位为负数相加,且结果符号位为0 0; 正数负数,且结果符号位为正数负数,且结果符号位为1 1; 负数正数,且结果符号位为负数正数,且结果符号位为0 0;10常用的判溢方法(补码加减运算)常用的判溢方法(补码加减运算))SYXSYX(SUB/ADD)SYXSYX(SUB/ADDVffffffffffff 正数相加,且结果符号位为正数相加,且结果符号位为1 =0:做加法;:做加法; =1:做减法:做减法 SUB/

7、ADDSUB/ADD(1 1)单符号位判溢方法)单符号位判溢方法负数相加,且结果符号位为负数相加,且结果符号位为0正数负数,且结果符号位为正数负数,且结果符号位为1负数正数,且结果符号位为负数正数,且结果符号位为0X补补 = Xf X1XnY补补 = Yf Y1YnXY补补 = Sf S1SnV=1:溢出溢出11常用的判溢方法(补码加减运算)常用的判溢方法(补码加减运算)补码加减运算符号位及进位的真值表补码加减运算符号位及进位的真值表 XfYfC1SfCfV说明说明加加法法0000000无溢出无溢出0001101正溢出正溢出0110011负溢出负溢出0111110无溢出无溢出减减法法10100

8、00无溢出无溢出1011101正溢出正溢出1100011负溢出负溢出1101110无溢出无溢出SUB/ADD符号位运算产生的进位符号位运算产生的进位最高有效位运算产生的进位最高有效位运算产生的进位12常用的判溢方法(补码加减运算)常用的判溢方法(补码加减运算)(2 2)进位判溢方法)进位判溢方法 当当最高有效位产生的进位和符号位产生的进位不最高有效位产生的进位和符号位产生的进位不同同时,加减运算发生了溢出。时,加减运算发生了溢出。 V VC C1 1CCf fv 例:例: X=+1000X=+1000,Y=+1001Y=+1001,求,求X+YX+Y;v XX补补 =0,1000 Y=0,10

9、00 Y补补 =0,1001 =0,1001 C C1 1= =1 1,C Cf f=0:溢出:溢出13常用的判溢方法(补码加减运算)常用的判溢方法(补码加减运算)(2 2)双符号位判溢方法)双符号位判溢方法 X X和和Y Y采用双符号位补码参加运算,正数的双符号采用双符号位补码参加运算,正数的双符号位为位为0000,负数的双符号位为,负数的双符号位为1111;当;当运算结果的两运算结果的两位符号位符号S Sf1f1 S Sf2f2不同时不同时(0101或或1010),发生溢出。),发生溢出。 V V S Sf1f1 S Sf2f2= X= Xf f Y Yf f CCf f S Sf f S

10、 Sf1f1 S Sf2f2=01=01,则正溢出;,则正溢出;S Sf1f1 S Sf2f2=10=10,则负溢出。,则负溢出。14双符号位判溢方法举例双符号位判溢方法举例v 例:用补码计算例:用补码计算X+YX+Y和和X-YX-Y (1 1)X=+1000X=+1000,Y=+1001Y=+1001(2 2)X=-1000X=-1000,Y=1001Y=1001Sf1 Sf2=01,正溢出正溢出Sf1 Sf2=11,无溢出无溢出Sf1 Sf2=00,无溢出无溢出Sf1 Sf2=10,负,负溢出溢出153 3、补码加减运算器、补码加减运算器163 3、补码加减运算器的实现、补码加减运算器的实

11、现v 核心部件核心部件:一个普通的二进制并行加法器。:一个普通的二进制并行加法器。v A A:累加器,存放:累加器,存放XX补补;B B:寄存器,存放:寄存器,存放YY补补;v 取反电路取反电路: :v ADD/SUB =0ADD/SUB =0时,补码加法器,将时,补码加法器,将B B寄存器直接送入并行寄存器直接送入并行加法器加法器; ;v ADD/SUB =1ADD/SUB =1时,补码减法器,将时,补码减法器,将B B取反送入并行加法器,取反送入并行加法器,同时,并行加法器的最低位产生进位,即同时,并行加法器的最低位产生进位,即B B取反加取反加1 1,此时并行加法器的运算相当于此时并行加


文档来源:https://www.renrendoc.com/paper/212712185.html

文档标签:

下载地址