Для сложения двух одноразрядных двоичных чисел достаточно трех логических элементов: два исключающих ИЛИ (XOR) и два И (AND). Первый XOR вычисляет текущую сумму, второй – перенос в следующий разряд. Если на вход подать 1 и 1, выходное значение будет 0 с переносом 1.
Многоразрядные конструкции строятся каскадом из одноразрядных модулей. Каждый последующий блок учитывает перенос предыдущего. Восьмиразрядная версия требует 8 таких модулей и 72 транзистора в стандартной TTL-реализации. Задержка распространения сигнала в такой цепочке достигает 40 нс.
Параллельные варианты с ускоренным переносом сокращают время операции до 10 нс за счет предварительного расчета всех возможных переносов. В них применяют дополнительно 18 элементов ИЛИ-И на каждый разряд, но это увеличивает энергопотребление на 15-20%.
Как полусумматор складывает два бита без учёта переноса
Полусумматор выполняет сложение двух битов (0 или 1) и формирует результат на основе логических операций. Для этого используются два базовых элемента: исключающее ИЛИ (XOR) и логическое И (AND).
Логическая структура
Входные биты A и B подаются на два логических элемента:
- XOR вычисляет сумму: S = A ⊕ B.
- AND определяет перенос: C = A ∧ B (но в полусумматоре он игнорируется).
Таблица истинности
A | B | S (XOR) | C (AND) |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
Если оба бита равны 1, XOR возвращает 0, а AND – 1, но перенос не учитывается в выходном результате.
Как полный сумматор обрабатывает перенос при сложении разрядов
Полный сумматор учитывает три входа: A, B и перенос из предыдущего разряда (Cin). Для вычисления результата и нового переноса (Cout) применяются логические операции.
Сначала определяется промежуточная сумма S = A ⊕ B ⊕ Cin. Операция XOR гарантирует, что S будет равна 1, если нечётное количество входов активно.
Перенос формируется по правилу: Cout = (A ∧ B) ∨ (Cin ∧ (A ⊕ B)). Это означает, что Cout принимает значение 1 в двух случаях: если оба текущих бита (A и B) равны 1 или если один из них равен 1 и есть входящий перенос.
Для реализации на логических элементах потребуются два XOR, два AND и один OR. Например, в базисе И-НЕ можно разложить формулы на 9 элементов.
При каскадном соединении перенос передаётся последовательно. Задержка распространения сигнала в такой конфигурации пропорциональна количеству разрядов.