Компараторы (устройства сравнения) определяют отношения между двумя словами. Основными отношениями, через которые можно выразить остальные, можно считать два - "равно" и "больше".
Определим функции, вырабатываемые компараторами, следующим образом: они принимают единичное значение (истинны), если соблюдается условие, указанное в индексе обозначения функции. Например, функция FА = В = 1, если А = В и принимает нулевое значение при А ¹ В.
Приняв в качестве основных отношения "равно" и "больше", для остальных можно записать:
Эти отношения используются как логические условия в микропрограммах, в устройствах контроля и диагностики ЭВМ и т. д.
В сериях цифровых элементов обычно имеются компараторы с тремя выходами: "равно", "больше" и "меньше" (рис. 2.16). Для краткости записей в индексе выходных функций указывается только слово А.
Рис. 2.16. Условное обозначение компаратора с тремя выходами.
Устройства сравнения на равенство строятся на основе поразрядных операций над одноименными разрядами обоих слов. Слова равны, если равны все одноименные их разряды, т. е. если в обоих нули или единицы.
Признак равенства разрядов:
Признак неравенства разрядов:
Признак равенства слов R = rn-1 rn-2...r0.
Схема компаратора на равенство в базисе И-НЕ показана на рис. 2.17, а.
Рис. 2.17. Схемы компараторов на равенство (а, б)
Схема без парафазных входов (рис. 2.17, б) основана на выражениях для ri, преобразованных следующим образом:
Построение компаратора на "больше" для одноразрядных слов (табл. 2.7) требует реализации функции .
Таблица 2.7.
a
b
FA>B
Функцию FA>B для многоразрядных слов проще всего получить на основе рассуждений. Пусть нужно сравнить двухразрядные слова. Если старшие разряды a1 и b1 не равны, то результат известен независимо от младших разрядов: при a1=1 и b1=0 имеем А>В, а при a1=0 и b1=1 имеем А<В. Если же, a1 = b1 результат еще неизвестен, и требуется анализ следующего разряда по тому же алгоритму. Поэтому для двухразрядных слов можно записать .
Подобный же подход справедлив и для слов любой разрядности - к анализу следующего разряда нужно переходить только при равенстве предыдущих. Таким образом, для общего случая n-разрядных слов имеем