当前位置:文档之家› 计算机组成原理6-运算方法-加法

计算机组成原理6-运算方法-加法


0 0010原 1 0011原 1 1110补 0 0011原 1 0011原 1 1101补
例. 保留4位尾数: 0 00100原
1 00101原 1 11011补

计算机内部的主要运算其实都只是加法运算,
其余的减法、乘法、除法等种种运算都只是加法
运算的应用罢了。 计算机内部都是以二进制加法来做加法运算的,
所以这里讲解的加法器的设计,只是讨论二进制 加法器的设计。
所谓半加器的意思,顾名思义就是只有一 半的加法运算功能而已,也就是说半加器并不 考虑前级进位的情况。由于这类加法器没有考
溢出将使结果的符号位产生错乱。
溢出判断
在什么情况下可能产生溢出?
例.数A有4位尾数,1位符号FA 数B有4位尾数,1位符号FB 结果符号Fh 符号位参 加运算
符号位进位Cf
尾数最高位进位C
1. 硬件判断逻辑一(FA、FB与Fh的关系)
2. 硬件判断逻辑二(Cf与C的关系)
3. 硬件判断逻辑三(双符号位)
将[Y]补变补
[Y]补
[–Y]补:
不管Y补为正或负,将其符号连同尾数一起各位 变反,末位加1。
例. 求[X – Y]补
[X]补=0 0100 [Y]补=1 1011 [-Y]补=0 0101 0 1001 (+9补码) 2) X= –4 [X]补=1 1100 Y= 5 [Y]补=0 0101 [-Y]补=1 1011 (–9补码) 1 0111 1) X= 4 Y= –5
Bn
An
Bn
An
Bn
全加器 Cn Cn-1 Sn
全加器 Cn Cn-1 Sn
全加器 Cn Cn-1 Sn
Cn
全加器 Sn
Cn-1
C0
C3
S3
S2
S1
S0
D
An FA Cn
Q
CK
Bn Cn-1 Sn
超前进位并行加法器
Cn+1
Fn …… F1 ∑
An…… A1
Bn……B1 C0
定点补码加减运算
数用补码表示 符号位参加运算
主要适用场合:① 串/并转换 ② 判别、置位、 复位(移至最低位,再进行判别或修改,硬件 代价较小)。
2. 算术移位 基本原则:算术移位中必须保持符号位不变, 若左移过程中出现溢出,可采用双符号位方案。 1) 原码:数符不变,空位补0
左移1位 00.1010 01.0100
(常用于除法运算)
1. 硬件判断逻辑一(FA、FB与Fh的关系)
(2)A=10 B=7 10+7 :0 1010 0 0111 1 0001 溢出= FA FB Fh (4)A= -10 B= -7 1 -10+(-7): 0110 1 1001 0 1111 FA FB Fh
2. 硬件判断逻辑二(Cf与C的关系) 符号位进位Cf尾数最高位进位C
符号位 数值位
1.1010 右移 1.0101
(常用于乘法运算)
01.1000 00.1100
右移
2) 补码-----正数
(1)单符号位 :
左移 右移 右移
(2)双符号位:
左移 左移 右移 右移
0 0111 0 1110 0 0111 0 0011
移位规则: 数符不变
Cn
Sn
半加器和全加器的加法器电路,原则上都只
能处理一个位的加法运算。也就是说不管是半加
器还是全加器,在同一时间都只能做一个位的相
加。因此,当有两个n位数要相加时,就必须将n
个全加器“并起来”一起做加法运算,这种将全
加器并起来的电路就称为加法器。
A3 B3
A2 B2
A1 B1
A0 B0
An
Bn
An
00 0111 00 1110 01 1100 00 1110 00 0111
(单:符号位不变;双:第一符号位不变)。
空位补0 (右移时第二符号位移至尾数最高位)。
3)补码----负数
(1)单符号位 : (2)双符号位:
左移
右移 右移
1 1011 1 0110 1 1011 1 1101
左移
右移 右移
4) X= –3 [X]补=1 1101 Y= 2 [Y]补=0 0010
3) X= 3 [X]补=0 0011 Y= –2 [Y]补=1 1110 0 0001 (+1补码)
(–1补码)
1 1111
补码加减运算规则
[X+Y]补=[X]补+[Y]补
[X-Y]补=[X]补+[-Y]补
操作为“减”时,将减转换为加。 即将减数变补后与被减数相加。
运算,所以就将这种加法器称为全加器。
前级进位 Cn-1 0 0 0 0
被加数 An 0 0 1 1
加 数 Bn 0 1 0 1
结果:F=Cn-1+An+Bn=Cn Sn Cn Sn 0 0 0 1 0 1 1 0
1
1 1 1
0
0 1 1
0
1 0 1
0
1 1 1
1
0 0 1
An
FA Bn Cn-1
补码加减运算规则
[X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补+[-Y]补
操作为“加” 时,两数直接相加。
例. 求[X+Y]补
1) X=3 [X]补=0 0011 Y=2 [Y]补=0 0010
(+5补码)
0 0101
2) X= –3 [X]补=1 1101 Y= –2 [Y]补=1 1110 1 1011 (– 5补码)
+A:打开控制门,将A送∑。 +B:打开控制门,将B送∑。 +B:打开控制门,将B送∑。 +1:控制末位加 1 。 ∑ A +1
(2)补码加减运算器粗框

加法器输出端:
∑ A:打开控制门,将结 果送A输入端。 CPA:将结果打入A。 +A A B B
+B +B
A(X补)
CPA
B(Y补)
溢出判别
概念:运算结果超出规定字长的机器数 的取值范围,称为溢出(overflow)。 ① 正溢:超过最大正数; ② 负溢:超出最小负数
(1)A=3 B=2 (2)A=10 B=7 3+2: 0 0011 10+7: 0 1010 0 10111 Cf=0 0 0010 Cf=0 C =0 0 0101 正确 C =1 1 0001 正溢 (3)A= -3 B= -2 (4)A= -10 B= -7 1 1 -3+(-2): 1101 -10+(-7): 0110 Cf=1 11 11110 Cf=1 11 1001 C =1 1 1011 正确 C =0 0 1111 负溢 (5)A=6 B= -4 (6)A= -6 B=4 0 6+(-4): 0110 -6+4: 1 1010 Cf=1 11 11100 Cf=0 0 0100 C =1 0 0010 正确 C =0 1 1110 正确
(1)A=3 B=2 (2)A=10 B=7 3+2: 0 0011 10+7: 0 1010 0 0010 0 0111 0 0101 正确 1 0001 正溢 (3)A= -3 B= -2 (4)A= -10 B= -7 1 1 -3+(-2): 1101 -10+(-7): 0110 1 1110 1 1001 1 1011 正确 0 1111 负溢 (5)A=6 B= -4 (6)A= -6 B=4 0 6+(-4): 0110 -6+4: 1 1010 1 1100 0 0100 0 0010 正确 1 1110 正确
1. 硬件判断逻辑一(FA、FB与Fh的关系) 溢出= FA FB Fh FA FB Fh
2. 硬件判断逻辑二(Cf与C的关系) 溢出= Cf C
3. 硬件判断逻辑三(双符号位)
(1)3+2: (2)10+7: 00 0011 第一符号位Fh1 00 1010 00 0010 00 0111 00 0101 正确 01 0001 (3)-3+(-2): (4)-10+(-7): 11 1101 第二符号位Fh2 11 0110 11 1110 11 1001 11 0111 正确 10 1111 (5)6+(-4): (6)-6+4: 00 0110 11 1010 11 1100 00 0100 00 0010 正确 11 1110
运 算 方 法
计算机进行算术运算的特点:

(1)所有数据都是用二进制数位形式来表示的。
(2)在机器内部,数是以编码形式即机器数来表示的。 (3)机器运算规模有限,因而机器运算就要解决运算方 法、数据表示格式及数据长度的选取、规定等问题。 (4)用计算机进行运算时,都要把复杂的运算,简化为 一系列的、最基本的运算才能实现。计算机可以实现 的基本运算有算术运算(加、减、乘、除等)和逻辑运算 (与、或、异或等)。
虑到所有情况的加法运算,好像缺少了什么似
的不全,所以称为半加器。
被 :F=A+B=CS C S 0 0 0 1 0 1 1 0
A B
S
An HA Bn
Cn Sn
C
由于半加器电路只能处理没有前级进位的加法 运算,但在二进制多个位的加法运算中,除了最右 边一个位不会有前级进位外,其余的位都有可能出 现前级进位,因此必须在半加器电路中再增加前级 进位的输入端,虽然只比半加器电路多了个前级进 位输入端,但是可以处理全部情况所有可能的加法
11 0110 10 1100 11 0110 11 1011
移位规则 数符不变 (单:符号位不变;双:第一符号位不变)。
相关主题