Суматор і полусумматор

Суматор і полусумматор

Арифметико-логічний пристрій процесора (АЛУ) обов'язково містить в своєму складі такі елементи як суматори. Ці схеми дозволяють складати виконавчі числа.

Як відбувається складання? Припустимо, потрібно скласти двійкові числа 1001 і 0011. Спочатку складаємо молодші розряди (останні цифри): 1 + 1 = 10. Тобто в молодшому розряді буде 0, а одиниця - це перенесення в старший розряд. Далі: 0 + 1 + 1 (від перенесення) = 10, тобто в даному розряді знову запишеться 0, а одиниця піде в старший розряд. На третьому кроці: 0 + 0 + 1 (від перенесення) = 1. В результаті сума дорівнює 1100.

Тепер не будемо звертати увагу на перенесення з попереднього розряду і розглянемо тільки, як формується сума поточного розряду. Якщо були дані дві одиниці або два нуля, то сума поточного розряду дорівнює 0. Якщо одне з двох доданків дорівнює одиниці, то сума дорівнює одиниці. Отримати такі результати можна при використанні вентиля виключає АБО.

Перенесення одиниці в наступний розряд відбувається, якщо два доданків дорівнюють одиниці. І це піддається реалізації вентилем І.

Тоді додавання в межах одного розряду (без урахування можливого прийшла одиниці з молодшого розряду) можна реалізувати зображеної нижче схемою, яка називається полусумматора. У полусумматора два входи (для доданків) і два виходи (для суми і перенесення). На схемі зображено полусумматор, що складається з вентилів виключає Або і І.

На відміну від полусумматора суматор враховує перенесення з попереднього розряду, тому має не два, а три входи.

Щоб врахувати перенесення доводиться схему ускладнювати. По-суті вона виходить, що складається з двох полусумматора.

Розглянемо один з випадків. Потрібно скласти 0 і 1, а також 1 з перенесення. Спочатку визначаємо суму поточного розряду. Судячи з лівої схемою виключає Або, куди входять a і b. на виході отримуємо одиницю. Наступної виключає Або вже входять дві одиниці. Отже, сума буде дорівнює 0.

Тепер дивимося, що відбувається з переносом. В один вентиль І входять 0 і 1 (a і b). Отримуємо 0. У другій вентиль (правіше) заходять дві одиниці, що дає 1. Прохід через вентиль АБО нуля від першого І та одиниці від другого І дає нам 1.

Перевіримо роботу схеми простим додаванням 0 + 1 + 1 = 10. Тобто 0 залишається в поточному розряді, і одиниця переходить в старший. Отже, логічна схема працює правильно.

Роботу даної схеми при всіх можливих вхідних значеннях можна описати наступною таблицею істинності.