Схемы сравнения.

Схемой сравнения называют комбинационную схему, реализующую следующие системы уравнений:

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 Þ А’>В’.