Однобитный полусумматор

Соберем первое устройство, которое способно выполнять арифметическую операцию — сложение. Для простоты это будет устройство, способное сложить два однобитных числа. Ранее мы рассмотрели логику работы с двоичными числами. Попробуем вспомнить рассмотренные ранее логические элементы и подумать, какой же из них наиболее похож на сумматор? Правильно — это «ИСКЛЮЧАЮЩЕЕ-ИЛИ». Вспомним его таблицу истинности:

Таблица истинности элемента Исключающее ИЛИ

Вход А Вход B Выход C
0 0 0
1 0 1
0 1 1
1 1 0

Как видно из таблицы истинности, он складывает два бита и выдает на выход результат сложения. Действительно:

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

Но так как у нас элемент имеет один выход, показывающий состояние младшего разряда, то у него на выходе 0, как в младшем разряде числа 10. Получается, что Исключающее ИЛИ и есть элемент для сложения однобитных чисел, но если использовать только его, то у нас нет никаких данных о переполнении разряда. Поэтому, чтобы получить полусумматор осталось только дополнить этот элемент сигналом переполнения (переноса). Его легко получить, если добавить элемент «И».

Принципиальная схема

Не поддерживается SVG

Таблица компонентов

Тип компонентаНоминалКоличествоСписок
МикросхемаCD40811DD2
МикросхемаCD40701DD1
DIP переключатель 1
Светодиод 2VD1, VD2
Резистор1 кОм4R1, R2, R3, R4
Провод 11

Монтажная схема

Двумя левыми переключателями задаются числа для сложения. Желтый светодиод отображает сумму, красный сигнализирует о переполнении.

Мы собрали схему, которая суммирует два однобитных числа. Почему же она называется полусумматор, когда она отображает сумму и даже перенос? А все потому, что она не умеет оперировать с сигналом переноса из другого, младшего разряда. Дело в том, что полным сумматором называется устройство, которое умеет обрабатывать входной сигнал переноса от предыдущего младшего бита.

Полные сумматоры можно объединять для увеличения разрядности оперируемых чисел. Каждый каскад сумматора складывает свои биты и бит переноса из предыдущего разряда, а также передает сигнал переноса на следующий каскад.