Двоичный каскадный сумматор — различия между версиями
(→Схема) |
(→Источники информации) |
||
| Строка 88: | Строка 88: | ||
Дерево отрезков вычисляет биты переноса за <tex>O(\log N)</tex>, оставшиеся действия выполняются за <tex>O(1)</tex>. Суммарное время работы {{---}} <tex>O(\log N)</tex>. | Дерево отрезков вычисляет биты переноса за <tex>O(\log N)</tex>, оставшиеся действия выполняются за <tex>O(1)</tex>. Суммарное время работы {{---}} <tex>O(\log N)</tex>. | ||
| + | |||
| + | == См. также == | ||
| + | *[http://neerc.ifmo.ru/wiki/index.php?title=%D0%9A%D0%B0%D1%81%D0%BA%D0%B0%D0%B4%D0%BD%D1%8B%D0%B9_%D1%81%D1%83%D0%BC%D0%BC%D0%B0%D1%82%D0%BE%D1%80 Каскадный сумматор] | ||
| + | |||
| + | [[Категория:Дискретная математика и алгоритмы]] | ||
| + | [[Категория:Схемы из функциональных элементов]] | ||
== Источники информации == | == Источники информации == | ||
| Строка 95: | Строка 101: | ||
* [http://bookfi.net/book/637011 М.И. Богданович "Цифровые интегральные микросхемы" 1996г.] | * [http://bookfi.net/book/637011 М.И. Богданович "Цифровые интегральные микросхемы" 1996г.] | ||
| − | |||
== См. также == | == См. также == | ||
Версия 01:03, 19 января 2016
| Определение: |
| Двоичный каскадный сумматор - Binary adder — цифровая схема, осуществляющая сложение двух многоразрядных двоичных чисел, с ускоренным формированием разрядов переноса. |
Содержание
Принцип работы
Используемые обозначения: — -ый разряд суммируемых чисел, — биты переноса, — результат сложения.
Рассмотрим один элемент линейного каскадного сумматора - Ripple-carry adder. В некоторых случаях бит переноса зависит только от значений и :
- если , то ,
- если , то ;
Иначе () бит переноса не изменяется, то есть .
Три случая называются следующим образом:
- — "порождение" переноса,
- — "уничтожение" переноса,
- — "проталкивание" переноса;
Поскольку последовательное применение этих трёх действий над переносами принадлежит также одному из этих типов, то можно определить композицию действий над переносами. Обозначим композицию значком и построим таблицу значений (в столбце первый аргумент, в строке — второй):
| Таблица значений | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Поскольку функция ассоциативна, то можно распространить её на любое количество аргументов. Более того, поскольку для любого действия выполняется равенство , то функцию от нескольких действий можно определить как "последнее не ".
Схема
Сумматор состоит из двух частей. Первая часть — это группа полных сумматоров, вычисляющих ответ. Вторая часть — дерево отрезков, с помощью которого вычисляется бит переноса.
Обозначения
- — полный сумматор, вычисляет результат сложения,
- — блок вычисления композиции двух переносов,
- — блок вычисления , старшего бита сумматора;
Схемная сложность
Дерево отрезков вычисляет биты переноса за , оставшиеся действия выполняются за . Суммарное время работы — .
