Двоичный каскадный сумматор — различия между версиями
(→Схема) |
|||
| Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
| − | |definition='''Двоичный каскадный сумматор''' {{---}} цифровая [[Реализация булевой функции схемой из функциональных элементов|схема]], осуществляющая сложение двух многоразрядных двоичных чисел. | + | |definition='''Двоичный каскадный сумматор''' {{---}} цифровая [[Реализация булевой функции схемой из функциональных элементов|схема]], осуществляющая сложение двух многоразрядных двоичных чисел, с ускоренным формированием разрядов переноса. |
}} | }} | ||
Версия 23:24, 18 января 2016
| Определение: |
| Двоичный каскадный сумматор — цифровая схема, осуществляющая сложение двух многоразрядных двоичных чисел, с ускоренным формированием разрядов переноса. |
Содержание
Принцип работы
Используемые обозначения: — -ый разряд суммируемых чисел, — биты переноса, — результат сложения.
Рассмотрим один элемент линейного каскадного сумматора. В некоторых случаях бит переноса зависит только от значений и :
- если , то
- если , то
Иначе () бит переноса не изменяется, то есть .
Три случая называются следующим образом:
- Generate — "порождение" переноса
- Kill — "уничтожение" переноса
- Propagate — "проталкивание" переноса
Поскольку последовательное применение этих трёх действий над переносами принадлежит также одному из этих типов, то можно определить композицию действий над переносами. Обозначим композицию значком и построим таблицу значений (в столбце первый аргумент, в строке — второй):
| k | p | g | |
|---|---|---|---|
| k | k | k | g |
| p | k | p | g |
| g | k | g | g |
Поскольку функция ассоциативна, то можно распространить её на любое количество аргументов. Более того, поскольку для любого действия выполняется равенство , то функцию от нескольких действий можно определить как "последнее не ".
Схема
Сумматор состоит из двух частей. Первая часть — это группа полных сумматоров, вычисляющих ответ. Вторая часть — дерево отрезков, с помощью которого вычисляется бит переноса.
Обозначения
- "" — полный сумматор, вычисляет результат сложения.
- вычисляет композицию двух переносов.
- возвращает , старший бит сумматора.
Схемная сложность
Дерево отрезков вычисляет биты переноса за , оставшиеся действия выполняются за . Суммарное время работы — .
