常用组合逻辑电路模块(4):数值比较器

数值比较器概述

在数字系统中,特别是在计算机中,常需要对两个数的大小进行比较。而数值比较器就是对两个二进制数A、B进行比较的逻辑电路。

比较结果有A>B、A=B、A<B三种情况。


简单数值比较器

1位数值比较器:当A和B都是1位二进制数时,它们只能取0和1,由此写出其真值表:

由真值表得到如下逻辑表达式:

由逻辑表达式可画出其逻辑电路:

52701404c482412897852a6ab6d48cb0.jpg2位数值比较器:用于比较两位二进制数A1A0和B1B0的情况。当高位(A1、B1)不相等时,就不用比较低位(A0、B0)了,此时高位比较的结果就是这两个二进制数的结果;

当高位相等时,两数的比较结果就由低位比较的结果决定。

其真值表为:

55d946aa8f5a49ab9f4a55bd7d8e5c0b.jpg

利用1位数值比较器,画出逻辑电路图:

59adb2de81b34f249d3070baa2b6d171.jpg


集成数值比较器

以74LS85(4位数值比较器)为例来说明集成数值比较器。

比较原理和2位比较器的原理相同。两个4位比较是从A的最高位A3和B的最高位B3进行比较,如果它们不相等,则该位的比较结果可以作为两数的比较结果。若最高位A3=B3,则再比较次高位A2和B2,以此类推。显然,如果两数相等,那么,比较步骤必须进行到最低位才能得到结果。

数值比较器的扩展

数值比较器的扩展有串联和并联两种方式。如下所示为串联:

d27aae03b45041408001bcfe85557446.jpg

其中A>B、A=B、A<B 为级间输入,当A>B或A<B为1时,后续数值比较器直接出结果,不需要进行比较。当A=B为1时,后一级比较器开始工作。对于第一级直接将其设置为010即可。

显然,串联比较器速度较慢。当位数较多且要求一定速度时,可采用并联方式,如下:

292f13731db34f439818027de88078fa.jpg

 这里采用两级比较方法。显然比较时间只需两倍的4位数值比较器延迟时间。

相关推荐

  1. 类与比较

    2024-04-13 13:36:05       50 阅读
  2. SpringBoot日常:数据类型比较

    2024-04-13 13:36:05       22 阅读
  3. 数据库比较

    2024-04-13 13:36:05       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 13:36:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 13:36:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 13:36:05       82 阅读
  4. Python语言-面向对象

    2024-04-13 13:36:05       91 阅读

热门阅读

  1. linux c UDP 应用

    2024-04-13 13:36:05       37 阅读
  2. 作业第二次

    2024-04-13 13:36:05       29 阅读
  3. SpringBoot项目快速打印controller类的URL

    2024-04-13 13:36:05       39 阅读
  4. Nginx-调度器、优化

    2024-04-13 13:36:05       45 阅读
  5. openjudge_2.5基本算法之搜索_1792:迷宫

    2024-04-13 13:36:05       32 阅读
  6. Django序列化常用字段与参数

    2024-04-13 13:36:05       39 阅读
  7. C++11中的lambda、包装器(function、bind)

    2024-04-13 13:36:05       32 阅读
  8. 学习 Rust 的第二天:Cargo包管理器的使用

    2024-04-13 13:36:05       31 阅读