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