Цифровой компаратор

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Vcohen (обсуждение | вклад) в 14:54, 10 февраля 2020 (Cat-a-lot : Удаление из категории «Цифровые системы» using Cat-a-lot). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Цифрово́й компара́тор или компара́тор ко́дов логическое устройство с двумя словарными входами, на которые подаются два разных двоичных слова равной в битах длины и обычно с тремя двоичными выходами, на которые выдаётся признак сравнения входных слов, — первое слово больше второго, меньше или слова равны. При этом выходы «больше», «меньше» имеют смысл, если входные слова кодируют числа в том или ином машинном представлении.

Часто цифровые компараторы не имеют выходов «больше», «меньше», а только выход «равно».

Может быть построен на логических элементах, работа которых основана на самых различных физических принципах, но современные компараторы обычно представляют собой полупроводниковые электронные устройства работающие в двоичной логике.

Промышленностью компараторы выпускаются в виде законченных компонентов — микросхем с разной длиной сравниваемых слов и других параметров. Примеры микросхем цифровых компараторов: КМОП-логика — 4063 и 4585, ТТЛ — 7485 и 74682-89 и многие другие.

Компараторы широко используются в вычислительной технике, измерительной технике, радио- и проводной связи, бытовых приборах. Например, цифровые часы с будильником содержат цифровой компаратор, при совпадении текущего времени с заданным, подается звуковой сигнал.

Аналоговым эквивалентом цифрового компаратора является аналоговый компаратор напряжений или токов. Некоторые микроконтроллеры имеют входные встроенные аналоговые компараторы, состояние выходов которых может быть считано программой контроллера или вызывать её прерывание подпрограммой.

Логические функции

Для примера рассмотрим два 4-битных слова и , пусть эти слова представляют собой некоторые натуральные числа, представленные в двоичном виде, причем 3-й разряд будет старшим:

,

Здесь каждая буква с нижним цифровым индексом представляет один из битов в числах.

Равенство (эквивалентность)

Двоичные числа и будут равны, если все пары соответственных битов обоих чисел равны, то есть:

, , и .

В двоичной записи чисел их цифры это или 0, или 1. Булева функция для равенства любых двух цифр и (здесь логическая операция «ИЛИ» обозначена символом , а «И» символом точки) может быть выражена как:

.

При этом равна 1 только если и равны.

Для равенства и , все функции (для i = 0, 1, 2, 3) должны быть равны 1.

Поэтому признак равенства и записывается в виде логической функции как

.

Двоичная функция равна 1 только если все пары цифр двух чисел равны.

Неравенство (неэквивалентность)

Чтобы определить наибольшее из двух двоичных чисел, мы рассмотрим отношение величин пар значащих цифр, начиная со старших битов к младшим битам до нахождения неравенства в некоторой позиции. Когда неравенство найдено, то, если соответствующий бит равен 1 и такой же бит равен 0, то мы считаем, что .

Это последовательное сравнение может быть выражено логическими выражениями как:

,
.

и  — выходные двоичные переменные, которые равны 1 когда или соответственно.

Таблицы истинности компаратора

Для примеров приведены таблицы истинности тривиального однобитового и двухбитового компараторов.

Логическая функция однобитового цифрового компаратора описывается таблицей истинности:

Входы Выходы
0 0 0 1 0
0 1 1 0 0
1 0 0 0 1
1 1 0 1 0

Таблица истинности двухбитового компаратора:

Входы Выходы
0 0 0 0 0 1 0
0 0 0 1 1 0 0
0 0 1 0 1 0 0
0 0 1 1 1 0 0
0 1 0 0 0 0 1
0 1 0 1 0 1 0
0 1 1 0 1 0 0
0 1 1 1 1 0 0
1 0 0 0 0 0 1
1 0 0 1 0 0 1
1 0 1 0 0 1 0
1 0 1 1 1 0 0
1 1 0 0 0 0 1
1 1 0 1 0 0 1
1 1 1 0 0 0 1
1 1 1 1 0 1 0

См. также

Ссылки