Двоичный сумматор

Двоичный сумматор (SM)(рис. 5.13, а) служит для формирования арифметической суммы n-разрядных двоичных чисел А и В (рис. 5.12, б). Результатом сложения (при n = 4) является четырехразрядная сумма S и выход переноса Р, который можно рассматривать как пятый разряд суммы.

Полусумматор (HS) служит для сложения битов младших разрядов двух двоичных чисел (его можно реализовать на ЛЭпо таблице истинности, представленной на рис. 5.14).

 

Полный одноразрядный сумматор суммирует биты соответствующих разрядов двух двоичных чисел и вырабатывает перенос в следующий разряд.

Полный одноразрядный сумматор можно построить из двух полусумматоров HS и логического элемента ИЛИ (рис. 5.15).

 

 

В корпусе микросхемы К555ИМ6 четыре полных одноразрядных сумматора объединены в схему четырехразрядного сумматора (рис. 5.16). Сигнал переноса последовательно передается с выхода предыдущего разряда сумматора на вход переноса следующего разряда. В дальнейшем будем использовать более простое и наглядное условное графическое обозначение сумматора, приведенное справа. В дополнительных полях микросхемы показаны весовые коэффициенты разрядов входа и выхода сумматора.

 

 

Время выполнения операции в сумматоре на рис. 5.16 намного больше времени сложения в одноразрядном сумматоре, так как в каждый следующий разряд единица переноса попадает, проходя все более длинную цепочку логических элементов. Чтобы уменьшить время выполнения операции сложения многоразрядных чисел, используют схемы параллельного переноса. При этом сигналы переноса во всех разрядах одновременно вычисляются по значениям входных переменных в данном разряде.

Для сигнала переноса из любого k-го разряда справедливо соотношение (см. обозначения на рис. 5.15)

 

pk = akbk + (ak Å bk)pk–1, (5.2)

gk сk

где gkфункция генерации переноса, сk — функция распространения переноса.

Пользуясь рекуррентным выражением (5.2), можно вывести следующие формулы для вычисления сигналов переноса в четырехразрядном сумматоре:

 

p1= g1+ p0c1,

p2= g2+ p1c2 = g2+ c2g1+p0c1c2,

p3= g3+ p2c3 = g3 + c3g2+ c2c3g1 + p0c1c2c3,

p4 = g4+ p3c4= (g4+ c4g3+ c3c4g2+ c2c3c4g1) + p0(c1c2c3c4).


G C

Реализацию этих функций выполняет схема ускоренного переноса (см. блок-схему параллельного сумматора на рис. 5.17). Хотя полученные логические выражения достаточно сложны, время формирования сигнала переноса в любой разряд с помощью вспомогательных функций определяется временем задержки распространения сигнала в двух элементах.

 

 

Для построения 16-разрядного сумматора используется эта же схема ускоренного переноса, на которую подаются сигналы G и С от каждого четырехразрядного сумматора.