Схемы сравнения вычисляют значение отношения двух двоичных величин. Значение может быть true(1) и false(0).
Схемы сравнения предназначены для реализации логических условий в микропрограммах. Результаты сравнения могут быть использованы как осведомительные (входные) сигналы для УА (рис. 3.1)
Рис. 3.1 – Примеры использования результатов сравнения
Простейшее сравнение – это равенство/неравенство (A=B, A≠B).
A=B à функция равнозначности ( ) à
A≠B à функция неравнозначности (XOR) à
Сравнение чисел выполняется побитово, начиная со старших разрядов.
Для сравнения чисел необходимо и достаточно выполнить:
- , для равнозначности необходимо выполнить сравнение по всем разрядам и определить значение произведения результатов.
- , для неравнозначности, выполнять сравнение результатов поразрядного сравнения, до получения одного положительного результата.
Пример. Сравнить [a1 a2]=[b1 b2].
.
Соответствующая схема приведена на рис. 3.2.
Реализация функции R в инверсном базисе:
Рис. 3.2 – Схема сравнения на равенство
Сравнение чисел на «больше»/«меньше».
Такое сравнение можно выполнить с использованием вычитателя (сумматора) и определить знак разности (A-B), если знак «0», то A≥B, если знак «1», то A<B. Следующим шагом нужно выполнить уточняющее сравнение A = B. Очевидно, что этот процесс занимает достаточно большое время.
Проще использовать специальную комбинационную схему сравнения. Определим функцию, на основании которой строится схема.
Сравним числа длиной 4 бита (побитно, начиная со старших разрядов).
Логическая схема имеет вид, приведенный на рис. 3.3.
Схемы сравнения с «0» и «1» будут проще, т.к. в выражении некоторые термы сократятся. В общем случае схема сравнения с константой тоже будет проще по тем же причинам.
Нестрогие неравенства: A≥B, A≤B выполняются путем комбинации рассмотренных приемов:
Рис. 3.3 – Схема сравнения A>B для четырехбитных чисел