Двоичный каскадный сумматор
Версия от 05:49, 25 ноября 2011; Bobrov (обсуждение | вклад)
Определение: |
Двоичный каскадный сумматор — цифровая схема, осуществляющая сложение двух многоразрядных двоичных чисел. |
Содержание
Принцип работы
Обозначения:
- — i-ый разряд суммируемых чисел
- — биты переноса
- — результат сложения.
Рассмотрим один элемент линейного каскадного сумматора. В некоторых случаях бит переноса зависит только от значений и :
- Generate(g): если , то
- Kill(k): если , то ,
- Propagate(p): если , то ,
Обозначим композицию действий над переносами значком и построим таблицу значений(в столбце первый аргумент, в строке — второй):
k | p | g | |
---|---|---|---|
k | k | k | g |
p | k | p | g |
g | k | g | g |
Пример
Замечание: так как значение
, функцию можно определить как последнее не "p".
Схема
Сумматор состоит из двух частей. Первая часть — это группа полных сумматоров, вычисляющих ответ. Вторая часть — дерево отрезков, с помощью которого вычисляется бит переноса.
Обозначения
- — полный сумматор, вычисляет результат сложения.
- вычисляет композицию двух переносов.
- возвращает , старший бит сумматора.
Схемная сложность
Дерево отрезков вычисляет биты переноса за
, оставшиеся действия выполняются за . Суммарное время работы — .