1. Что такое двоичный полусумматор
Полусумматор — это комбинационная логическая схема, которая складывает два одноразрядных двоичных числа A и B.
Результат представлен двумя сигналами:
- `SUM` — младший разряд суммы;
- `CARRY` — перенос в следующий разряд.
Логические выражения полусумматора:
SUM = A XOR B
CARRY = A AND B2. Как работает схема
Блок XOR формирует сумму. Его выход равен TRUE, когда входные сигналы различаются.
Блок AND формирует перенос. Его выход равен TRUE только тогда, когда оба входа одновременно равны TRUE.
Схема относится к комбинационной логике: выходы определяются текущими значениями A и B, а внутреннее состояние не сохраняется.
3. Таблица истинности
| A | B | SUM | CARRY | Результат |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 + 0 = 0 |
| 0 | 1 | 1 | 0 | 0 + 1 = 1 |
| 1 | 0 | 1 | 0 | 1 + 0 = 1 |
| 1 | 1 | 0 | 1 | 1 + 1 = 10₂ |
Последняя строка показывает основную особенность двоичного сложения:
1 + 1 = 10₂Сигнал SUM содержит младший разряд 0, а сигнал CARRY — старший разряд 1.
4. Проверка полусумматора в FBD-симуляторе
Программа к уроку передаёт входы A и B одновременно на блоки XOR и AND. XOR формирует выход SUM, а AND — выход CARRY.
1. Откройте программу в симуляторе. 2. Запустите режим симуляции. 3. Установите A = FALSE и B = FALSE, затем выполните цикл. 4. Повторите проверку для комбинаций FALSE/TRUE, TRUE/FALSE и TRUE/TRUE. 5. Сравните SUM и CARRY с таблицей истинности.
По четырём комбинациям входов легко проверить правильность работы блоков XOR и AND и всей схемы.
5. Почему схема называется полусумматором
Полусумматор складывает только два входных бита:
A + BОн не принимает перенос из предыдущего разряда. Поэтому его недостаточно для сложения многоразрядных чисел.
Для этого используется полный сумматор, у которого есть третий вход `CARRY_IN`. Полный сумматор вычисляет:
A + B + CARRY_IN6. Практическое применение
В обычной программе ПЛК полусумматор редко собирают вручную из блоков XOR и AND, поскольку контроллер обычно поддерживает арифметические операции над целыми числами. Однако эта схема полезна для обучения и некоторых битовых задач.
Изучение двоичной арифметики
Полусумматор наглядно показывает, как логические операции образуют арифметический результат. Это связывает булеву алгебру, цифровую электронику и программирование контроллеров.
Работа с отдельными битами
Иногда программа обрабатывает не целые числа, а отдельные флаги или биты слова состояния. В таких задачах может потребоваться вручную получить:
- бит результата;
- признак переноса;
- признак совпадения или различия входов.
Проверка логических функций
Полусумматор можно использовать как компактный учебный тест для блоков XOR и AND. Все варианты поведения покрываются четырьмя строками таблицы истинности.
Реализация специализированной логики
Та же комбинация полезна не только для арифметики:
SUM = A XOR B
CARRY = A AND BSUM показывает, что активен ровно один из двух сигналов, а CARRY — что активны оба сигнала. Например, при диагностике двух датчиков или двух команд:
- SUM = TRUE — состояния различаются;
- CARRY = TRUE — оба состояния активны;
- оба выхода FALSE — оба состояния неактивны.
7. Использование в более сложных схемах
Полный сумматор
Полный сумматор можно построить из двух полусумматоров и одного блока OR.
Первая ступень:
S1 = A XOR B
C1 = A AND BВторая ступень:
SUM = S1 XOR CARRY_IN
C2 = S1 AND CARRY_INИтоговый перенос:
CARRY_OUT = C1 OR C2Многоразрядный сумматор
Несколько полных сумматоров можно соединить последовательно. Перенос каждого разряда передаётся на вход следующего:
разряд 0 → разряд 1 → разряд 2 → разряд 3Так строится сумматор для 4-, 8-, 16- или 32-разрядных чисел.
Арифметико-логическое устройство
Сумматоры входят в состав арифметико-логического устройства процессора. В сочетании с другими схемами на их основе выполняются:
- сложение и вычитание;
- увеличение числа на единицу;
- вычисление адресов;
- сравнение чисел;
- обработка счётчиков.
Счётчики и инкрементаторы
При увеличении двоичного числа на единицу также возникает последовательное распространение переноса. Поэтому логика сумматоров используется при построении аппаратных счётчиков и инкрементаторов.
8. Краткий итог
Двоичный полусумматор складывает два бита без входного переноса. XOR формирует младший разряд SUM, а AND — старший разряд CARRY:
SUM = A XOR B
CARRY = A AND BЭта простая схема связывает таблицы истинности с двоичной арифметикой и служит основой для полного и многоразрядного сумматоров.
Практический блок
Откройте связанный пример в редакторе, запустите симуляцию и повторите упражнение из статьи. JSON можно скачать отдельно для просмотра или переноса.