2009-7-30 卢庆莉 编写四?比较器
1?一位二进制数值比较器讨论,A和 B相比较的情况有三种可能在一些数字系统中,经常要求比较两个数字的大小。
为完成这一功能所设计的这种电路称为 数值比较器 。
2009-7-30 卢庆莉 编写功能表:
用与非门实现,并且低电平有效。
2009-7-30 卢庆莉 编写
2?四位二进制比较器 (典型芯片 74LS85)
( 1)管脚介绍
A3 ~ A0 和 B3 ~ B0,4位二进制数;
FA>B?FA=B?FA<B → 比较结果;
( A>B)i? ( A=B)i? ( A>B)i三个级联输入端。
2009-7-30 卢庆莉 编写
( 2)功能表单块或多块串联时的功能表
2009-7-30 卢庆莉 编写多块并联时的功能表单块或多块串联时的功能表
2009-7-30 卢庆莉 编写
( 3)工作原理
① A3≠ B3,则可直接得出比较结果。
A3> B3,FA>B = 1,FA=B = FA<B = 0 ;
A3< B3,FA<B = 1,FA=B = FA>B = 0 ;
由功能表可以看出进行数据比较时,先比较最高位,最高位相等再比较次高位,依次类推。
② A3= B3,再比较低位 A2?B2,依次类推。
③ A3 ~ A0 = B3 ~ B0,看级联输入
( A>B)i? ( A=B)i? ( A>B)i。
2009-7-30 卢庆莉 编写
a) 单片 (连接)
( A>B)i= 0,( A=B)i = 1,( A>B)i = 0
——表示单片比较器( A>B)i?( A=B)i? ( A>B)i
不起作用。
2009-7-30 卢庆莉 编写
b)多片连接 (扩展比较位数)
例如:用两片 7485可实现两个八位二进制数的大小比较。实现的方法有两种:
1)串联比较方式图 4.2.30 两片 7485比较两个八位二进制数
2009-7-30 卢庆莉 编写缺点,串联方式的比较位数的扩展,在比较位数较多时,延迟较大,工作速度慢。为提高速度,减少延迟可采用并联方式。
2)并联比较方式
● 用五片 7485构成两个十六进制数比较器。
● 工作原理分析
管脚连接
原理分析
2009-7-30 卢庆莉 编写图 4.2.31 并联方式比较两个十六位二进制数
2009-7-30 卢庆莉 编写
● 五位比较器强调,对于 5位比较器的实现,主要考虑在( A>B)i?
( A=B)i? ( A<B)i级联上做文章,不要在 FA>B,FA=B,
FA<B 上考虑。
习题 4-16
2009-7-30 卢庆莉 编写
4.16 解,
2009-7-30 卢庆莉 编写五?加法器全加器种类有:一位全加器,7480;
二位全加器,7482?74182;
四位全加器,7483?74183等。
加法器运算是算术运算中最基本的运算,实现这种运算通常采用 半加器 和 全加器 。
2009-7-30 卢庆莉 编写
1?四位串行进位加法器图 4.2.33 串行进位四位全加器
( 1)分析
A0~A3:被加数,B0~B3,加数。
CI:低位向高位的进位,CO:进位输出。
2009-7-30 卢庆莉 编写
( 2)缺点:运算速度不高。
由于电路的和要等待逐级的 CI,则使电路的运算速度降低。
为了提高速度,必须考虑减少由于进位信号的逐级传递所耗费的时间,由此人们设计出超前进位的四位加法器。 典型芯片为 74283
2?四位超前进位全加器
( 1)管脚介绍
A0~A3:被加数,B0~B3,加数,
S0~S3:输出和,CO:进位输出,
CI:低位向高位的进位。
2009-7-30 卢庆莉 编写
( 2)分析由于 Si=Ai⊕ Bi⊕ Ci–1,
Ci=AiBi+ AiCi–1+ BiCi–1
则 S0 = A0⊕ B0⊕ CI = f0 ( A0,B0,CI )
C0 = A0B0+A0CI+B0CI = g0 ( A0,B0,CI )
S1 = A1⊕ B1⊕ C0 = f1 ( A1,B1,C0 )
= f1 ( A1,B1,g0 ( A0,B0,CI ))
= f1 ( A1,B1,A0,B0,CI )
2009-7-30 卢庆莉 编写
C1 = A1B1+A1C0+B1C0 = g1 ( A1,B1,C0 )
= g1 ( A1,B1,g0(A0,B0,CI ) )
= g1(A1,B1,A0,B0,CI )
S3 = f3 (A3,A2,A1,A0,B3,B2,B1,B0,CI )
C3 = g3 (A3,A2,A1,A0,B3,B2,B1,B0,CI )
由以上分析可见,每一位 Si?Ci只与两个加数和
CI有关,不需要逐级计算 C0?C1? C2,工作速度大为提高。
缺点,电路结构较为复杂。
具体内部电路如讲义的 P93 图 4.2.34所示。
2009-7-30 卢庆莉 编写
3?应用例 4.2.2 设计 8421BCD码 A3A2A1A0?a3a2 a1a0,而
a3a2 a1a0是小数部分,A3A2A1A0是整数部分,试设计一个电路将该数四舍五入。
加法器是一个非常重要的逻辑部件,除了可在运算电路中完成两数相加?相减?相乘以外,还可与其它组件合作完成更多的逻辑功能。下面介绍它的应用。
1?设计思路
( 1)当 a3a2 a1a0>4时,A3A2A1A0+1。
要实现这个功能,可将设计分解为两步:
2009-7-30 卢庆莉 编写
1)进行比较;
( 2)因为 74283进行的是二进制数求和,而并非
8421BCD求和。这样电路就存在一个调整问题 (即:
十进制调整) 。
即:二进制数,0000 ~ 1111;
8421BCD,0000 ~ 1001,
1010~ 1111为非法码。
因此,当和 ≥10时,要加较正项 0110。正确显示为,0001 0000。
2)加 1。
2009-7-30 卢庆莉 编写作用,① 当 a3a2 a1a0>4时,对整数部分加 1。
2009-7-30 卢庆莉 编写
② 在该数 A3A2A1A0?a3a2 a1a0≥9.5 时,
要对整数部分加 0110。 (进行十进制调整)
2009-7-30 卢庆莉 编写
2009-7-30 卢庆莉 编写讨论,1) a3a2 a1a0< 4
F( A>B) = 0,CI= 0,A3A2A1A0=0000,
COS3S2S1S0= A3A2A1A0+A3A2A1A0+CI
=A3A2A1A0+0000+0=A3A2A1A0
2009-7-30 卢庆莉 编写
2) a3a2 a1a0>4,
F( A>B) = 1,CI= 1,A3A2A1A0=?
① A3A2A1A0< 9 A3A2A1A0= 0000
COS3S2S1S0= A3A2A1A0 + A3A2A1A0 +CI= A3A2A1A0 +1
2009-7-30 卢庆莉 编写
② A3A2A1A0= 9 A3A2A1A0= 0110 CI=1
COS3S2S1S0= A3A2A1A0 + A3A2A1A0 +CI
=A3A2A1A0 + 0110+1
2009-7-30 卢庆莉 编写例二:二进制加法 /减法器在计算机中 CPU的核心部件为 ALU(运算部件),
它在实现二进制加 /减运算时,不可能用一套加法器和一套减法器。为节省 ALU的资源所有的算术运算只用一套加法器来完成。对于减法而言它采用 被减数 +减数的补码 来完成。下面给出加 /减器。
2009-7-30 卢庆莉 编写
M=0,做二进制加法(称为 串行 或 行波 )。
M=1,做二进制减法,
2009-7-30 卢庆莉 编写例三,十进制加法器(习题 4-17)
BCD码加法运算的修正规则,
1) 若两个 BCD码相加之和等于或小于 (1001)2,即十进制的 9,不需要修正。
A+B = COS3S2S1S0 ≤ (1001)2= (9)10,不需要修正。
(1)10+(8)10= (9)10
2009-7-30 卢庆莉 编写
2)若相加之和在 10 ~ 15 之间,本位还要进行加 6修正,
而进位是在进行加 6修正时产生的。
10 ≤ A + B = COS3S2S1S0 ≤ 15,需要修正 +6。
2009-7-30 卢庆莉 编写
3)若相加之和在 16 ~ 18之间,向高位的进位会在相加过程中给出,对本位也需要进行加 6修正。
2009-7-30 卢庆莉 编写
2009-7-30 卢庆莉 编写
2009-7-30 卢庆莉 编写
2009-7-30 卢庆莉 编写作业,4.17
4.18 4.19
4.20 4.21