第9讲 加法器和数值比较器4.3.4 加法器◆加法器是计算机系统中最常用的算术运 算单元,它是计算机CPU中算术运算器 的基本单元。 ◆其他算术运算如减、乘、除等都可以由 加法运算演变而来。 ◆加法器一次能计算的数据的长度就是加 法器的长度,常用的8、16、32位等,当 然最简单的是1位的加法器。1
一、1位加法器
半加器
◆A、B为两个1位数,不考虑来自低位的进位,A、 B相加的结果为S,产生的进位为CO,称半加。A 0 B 0 S 0 CO 0
0 1 1
1 0 1
1 1 0
0 0 1
S=A B CO=A B
全加器◆如果将两个对应位的加数和来自低位的进位相加, 则为全加。 CI A B S CO
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 1 1 0 1 0 0 1
0 0 0 1 0 1 1 1
S=A B CI CO=AB+ACI+BCI = CI( A+B )+AB 若不化为最简: CO= CI( A B )+AB
全加器: 半加器:
S=A B CI CO=AB+ACI+BCI= CI( A B )+AB
S=A B CO=A B
由半加器构 成全加器
AB
半 加 器半 加 器
s' c' s' c' S 1
A BA BA B CI CI (A B) CO CI( A B )+AB
CI
双全加器74LS183:Vcc 管 脚 图 1 输甩 输 出空 出 2A 2B 2CI 2CONC 2S 输入 8 7
14 13 12 11 10 9
SN74LS1832 3 4 5 6 1A NC 1B 1CI 1CO 1S GND 甩 输入 空 输入 输出
二、 多位加法器1.串行进位加法器 若有多位数相加,则可采用并行相加串行进位的 方式来完成。例如,有两个4位二进制数A3A2A1A0 和B3B2B1B0相加,可以用4个全加器来构成,其原 理图如下图所示。A0 B0C-10 C0CI
A1 B1C1CI
A2 B2C2CI
A3 B3CI
CO
CO
CO
CO
C3
S0
S1
S2
S3
低位的进位输出端接高位的进位输入端,因此, 任一位的加法运算必须在低位的运算完成之后才 能进行,这种进位方式称为串行进位。 串行进位的特点是电路简单,缺点是运算速度慢。
2.超前进位加法器为了提高运算速度,必须设法减少或消除由于 进位信号逐级传递所消耗的时间。 高位的进位输入信号是否有可能只由加数和被 加数来判断,而与低位的进位无关? 全加器的输出:
S A B CIi i ii i i i
i
CO A B ( A B )CIi
i
定义两个中间变量Gi 和 Pi :
G A B P A B 则:CO G PCIi i ii i ii i i
i
CO G PCIi i i
i
当Ai=Bi=1时,Gi=1,COi=1,即产生进位,所以Gi称 为进位生成函数。 若Pi=1, 即Ai+Bi=1时,COi= Gi + CIi,低 位的进位能传送到高位的进位输出端,故Pi称为进位传送 函数。
这两个函数都与进位信号无关。 由上式可得各进位位的分步式:CO0=G0+P0CI0 CO1= G1+P1CI1 =G1+P1G0+P1P0CI0
CO2=G2+P2G1+P2P1G0+P2P1P0CI0CO3=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0CI0 可见进位信号只与函数Gi、Pi和CI0有关,而CI0是最低位 的进位输入,其值为0,所以各位进位信号是可以并行产生的。
根据超
前进位概念构成的集成4位超前进位加 法器74LS283的逻辑图见P137。逻辑符号如下:
S3 S2 S1 S0
CO
74LS283
CIB3 B2 B1 B0
A3 A2 A1 A0
4.3.5 数值比较器 比较大小的规则(三条):1. 先从高位比起,高位大的,数值一定大; 2. 若高位相等,则需再比较低位数, 最终结果由低位的比较结果决定; A=B 3. 比较结果应有三个标志: A<B A>B10
数值比较器示意图:E(equal:A=B) 数值 S(small:A<B) L(large:A>B)
A B
比较器
一、1位数值比较器设计: 输入 1.列出真值表:输入 a 0 0 1 1 b 0 1 0 1 L a>b 0 0 1 0 输出 E a=b 1 0 0 1
A=aB=b
S a<b 0 1 0 012
1位数值比较器真值表输入 a b L a>b 0 0 输出 E a=b S a<b 0
0 0 1 1
0 1 0 1
10 0
10 0
10
1
2.由真值表写逻辑式:
E ab ab a b (同或运算)S ab
L ab13
3.画出逻辑图: a 1a&
b
1b
S 1 (a<b) E (a=b) & L (a>b) ab 比 较 器 S
ab
E ab ab a b
a 逻辑符号:
EL14
b
二、多位数值比较器输入:
A=a3a2a1a0B=b3b2b1b0 E (A=B) S (A<B) L (A>B) 自高而低, 逐位比较。15
输出:
比较规则:
四位数值比较器的真值表:a3 b3
比 较 输 入 a2 b2 a1 b1 a0 b0 a1> b1
输 出L E S (A>B) (A=B) (A<B) 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0
a3 >b3 a3 <b3 a3=b3 a2>b2 a3=b3 a2<b2 a3=b3 a2=b2
a3=b3 a2=b2 a3=b3 a 2=b2a3=b3 a2=b2 a3=b3 a2=b2
a1<b1 a1= b1a 1= b 1 a 1= b 1
a0 >b0a0 <b0 a0 =b0
0 10 0
0 00 1
1 01 16 0
根据比较规则,可得四位数值比较 器逻辑式:A=B: E A B
A<B:
(a3 b3 )(a2 b2 )(a1 b1 )(a0 b0 ) (a3 b3 )(a2 b2 )(a1 b1 )a0b0
S a3b3 (a3 b3 )a2b2 (a3 b3 )(a2 b2 )a1b1A B: L E S (备注:没考虑次低位的比较结果)17
4位数码比较器CC14585
A3 A2 A1 C A0 C YA<B B3 1 4 YA=B B2 5 Y B1 8 A>B B0 I(A<B) 5 I(A=B) I(A>B)
四位集成数值比
1 数据输入端A3 B2
较器74LS85: UCC
A2
A1
B1
A0
B0
A3 B3
B2 (A=B)L
A2
A1
B1
A0 B0
(A<B)L
(A B)L A<B A=B A<B
(A B)L A B A=B A<B GND B3 (A<B)L (A=B)L
1
3 比较结果 低位结果输入 19 (向高位输出) 2
例1:采用两片74LS85构成七位二进制数值 比较器。 必 接 低位片 高位片 好A>B
(2) (A>B)L (A=B)L A=B 74LS85 (A<B)L A<B A3A2 A1 A0 B3B2 B1B0a5 a6 A a4 b6 B b5 b4
A>B
(A>B)L (A=B)L A=B 74LS85 (A<B)L A<B A3A2 A1 A0 B3B2 B1B0
(1)
“1”
a3 a1 a2
b3 b1
a0 b2
b020
采用两片CC14585构成七位二进制数值比较器a3 a2 a1 a0 b3 b2 b1 b00 1 1
A3 A2 A1 C A0 C YA<B B3 1 4 YA=B B2 5 Y B1 8 A>B B0 I(A<B) 5 I(A=B) I(A>B) (1)
a7 a6 a5 a4 b7 b6 b5 b41
A3 A2 A1 C A0 C YA<B B3 1 4 YA=B B2 5 Y B1 8 A>B B0 I(A<B) 5 I(A=B) I(A>B) (2)
YA<B YA=B YA>B
CC14585与74LS85内部电路结构不同,扩展 输入端的用法也不完全一样!21