Схемой сравнения называют комбинационную схему, реализующую следующие системы уравнений:
0, А ¹ В 0, А £ В 0, А ³ В
А=В = А>В = А<В =
1, А = В 1, А > В 1, А < В
На первом этапе схема сравнения осуществляет поразрядное сравнение кодов и формирование признаков равенства и неравенства .
,
,
где - i-ый разряд числа ;
- i-ый разряд числа .
Признаком равенства или неравенства для n-разрядного числа будет служить следующее уравнение:
Признак неравенства чисел А>В в i-ом разряде > можно записать следующим образом:
С учетом неравенства А>В для n-разрядного числа будет иметь:
Если поменять числа А и В местами, то можно получить признак неравенства для А<В. Однако проще этот признак получить следующим образом (если неравно и не больше, то меньше).
Полученные уравнения для R, Q, P лежат в основе комбинационной схемы СП1 во всех ТТЛ, ТТЛШ сериях.
На функциональном и принципиальном уровнях схемы сравнения обозначаются следующим образом:
Таблица, поясняющая функционирование схемы имеет вид:
N | Входы | Выходы | ||||
A>B | A=B | A<B | A>B | A=B | A<B | |
F(A³B) | F(A£B) | |||||
F(A>B) | F(A£B) | |||||
F(A>B) | F(A=B) | F(A<B) | ||||
F(A>B) | F(A=B) | F(A<B) | ||||
F(A³B) | F(A<B) | |||||
F(A>B) | F(A<B) | |||||
F(A>B) | F(A=B) | F(A<B) | ||||
F(A>B) | F(A=B) | F(A<B) |
Если сравниваются числа разрядностью больше четырех, то используется каскадное включение нескольких микросхем сравнения. При невысоких требованиях к быстродействию можно использовать последовательное включение. Например, схема сравнения параллельных 12-разрядных чисел будет иметь вид:
Данный способ характеризуется большой задержкой распространения сигналов (малое быстродействие), результат на выходе появляется через 3t, где t - задержка срабатывания одной схемы сравнения.
При повышенных требованиях к быстродействию используют параллельное включение схем сравнения. Например, сравнение 24-разрядных двоичных чисел можно выполнить по следующей схеме:
Схема сравнения позволяет сравнивать положительные двоичные числа. Если подавать дополнительные или обратные коды чисел, то схема сравнения их не различает. Например, при сравнении дополнительных кодов чисел А=0.101 (510) и В=1.011 (-510) схема сравнения выдаст результат, что «–5» больше. Для того, чтобы сравнить дополнительные коды чисел и получить правильный результат, необходимо сравнивать не сами коды чисел, а их смещения (т.е. предварительно прибавив к обеим частям неравенства одинаковое число). С помощью смещения сравниваемые числа переводятся в положительную область и результат сравнения получается корректным.
Частным случаем решения задачи является прибавление 2n или как следствие инверсия знаковых разрядов сравниваемых чисел:
Например, А’=1.101, В’=0.011 Þ А’>В’.