Двоичный каскадный сумматор — различия между версиями
(→Принцип работы) |
(→Схема) |
||
Строка 45: | Строка 45: | ||
== Схема == | == Схема == | ||
− | [[Файл:Двоичный_каскадный_сумматор.png| | + | [[Файл:Двоичный_каскадный_сумматор.png|300px|right|thumb|Схема двоичного каскадного сумматора]] |
Сумматор состоит из двух частей. Первая часть {{---}} это группа полных сумматоров, вычисляющих ответ. Вторая часть {{---}} [[Дерево_отрезков._Построение|дерево отрезков]], с помощью которого вычисляется бит переноса. | Сумматор состоит из двух частей. Первая часть {{---}} это группа полных сумматоров, вычисляющих ответ. Вторая часть {{---}} [[Дерево_отрезков._Построение|дерево отрезков]], с помощью которого вычисляется бит переноса. | ||
''' Обозначения ''' | ''' Обозначения ''' | ||
− | * <tex> | + | * "<tex>+</tex>" {{---}} полный сумматор, вычисляет результат сложения. |
* <tex>\bigotimes</tex> вычисляет композицию двух переносов. | * <tex>\bigotimes</tex> вычисляет композицию двух переносов. | ||
* <tex>\bigodot</tex> возвращает <tex>C_{i}</tex>, старший бит сумматора. | * <tex>\bigodot</tex> возвращает <tex>C_{i}</tex>, старший бит сумматора. |
Версия 14:01, 12 января 2012
Определение: |
Двоичный каскадный сумматор — цифровая схема, осуществляющая сложение двух многоразрядных двоичных чисел. |
Содержание
Принцип работы
Используемые обозначения:
— -ый разряд суммируемых чисел, — биты переноса, — результат сложения.Рассмотрим один элемент линейного каскадного сумматора. В некоторых случаях бит переноса зависит только от значений и :
- если , то
- если , то
Иначе (
) бит переноса не изменяется, то есть .Три случая называются следующим образом:
- Generate — "порождение" переноса
- Kill — "уничтожение" переноса
- Propagate — "проталкивание" переноса
Поскольку последовательное применение этих трёх действий над переносами принадлежит также одному из этих типов, то можно определить композицию действий над переносами. Обозначим композицию значком
и построим таблицу значений (в столбце первый аргумент, в строке — второй):k | p | g | |
---|---|---|---|
k | k | k | g |
p | k | p | g |
g | k | g | g |
Поскольку функция ассоциативна, то можно распространить её на любое количество аргументов. Более того, поскольку для любого действия
выполняется равенство , то функцию от нескольких действий можно определить как "последнее не ".Схема
Сумматор состоит из двух частей. Первая часть — это группа полных сумматоров, вычисляющих ответ. Вторая часть — дерево отрезков, с помощью которого вычисляется бит переноса.
Обозначения
- " " — полный сумматор, вычисляет результат сложения.
- вычисляет композицию двух переносов.
- возвращает , старший бит сумматора.
Схемная сложность
Дерево отрезков вычисляет биты переноса за
, оставшиеся действия выполняются за . Суммарное время работы — .