Сумматоры – устройства, предназначенные для выполнения арифметического суммирования (сложения) чисел в двоичном коде. Простейший случай – это суммирование двух одноразрядных чисел: 0 + 0 = 0; 1+0=1; 1 + 1 = 10. В последнем случае выходное число (10 = 2) оказалось двоичным двухразрядным. Появившаяся в старшем разряде суммы единица называется единицей переноса
Ранее рассматривались состояния схемы «исключающее ИЛИ» и было показано, что, добавив выход переноса, т. е. генератор старшего разряда, можно получить схему суммирования двух одноразрядных чисел. На рис. 77 приведена схема суммирования двух одноразрядных чисел, состоящая из элементов «исключающее ИЛИ» и И. Схема имеет два выхода: суммы 2 и единицы переноса С. Такая схема называется полусумматором.
Слагаемое
Результат
А
В
Сумма
Σ
Перенос Сn+1
а б
Рис. 77. Полусумматор (а) и состояние полусумматора (б)
Схема полного сумматора должна иметь вход для приема сигнала переноса Сn(п – число разрядов в суммируемых числах) (рис. 78).
Полные сумматоры многоразрядных чисел составляются из полных сумматоров одноразрядных чисел. Они могут выполнять основную арифметическую операцию – суммирование многоразрядных чисел двумя способами: параллельным или последовательным.
Слагаемое
Результат суммирования
Сn
A
B
Двоичный код
Десятичное число
Σ
Сn+1
а б
Рис 78. Сумматор (а) и состояния сумматора (б)
В параллельном сумматоре суммируются два пятиразрядных числа (слова) А и В: разряд А0 с В0 и так далее до А4 с В4. В каждом элементарном (одноразрядном) сумматоре получаются суммы Σ 0...Σ 4 и сигналы внутреннего переноса Сn+1, которые последовательно поступают на вход переноса Сn более старшего сумматора. Выходной сигнал переноса Сn+1 = С6 (единица в шестом разряде). Следовательно, выходная сумма сумматора – 111111 =63.
Недостатком такого параллельного сумматора является большое время распространения сигналов переноса Сn. Параллельные, безрегистровые сумматоры обеспечивают наибольшую скорость суммирования, если снабжены схемой ускоренного переноса.
Последовательный двоичный сумматор содержит три n-разрядных регистра: регистры слагаемых А и В и регистр суммы Σ. Суммируемые числа загружаются в регистры А и В поразрядно. Со скоростью один такт – один разряд происходит и суммирование, т. е. заполнение регистра суммы Σ. Триггер необходим для запоминания на один такт разряда Сnдля переноса, его в разряд Сn+1.