Двійковий каскадний суматор
| Визначення: |
| Двійковий каскадний суматор(англ.Binary adder) - цифрова схема, що здійснює додавання двох багаторозрядних двійкових чисел, з прискореним формуванням розрядів переносу. |
Зміст
Принцип роботи [ред.]

Використані позначення: [math]X_, Y_[/math] - [math]i[/math] -ий розряд сумованих чисел, [math]C_, C_[ /math] - біти перенесення, [math] F_[/math] - результат складання.
Розглянемо один елемент лінійного каскадного суматора – Ripple-carry adder. У деяких випадках біт перенесення [math]C_[/math] залежить тільки від значень [math]X_[/math] та [math]Y_[/math] :
- якщо [math]X_= Y_= 1[/math] , то [math]C_ = 1[/math] ,
- якщо [math]X_= Y_= 0[/math] , то [math]C_ = 0[/math] ;
Інакше ([math]X_i \neq Y_i[/math]) біт перенесення не змінюється, тобто [math]C_=C_i[/math].
Три випадки називаються таким чином:
- [math] \mathbf \mathtt[/math] -породженняперенесення,
- [math] \mathbf \mathtt[/math] -знищенняперенесення,
- [math] \mathbf
\mathtt[/math] -проштовхуванняперенесення.
Оскільки послідовне застосування цих трьох дій над переносами належить також одному з цих типів, можна визначити композицію дій над переносами. Позначимо композицію значком [math]\otimes[/math] і побудуємо таблицю значень (у стовпці перший аргумент, у рядку другий):
| [math]\otimes[/math] | [math] \mathbf [/math] | [math] \mathbf [/math] | [math] \mathbf [/math] |
| [math] \mathbf [/math] | [math]k[/math] | [math]k[/math] | [math]g[/math] |
| [math] \mathbf [/math] | [math]k[/math] | [math]p[/math] | [math]g[/math] |
| [math] \mathbf [/math] | [math]k[/math] | [math]g[/math] | [math]g[/math] |
Оскільки функція асоціативна, можна поширити її на будь-яку кількість аргументів. Більше того, оскільки для будь-якої дії [math]x[/math] виконується рівність [math]x \otimes p = x[/math], то функцію від кількох дій можна визначити як "останнє не [math]p[/math] ".
Схема [ред.]
Суматор складається із двох частин. Перша частина – це група повних суматорів, які обчислюють відповідь. Друга частина – дерево відрізків, за допомогою якого обчислюється біт перенесення.