Суматор

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Сума́тор (англ. 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).

За системою числення[ред. | ред. код]

Див. також[ред. | ред. код]