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