Skip to main content

11. Полусумматор

11. Полусумматор

🎯 Цель урока
Понять как складывать два бита. Построить полусумматор из XOR и AND.

🎮 Фаза 1: Симулятор (10 мин)

Turing Complete

Пройди Level 5: Half Adder

Задача

Сложить два однобитных числа A и B. Результат — сумма S и перенос C.


🧠 Фаза 2: Теория (10 мин)

Сложение в столбик (десятичное)

    17
  + 25
  ────
    42
  перенос в следующий разряд

Сложение в двоичной системе

ABСумма (десятичная)S (бит суммы)C (перенос)
00000
01110
10110
112 = 10₂01

Ключевое наблюдение:

  • 1 + 1 = 2 = 10 в двоичной → записываем 0, переносим 1!

Формулы полусумматора

Посмотри на таблицу:

Сумма S:

ABS
000
011
101
110

Это же XOR!

$$S = A \oplus B$$

Перенос C:

ABC
000
010
100
111

Это же AND!

$$C = A \land B$$

Схема полусумматора

        ┌─────────┐
   A ───┤         ├─── S (Sum)
        │   XOR   │
   B ───┤         │
        └─────────┘
        
        ┌─────────┐
   A ───┤         ├─── C (Carry)
        │   AND   │
   B ───┤         │
        └─────────┘

Всего 2 вентиля!


🔧 Фаза 3: Собираем (20 мин)

Компоненты

КомпонентКоличество
74HC86 (XOR)1
74HC08 (AND)1
LED2 (разных цветов)
Резистор 330 Ом2
Резистор 10 кОм2
Кнопки2

Схема на макетке

    Кнопка A ──┬─── 74HC86 Pin 1 ─┐
               │                   ├── Pin 3 ── LED (S)
    Кнопка B ──┼─── 74HC86 Pin 2 ─┘
               ├─── 74HC08 Pin 1 ─┐
               │                   ├── Pin 3 ── LED (C)
               └─── 74HC08 Pin 2 ─┘

Проверка

Кнопка AКнопка BLED SLED CЗначение
00🔴🔴0 + 0 = 0
01🟢🔴0 + 1 = 1
10🟢🔴1 + 0 = 1
11🔴🟢1 + 1 = 10₂ (перенос!)

💡 Почему “полу”-сумматор?

Проблема: Не учитывает входящий перенос из предыдущего разряда!

Сложение многоразрядных чисел:

      C₁  C₀        ← переносы
       1   1
    +  1   0
    ───────────
     1  0   1

Для второго разряда нужно сложить ТРИ бита:
- A₁
- B₁  
- C₀ (перенос из первого разряда)

Полусумматор не может это сделать — нужен полный сумматор!


🔬 Эксперимент: Каскадирование (10 мин)

Попробуй соединить два полусумматора для сложения 2-битных чисел:

    A₀, B₀ → HA₀ → S₀, C₀
    A₁, B₁ → HA₁ → S₁, C₁
    
    Но как учесть C₀ во втором разряде? 🤔

Спойлер: Для этого нужен полный сумматор — следующий урок!


📝 Мини-задания

Сколько вентилей в полусумматоре?

Ответ: 2 (один XOR + один AND)

Что даёт 1 + 1 в двоичной системе?

Ответ: 10₂ (S=0, C=1)

Почему полусумматор “половинчатый”?

Ответ: Не учитывает входящий перенос из младшего разряда


🧮 Формулы урока

$$S = A \oplus B$$$$C_{out} = A \land B$$

✅ Чеклист

  • Понимаю двоичное сложение
  • Знаю формулы S и C
  • Собрал полусумматор
  • Понимаю ограничение (нет Cᵢₙ)

➡️ Следующий урок

12. Полный сумматор →