当前位置:
文档之家› 3.2定点加、减法运算-计算机系统原理-刘均-清华大学出版社
3.2定点加、减法运算-计算机系统原理-刘均-清华大学出版社
◦ VF=S1⊕S2 ◦ 这种判断方法,运算器需要增加一位,来
扩展参加运算的数据的符号位。
3.2.1补码定点加、减法
3)利用数据编码的最高位(符号位)和次高位(数 据最高位)的进位状况判断
◦ 两个补码数进行加减时,若最高数值位向符号位 的进位值Cn-1与符号位产生的进位Cn输出值不一样, 则表明产生了溢出。这种溢出判断的逻辑表达式 为:
◦ 解:[X]补=0.1010101,[Y]补=1.1101101,[-Y]补 =0.0010011
◦ [X+Y]补=0.1010101+1.1101101=0.1000010 ◦ [X-Y]补=0.1010101+0.0010011=0.1101000
3.2.1补码定点加、减法
[例3-2]在8位补码机中计算40-12。
Y]补的加法运算,并设置标志寄存器中溢出、进位等标志。 ◦ ④控制信号F->X有效,将加法器F的输出结果送入寄存器X。减法运算结束。
3.2.2补码加减法运算器
利用图示的补码加减法运算器实现加法[X+Y]补的逻辑操作步骤如下:
◦ ①将运算数据[X]补输入寄存器X,[Y]补输入寄存器Y。 ◦ ②控制信号X->F有效,Y->F有效,且1->F无效,将[X]补和[Y]补送入加法器F的两个输入端。 ◦ ③加法器完成[X+Y]补的加法运算,并设置标志寄存器中溢出、进位等标志位。 ◦ ④控制信号F->X有效,将加法器F的输出结果送入寄存器X。加法运算结束。
◦ 补码的加减法公式是: ◦ [X+Y]补=[X]补+[Y]补 ◦ [X-Y]补=[X]补+[-Y]补 ◦ 公式的正确性可以从补码的编码规则得到
证明。在补码编码制方法下,补码的减法 运算统一采用加法处理,只需用加法器就 可以实现加减运算,有效地减少了硬件的 数量。
3.2.1补码定点加、减法
[例3-1]X=+0.1010101B,Y= -0.0010011B, 在8位补码机中计算[X+Y]补和[X-Y]补。
3.2.1补码定点加、减法
1)根据操作数和运算结果符号位判断 ◦ 当两个同号数相加或两个异号数相减时,若运算结果与被加 数(被减数)的符号不同时,说明发生了溢出。而同号数相 减或异号数相加,绝对不会发生溢出。如果用Xs、Ys、Zs分 别表示两个操作数的符号和运算结果的符号,则溢出判断电 路的逻辑表达式为:
利用图示的补码加减法运算器实现减法[X-Y]补的逻辑操作步骤如下:
◦ ①将运算数据[X]补输入寄存器X,[Y]补输入寄存器Y。 ◦ ②控制信号X->F有效,Y->F有效,将[X]补和[Y] 补送入加法器F的两个输入端。 ◦ ③控制信号1->F有效,加法器对接收到的[X]补、[Y] 补、进位信号1相加,完成[X]补和[-
◦ VF= XsYsZs+ XsYsZs ◦ 这种方法不仅需要结果的符号位参加判断,还需要保持操作
数的编码。
3.2.1补码定点加、减法
2)采用变形补码(双符号位)判断法
◦ 采用变形补码时,正数的符号位是00,负 数的符号位是11,若运算结果的符号位为 01或10,则发生了溢出。
◦ 若用S1和S2 表示运算结果的两个符号位,则 溢出判断电路的逻辑表达式为:
◦ 解:[40]补=00101000 ◦ [-12]补=11110100 ◦ [40-12]补
=00101000+11110100=00011100=[28]补
3.2.1补码定点加、减法
2.补码加减法运算溢出及检测 在计算机中,每种数据编码都有其数据
表示范围。在运算中发生了数据溢出, 则运算结果就不正确了。 因此,运算器中应设置溢出判断线路和 溢出标志位。 补码加减法运算时溢出的判断通常有以 下几种方法:
3.2.2补码加减法运算器
图中,F是二进制并行加法器。寄存器X和Y用 于存放运算的操作数和运算结果。进位控制 信号1->F,使加法器接收进位输入,实现和 的末位+1操作。X->F控制信号将寄存器X中的 数据送入加法器。Y->F控制信号将寄存器Y中 的数据送入加法器的另一个输入端。Y->F控 制信号将寄存器Y中的数据取反后送入加法器。 当1->F和Y->F同时有效时,实现了Y的取补操 作。F->X将加法器的运算结果送到X寄存器。
第3章 运算器和运算方法
3.2定点加、减法运算
3.2定点加、减法运算
带符号数据的编码方法有原码、补码简单化,计算机中广泛采用 补码进行加减运算。补码运算的特点是 数据位和符号位一起运算。
3.2.1补码定点加、减法
1.补码定点加减法运算
◦ VF=Cn-1⊕Cn ◦ 这种办法不需要增加加法器电路的位数,又不需
保持操作数的编码,所以实现比较简单。
3.2.1补码定点加、减法
[例3-3]设X=+1011B,Y=+1001B,在5位补码机中计算 [X+Y]补。
◦ 解:[X]补=01011,[Y]补=01001,[X+Y]补=10100 ◦ 采用操作数和运算结果符号位判断方法,Xs=0,Ys=0,Zs=1,
所以,VF=1,结果溢出。 ◦ 采用变形补码运算时,[X]补=001011 ,[Y]补=001001,[X+Y]补
=010100,结果的符号位为01,所以结果溢出。
◦ 采用第三种方法判断,次高位运算时产生进位,而最高位运 算时未产生进位,所以结果溢出。
3.2.2补码加减法运算器
补码加减法运算器的组成包括加法器、暂时保存操 作数和运算结果的寄存器,以及记录运算结果特征 信息的标志寄存器。图3.12是补码加减法运算器的逻 辑电路图。(动画演示文件名:虚拟机7-补码加减 运算器.swf)