Сумматор — логический операционный узел, выполняющий арифметическое сложение двоичных, троичных или n-ичных кодов двух (бинарный), трёх (тринарный) или n чисел (n-нарный).
Каким образом выполняется суммирование двух положительных чисел в двоичном коде? Например, 3+5=8:
1 1
+ 0101
1000.
Существует большое многообразие сумматоров в [4] приведено 9 типов сумматоров, рассмотрим самые простые из них.
Рассмотрим полусумматор. Это устройство с двумя входами и двумя выходами, на которых вырабатываются сигналы суммы и переноса согласно таблице 2.11. Сигнал С происходит от английского carry.
Таблица 2.11 – Таблица истинности для полусумматора
a | b | S | C |
,
.
На рис. 2.66 представлена схема полусумматора.
Рисунок 2.66 – Схема полусумматора
При нахождении суммы многоразрядных операндов (слагаемых) полусумматор может быть использован только для младшего разряда, поскольку в нем не учитывается перенос из младшего разряда. Для всех остальных разрядов необходимо использовать полный сумматор (табл. 2.12).
|
|
Таблица 2.12 – Таблица истинности для полного сумматора
a | b | Cin | S | Cout |
.
Выполнив минимизацию Cout по карте Карно, получим;
.
Сin – перенос из предыдущего младшего разряда,
Cout – перенос с следующий старший разряд.
На рис. 2.67 представлена схема одноразрядного полного сумматора.
Рисунок 2.67 – Схема одноразрядного полного сумматора
Для последовательного выполнения операции сложения (разряд за разрядом) используется один полный сумматор, общий для всех разрядов. Для выполнения операции операнды и перенос подаются на него последовательно, начиная с младших разрядов рис. (2.68).
Рисунок 2.68 – Схема последовательного сумматора
Последовательный сумматор имеет небольшие аппаратурные затраты, но требует большого времени выполнения операции. Более быстродействующим будет параллельный сумматор с последовательным переносом. Для примера рассмотрим четырехразрядный параллельный сумматор с последовательным переносом (рис. 2.69).
Рисунок 2.69 – Схема параллельного сумматора с последовательным переносом
Для каждого разряда в этой схеме используется отдельный одноразрядный полный сумматор. В младший разряд (a0, b0) переноса нет, поэтому Сin =0. На каждый последующий разряд подеется перенос из предыдущего. Хоть сумматор и называется параллельным, на самом деле все разряды обрабатываются не точно одновременно, а только после формирования переноса для данного разряда. Отсюда следует, что быстродействие устройства определяется суммой задержек передачи сигнала переноса с младшего разряда на выход сумматора старшего разряда.
|
|