Вы находитесь на странице: 1из 3

Тема 4. Цифровые компараторы, сумматоры АЛУ.

Цифровые компараторы выполняют сравнение двух чисел, представленных в двоичном


коде. Число входов компаратора определяется разрядностью сравниваемых двоичных кодов чисел
a и b. Цифровой компаратор имеет три выхода, на которых формируются сигналы:
F р – если
коды двух двоичных чисел a и b равны между собой (a = b);
Fб – если код числа a больше кода
b (a > b);
F
м – если a < b.
Работу компаратора при сравнении двух одноразрядных кодов чисел a и b можно описать с
помощью следующих логических уравнений:
(4.1)

Схема одноразрядного компаратора, построенная на основании уравнений (4.1), приведена


на рис. 4.1.

.
Рис. 4.1. Схема одноразрядного компаратора.

Из схемы одноразрядного компаратора следует что, если a = b, то


F р=1 , иначе, т. е. при
a ¿ b,
F р=0 . Если a > b, т. е. a = 1, b = 0 , то Fб =1 , а если a < b , т. е. a = 0, b = 1, то
F м =1 . Таким образом, при любой комбинации входных сигналов активный (единичный
логический сигнал может быть сформирован только на одном из выходов компаратора. Поэтому
при любой разрядности входных кодов достаточно, используя входные сигналы, сформировать
только любые два из выходных сигналов. Третий сигнал всегда может быть получен по двум
известным. На основании изложенного выше можно переписать логические уравнения (4.1) в
следующем виде:
F р=a b⋅a b=F м⋅F б=F м +F б ;
Fб =F р⋅F м=F р+F м ;
F м =F р⋅F б =F р+ Fб . (4.2)
При построении схем компараторов для сравнения многоразрядных двоичных кодов обычно
используют метод блочного конструирования или декомпозиции задачи.
Рассмотрим целесообразность данного подхода на примере построения компаратора
многоразрядных двоичных кодов. За основу примем схему компаратора одноразрядных двоичных
слов. Очевидно, что результат сравнения двухразрядных слов можно записать через результаты
сравнения одноразрядных слов. Для этого рассуждаем следующим образом. Если старшие разряды
a1 и
b1 двух сравниваемых между собой чисел не равны, то выходная функция

однозначно равна 0, независимо от результатов сравнения младших разрядов
a0 и
b0 . При

этом если
a1 >b1 , то функции старшего разряда F р1 и F м1 , соответственно, равны 1 и 0, а
при
a1 <b1 , имеем Fб1=0 и F м1=1 . Если же a1 =b1 , тогда требуется сравнивать
младшие разряды чисел точно так же, как и в случае старших разрядов. На основании этих
рассуждений можно записать логические уравнения, справедливые для сравнения двухразрядных
двоичных слов:
F р=F р1⋅F р0 ;
Fб =F б1+F р1⋅F б0 ;
F м =F р +F б . (4.3)
Описанный выше подход справедлив и для слов любой разрядности. С использованием
компараторов, имеющих ограниченную разрядность входных двоичных кодов, на основании
логических уравнений (4.3), всегда можно построить цифровой компаратор требуемой
разрядности.
Сумматор, являющийся одним из основных узлов арифметико-логического устройства
(АЛУ), предназначен для выполнения операций арифметического сложения и вычитания чисел,
представленных в виде двоичных кодов. При этом операция вычитания выполняется через
сложения с применением обратных и дополнительных кодов. Существует множество вариантов
построения сумматоров. Различают одноразрядные и многоразрядные сумматоры. Такая
классификация сумматоров выполняется по числу разрядов кодов слагаемых. Многоразрядные
сумматоры делятся на последовательные и параллельные. В последовательных сумматорах
операция сложения выполняется последовательно, разряд за разрядом, начиная с младшего. В
параллельных сумматорах все разряды входных кодов слагаемых суммируются одновременно, а
сигнал переноса формируется различными способами. В соответствии с этим различают
параллельные сумматоры с последовательным, параллельным, групповым, цепным и
параллельным межгрупповым переносами.
Основными параметрами сумматоров являются:
– время задержки распространения переноса зд . р ;
t
– аппаратная сложность используемых для построения логических схем, оцениваемая числом
их входов;
– время формирования кодов суммы
t
s , определяемое временем распространения
переноса через все разряды параллельного сумматора.
Одноразрядный сумматор, условное обозначение которого показано на рис.5.2, имеет три
входа (два слагаемых и перенос из младшего разряда) и два выхода, на которых
формируются функции суммы S и переноса P в соседний старший разряд. Логические
выражения для функций суммы Si и переноса Pi в соответствии с таблицей истинности
одноразрядного сумматора имеют вид
S i=ai bi pi−1 ∨ai b i pi−1∨ai bi pi−1∨ai bi pi−1 ,
Рис. 4.2.
Pi=ai bi pi−1 ∨ai bi pi−1 ∨a i bi p i−1∨ai bi pi−1 (4.4)

Применяя аппарат минимизации (закон склеивания) булевой алгебры, выражение для функции Pi
можно переписать как
Pi=ai bi ∨ai pi−1 ∨ bi p i−1 .

Схемотехнически реализация уравнений одноразрядного сумматора может быть выполнена


на ЛЭ любого типа. При реализации на ЛЭ И  НЕ берется двойная инверсия над уравнениями
(4.4) и преобразовывается по теореме Де-Моргана инверсия дизъюнкции в конъюнкцию инверсии,
в результате чего для функции суммы Si и переноса Pi получаются следующие выражения:
S i=ai⋅bi⋅pi−1⋅ai⋅bi⋅p i−1⋅a i⋅bi⋅pi−1⋅ai⋅b i⋅pi−1 ,
Pi=ai⋅b i⋅a i⋅pi−1⋅bi⋅pi−1
(4.5)
При реализации на ЛЭ И  ИЛИ  НЕ уравнения сумматора имеют вид
S i=(ai b i∨a i bi )⋅p i−1∨(ai b i∨a i b i )⋅p i−1 ,
Pi=(ai⋅bi ∨ai⋅bi )⋅p i−1∨ai⋅b i
.
(4.6)
По уравнениям (4.4 – 4.6) могут быть построены схемы одноразрядных сумматоров. В таких
схемах сигналы на выходах присутствуют до тех пор, пока действуют сигналы на входах.
Одноразрядный сумматор можно использовать для выполнения операции сложения двух
многоразрядных кодов. В последовательном сумматоре операция сложения двух n-разрядных кодов
выполняется последовательно разряд за разрядом и начинается с суммирования младших разрядов
кодов. После сложения кодов (ai , bi , pi−1 ) в каждом i-м разряде на выходах одноразрядного
сумматора формируются сигналы суммы Si для i-го разряда и переноса Pi (I = 0,1, 2, …, n – 1) в i + 1-й
разряд. Схема последовательного сумматора имеет относительно простую структуру. Однако
получаемое таким образом упрощение аппаратных средств приводит к существенному снижению
быстродействия сумматора. Отсюда следует, что для повышения быстродействия необходимо
применять параллельные сумматоры.
Параллельный сумматор с последовательным переносом
Параллельный сумматор с последовательным переносом[1-4] строится как цепочка одноразрядных
сумматоров, соединенных последовательно по цепям переноса. В параллельном сумматоре
операция сложения выполняется одновременно по всем разрядам кодов слагаемых. На входы
одноразрядных сумматоров каждого i-го разряда поступают коды слагаемых ai и bi
соответствующего разряда, а также перенос из i-го разряда. На вход сумматора самого младшего
разряда подается сигнал переноса P , равный 0. Сигнал переноса P0 с выхода сумматора
вх

нулевого разряда SM 0 подается на вход переноса сумматора первого разряда SM 1 и т. д.


Параллельные сумматоры с параллельным переносом имеют максимальное быстродействие.
В них
отсутствуют процессы последовательного распространения сигналов переноса от разряда к
разряду, и результаты во всех разрядах вырабатываются одновременно параллельно во времени.
Схемотехническая реализация таких сумматоров требует большого количества ЛЭ с высокой
нагрузочной способностью и большим числом входов. Поэтому в тех случаях, когда количество
разрядов кодов слагаемых достаточно большое (n > 8) применяют сумматоры с групповой структурой.

Основная литература: 1[53:56, 65:71], 2[64:67, 77:81]


Дополнительная литература: 3[550:552].
Контрольные вопросы
1. Построить таблицу истинности и схему одноразрядного компаратора и объяснить
принцип его работы.
2. Для чего предназначен цифровой компаратор?
3. Построить таблицу истинности и схему одноразрядного сумматора и объяснить
принцип его работы.
4. Построить схему 4-разрядного параллельного сумматора с последовательным
переносом и объяснить принцип его работы.
5. Какие способы формирования сигналов переноса используются в параллельных
(многоразрядных) сумматорах?

Вам также может понравиться