Комбинационные сумматоры
Сумматор – комбинационная схема, реализующая арифметическое сложение двоичных чисел (операндов). Функцией сумматора является арифметическое сложение двоичных чисел и по правилам двоичной арифметики. На рис. 1.16, а приведено УГО многоразрядного сумматора. Он имеет входы А и В для (n + 1)-разрядных операндов, вход сr для цифры переноса p0 в младший разряд суммы, выход с для (n + 1)-разрядного результата и вывод CR для цифры рn+1 переноса из старшего разряда суммы.
Быстродействие сумматора обычно оценивают временем задержки распространения переноса в сумматоре, а именно величиной
T+ = tСr.CR,
где tСr.CR – интервал времени от момента подачи цифры переноса р0 на вход сr и до момента получения на выводе CR значения рn+1.
Сумматор с последовательным переносом. Операция двоичного сложения в цифровых устройствах (ЦУ), как и на бумаге, выполняется поразрядно, начиная с младших разрядов. Вычисления реализуются посредством одноразрядного сумматора (рис. 1.16, б). Одноразрядный сумматор – сумматор, выполняющий суммирование одноразрядных двоичных операндов (часть многоразрядного комбинационного сумматора). Функция одноразрядного сумматора задается табл. 1.10, которая построена по правилам двоичной арифметики.

Рис. 1.16. УГО многоразрядного и одноразрядного сумматоров, функциональная схема одноразрядного сумматора, (n + 1)-разрядный сумматор с последовательным переносом
Таблица 1.10
Функция одноразрядного сумматора
|
pi |
ai |
bi |
ci |
pi+1 |
|
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
0 |
|
0 |
1 |
0 |
1 |
0 |
|
0 |
1 |
1 |
0 |
1 |
|
1 |
0 |
0 |
1 |
0 |
|
1 |
0 |
1 |
0 |
1 |
|
1 |
1 |
0 |
0 |
1 |
|
1 |
1 |
1 |
1 |
1 |
В приведенной таблице операнды ai, bi, ci – цифры слагаемых А, В и суммы С, pi – цифра переноса в i-й разряд.
Если эту таблицу рассматривать как таблицу истинности для двух ПФ функции одноразрядного сумматора
(1.14)
pi+1 = pi × ai Ú pi × bi Ú ai × bi, (1.15)
то цена одноразрядного сумматора, построенного по этим формулам, составит 22 + 9 = 31 единицу, а быстродействие (время t+ распространения сигнала от входа Cr к выходу CR) составит 2 × t, где t – задержка в логическом элементе.
Уменьшают цену одноразрядного сумматора неформальными методами, и все они сопряжены с уменьшением цены КС для ci. Например, сравнив табл. 1.10 и табл. 1.5, обнаружим, что для ci можно записать
ci = ai Å bi Å pi = (ai Å bi) Å pi. (1.16)
Если учесть, что цена схемы М2 (см. рис. 1.13, б) равна 8, то цена одноразрядного сумматора, реализующего формулы (1.15) и (1.16), составит 24 единицы при t+ = 2 × t.
Сопоставив колонки pi+1 и ci в табл. 1.10, легко заметить, что на всех наборах, кроме нулевого и седьмого, ci = ùpi+1. Поэтому для вычисления сi можно использовать величину рi+1
ci =ùpi+1 × (ai Ú bi Ú pi) Ú ai × bi × pi. (1.17)
Здесь множитель (ai Ú bi Ú pi) в первом слагаемом выделяет те единичные наборы для ci, на которых ci = ùpi+1, а второе слагаемое соответствует ci =1 на седьмом наборе. На рис. 1.16, в показана функциональная схема одноразрядного сумматора, построенного по формулам (1.15) и (1.17). Цена ее равна 17 единицам, а t+ = 3 × t.
Описанные одноразрядные сумматоры применяются для построения (n + 1)-разрядного сумматора с последовательным переносом. Их соединяют так, как показано на рис. 1.16, г, т.е. выход CRсоединяют со входом Cri+1. Сумматор с последовательным переносом – сумматор, в котором цифры переноса формируются последовательно, распространяясь от младших разрядов к старшим.
В таком сумматоре прямо воспроизводится процесс ручного сложения чисел столбиком. Быстродействие сумматора с последовательным переносом пропорционально его разрядности
T+ = (n + 1)t+ = 3(n + 1)t.
Сумматор с параллельным переносом. При решении многих задач быстродействие сумматора с последовательным переносом оказывается недопустимо низким. Радикальный метод повышения быстродействия сумматоров – это одновременное формирование переносов во всех разрядах. Сумматор с параллельным переносом – сумматор, в котором цифры переноса формируются одновременно во всех разрядах.
Введем две такие вспомогательные ПФ: aI = ai × bi и bI = ai Ú bi.
Первая из них – ai – называется функцией генерации переноса в i-м разряде. Когда aI = 1, то и рi+1 = 1 независимо от значения р. Вторая – bi – называется функцией прозрачности i-го разряда для переноса. Если bI = 1(ai Ú bi ¹ 0), то pi+1 = pi.
Теперь для pi+1 можно составить таблицу, в которой каждая пара переменных аi и bi будет заменена соответствующими значениями вспомогательных функций ai и bi (табл. 1.11).
Таблица 1.11
Таблица с заменой переменных аi и bi функциями ai и bi
|
pi |
ai |
bi |
pi+1 |
|
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
0 |
|
0 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
|
1 |
0 |
1 |
1 |
|
1 |
0 |
1 |
1 |
|
1 |
1 |
1 |
1 |
Тогда
pi+1 = ai Ú bi × pi. (1.18)
Распишем выражения (1.18) для всех i =
:
p0 = {0,1}
p1 = a0 Ú b0 × p0,
p2 = a1 Ú b1 × p1,
¼¼¼¼¼¼
pi+1 = ai Ú bi × pi,
¼¼¼¼¼¼
pn+1 =ani Ú bn × pn.
Далее подставим выражение для рi в формулу для р2. Полученный результат подставим в формулу для р3 и т.д. В результате получим
p0 = {0, 1}
p1 = a0 Ú b0 × p0,
p2 = a1 Ú b1 × a0 Ú b1 × a0 × p0,
¼¼¼¼¼¼¼¼¼¼
pi+1 = ai Ú bi × aI-1 Ú bi × bi-1 × aI-2 Ú bi Ù bi-1 Ù ¼ Ù b1 Ù a0 Ú bi Ù bi-1 ¼ Ù b1 Ù b0 Ù p0,
¼¼¼¼¼¼¼¼¼¼
pn+1 = an Ú bn × an-1 Ú bn × bn-1 × an-2 Ú bn Ù bn-1 Ù ¼ Ù b1 Ù a0 Ú bn Ù bn-1 ¼ Ù b1 Ù b0 Ù p0.
Как видим, операндами в каждом выражении для рi+1 являются только цифры слагаемых аi, bi (I=
), цифра переноса р0. Следовательно, значения переносов во всех разрядах сумматора формируются одновременно, начиная с момента подачи на его входы слагаемых А и В и цифры p0. Поэтому сумматор, в котором так формируются переносы, называют сумматором с параллельным переносом. Цифры суммы сi в таком сумматоре вычисляются одинаково – по формуле (1.17)
ci = ùpi+1 × (bi × pi) Ú ai × pi, i =
.
Быстродействие сумматора с параллельным переносом не зависит от его разрядности и составляет величину
T+ = 3t,
(полагаем, что задержки t при формировании ai и bi равны задержкам t формирования конъюнкции и дизъюнкции при вычислении pi+1). Высокое быстродействие сумматора с параллельным пере-носом связано с большими материальными затратами. Действительно, цена vi оборудования для формирования цифры переноса в i-м разряде такого сумматора равна
vi = 4 +
, i =
.
Здесь первое слагаемое – цена элементов для формирования и второе – цена конъюнкторов, третье – цена дизъюнкторов для вычисления рi+1. Общая цена v всего оборудования для формирования переносов в (n + 1)-разрядном сумматоре с параллельным переносом составит величину
v =
.
В самом деле, для (n + 1) = 4 имеем
v0 = 4 + 2 + 2 = 8
+
v1 = 4 + 2 + 3 + 3 = 12
+
v2 = 4 + 2 + 3 + 4 + 4 = 17
+
v3 = 4 + 2 + 3 + 4 + 5 + 5 = 23
¾¾¾¾¾¾¾¾¾¾¾¾¾
v = 16 + 8 + 11 + 11 + 9 + 5 = 60 » 64 = 43.
В то же время у сумматора с последовательным переносом V пропорционален значению (n + 1). К тому же сумматор с параллельным переносом имеет нерегулярную структуру, схемы для вычисления рi+1 от разряда к разряду становятся все сложнее и сложнее. Поэтому ИС подобных сумматоров имеют малую разрядность.