Суматор
Сума́тор (англ. adder) — вузол комп'ютера, призначений для утворення суми двох операндів; цифрова схема, яка виконує додавання чисел.
Загальна характеристика суматорів
Суматором називається функціональний вузол комп'ютера, призначений для додавання двох n-розрядних слів (чисел). Операція віднімання замінюється додаванням слів в оберненому або доповнювальному кодах. Операції множення та ділення перетворюються на реалізації багаторазового додавання та зсуву. Тому суматор є важливою частиною арифметико-логічного пристрою.
Функція суматора позначається літерами SM або Σ.
Ознаки та типи суматорів
Суматор складається з окремих схем, які називаються однорозрядними суматорами; вони виконують усі дії з додавання значень однойменних розрядів двох чисел (операндів). Суматори класифікують за такими ознаками:
- способом додавання — паралельні, послідовні та паралельно-послідовні;
- кількістю вхідних клем — напівсуматори, однорозрядні або багаторозрядні суматори;
- організацією зберігання результату додавання — комбінаційні, накопичувальні, комбіновані;
- системою числення — позиційні (двійкові, двійково-десяткові, трійкові) та непозиційні, наприклад, у системі залишкових класів;
- розрядністю (довжиною) операндів — 8-, 16-, 32-, 64-розрядні;
- способом подання від'ємних чисел — в оберненому або доповнювальному кодах, а також їх модифікаціях;
- часом додавання — синхронні та асинхронні.
Робота паралельних суматорів
У паралельних n-розрядних суматорах значення всіх розрядів операндів поступають одночасно на відповідні входи однорозрядних підсумовуючих схем. У послідовних суматорах значення розрядів операндів та перенесення, які запам'ятовувалися в минулому такті, надходять послідовно в напрямку від молодших розрядів до старших на входи одного одно розрядного суматора. В паралельно-послідовних суматорах числа розбиваються на частини, наприклад, байти, розряди байтів надходять на входи восьмирозрядного суматора паралельно (одночасно), а самі байти — послідовно, в напрямку від молодших до старших байтів з врахуванням запам'ятованого перенесення.
Робота комбінаційних суматорів
У комбінаційних суматорах результат операції додавання запам'ятовується в регістр результату. В накопичувальних суматорах процес додавання поєднується зі зберіганням результату. Це пояснюється використанням Т-тригерів як однорозрядних схем додавання.
Організація перенесення практично визначає час виконання операції додавання. Послідовні перенесення схемно створюються просто, але є повільнодіючими. Паралельні перенесення схемно реалізуються значно складніше, але дають високу швидкодію.
Розрядність суматорів знаходиться в широкому діапазоні 4-16 — для мікроконтролерів, до 32-128 і більше — для продуктивних процесорів.
Суматори з постійним інтервалом часу для додавання називаються синхронними. Суматори, в яких інтервал часу для додавання визначається моментом фактичного закінчення операції, називаються асинхронними. В асинхронних суматорах є спеціальні схеми, які визначають фактичний момент закінчення додавання і повідомляють про це в пристрій керування. На практиці переважно використовуються синхронні суматори.
Характеристики суматорів
Суматори характеризуються такими параметрами:
- швидкодією — часом виконання операції додавання tΣ, який відраховується від початку подачі операндів до одержання результату; нерідко швидкодія характеризується кількістю додавань в секунду FΣ = 1/ tΣ, тут розуміємо операції регістр-регістр (тобто числа зберігаються в регістрах АЛП);
- апаратурними затратами: вартість однорозрядної схеми додавання визначається загальною кількістю логічних входів використаних елементів;
- вартість багаторозрядного суматора визначається загальною кількістю використаних мікросхем;
- потужністю, що споживається.
Класифікація суматорів
Залежно від форми подання інформації розрізняють суматори аналогові і цифрові
За способом реалізації
- механічні.
- електромеханічні.
- електронні.
- пневматичні.
За принципом дії
- На лічильниках, які рахують кількості імпульсів вхідного сигналу.
- Функціональні, що видають на виходах значення логічної функції суми по модулю і логічної функції розряду переносу:
- логічні, кожен раз обчислюють функцію розряду суми по модулю і функцію розряду переносу.
- табличні, з таблицями заздалегідь обчислених значень функції розряду суми по модулю і значень функції розряду переносу записаних у постійний запам'ятовувач (PROM) або оперативну пам'ять
Табличні суматори були застосовані в обчислювачах, побудованих на реле в США до Другої світової війни.
За архітектурою
- Чвертьсуматори - бінарні (двохоперандні) суматори за модулем без розряду переносу, що характеризуються наявністю двох входів, на які подаються два однорозрядних числа, і одним виходом, на якому реалізується їх арифметична сума по модулю.
- Напівсуматор - бінарні (двохоперандні) суматори за модулем з розрядом перенесення, які характеризуються наявністю двох входів, на які подаються однойменні розряди двох чисел, і двох виходів: на одному реалізується арифметична сума по модулю в даному розряді, а на іншому - перенесення в наступний (старший) розряд.
- Повні суматори - тернарні (трьохоперандні) суматори за модулем з розрядом перенесення, які характеризуються наявністю трьох входів, на які подаються однойменні розряди двох складаються чисел і перенесення з попереднього (більш молодшого) розряду, і двома виходами: на одному реалізується арифметична сума по модулю в даному розряді, а на іншому - перенесення в наступний (більш старший розряд). Такі суматори з самого початку орієнтовані тільки на показові позиційні системи числення.
- Накопичувальні суматори - забезпечені власною внутрішньою пам'яттю.
За способом дії
- Послідовні (однорозрядні), в яких обробка розрядів чисел ведеться по черзі, розряд за розрядом, на одному і тому ж однорозрядного обладнанні.
- Паралельні (багаторозрядні), в яких складові складаються одночасно в усіх розрядах, і для кожного розряду є своє обладнання.
- Паралельно-послідовні, в яких одночасно паралельно послідовно складаються розряди декількох пар чисел.
За способом організації перенесення
- З послідовним переносом (Ripple-carry adder, Схема послідовного перенесення).
- З прискореним груповим переносом (з передбаченням перенесення) (Carry-lookahead adders, CLA-adders).
- З пропуском перенесення (Carry-skip adder).
- Суматор з умовним складанням (Conditional sum adder).
- З перемиканням перенесення (з вибором перенесення) (Carry-select adder).
- Зі збереженням перенесення (Carry-save adder).