Skip to content

2.6 · Компаратор

Цель. Построить схему сравнения чисел из XOR и понять, как машина отвечает на вопрос «равны ли?» — операция, на которой держатся все условия if в программах.

🎣 Крючок + прогноз (5 мин)

«Домофон сравнивает введённый код с записанным. Банкомат — PIN. Прогноз: какой из известных вам вентилей сравнивает два бита?» (Подсказка в названии урока 2.2.)

🧠 Теория (10 мин)

XOR = детектор различия: 1, если биты разные. Значит, два числа равны, когда все поразрядные XOR дали 0:

  A1─┐                     все нули?
  B1─┴[XOR]─┐
  A2─┐      ├─[OR]─┐
  B2─┴[XOR]─┘      ├─[OR]──○──[NOT]── EQUAL
  A3─┐      ┌──────┘
  B3─┴[XOR]─┤
  A4─┐      │
  B4─┴[XOR]─┘

Хотя бы одно различие → OR-дерево даёт 1 → NOT гасит EQUAL. Различий нет → EQUAL=1.

Промышленный вариант — 74AC521: сравнивает сразу два 8-битных числа, внутри ровно эта схема.

🔧 Практика (22 мин)

2-битный компаратор на вентилях

74HC86 (2 XOR) + 74HC32 (OR) + 74HC04 (NOT). Два DIP по 2 ячейки. Прогноз → проверка на 4–5 парах чисел.

⭐⭐ Настоящий 8-битный: 74AC521

По даташиту (первая страница — выдаётся): входы P и Q, выход ~P=Q активен нулём (это новинка — обсудите значок ~). Сравните два байта с DIP-переключателей.

⭐⭐⭐ Кодовый замок 2.0

Соедините: DIP «секретный код» + кнопки «ввод» + компаратор = замок из 5 класса, но код теперь меняется без пересборки. Почувствуйте разницу между «зашитой» логикой и данными.

✅ Чек-лист

  • Объясняю схему «XOR-ы → ИЛИ → НЕ» своими словами
  • Собрал 2-битный компаратор
  • ⭐⭐ Разобрался с активным-нулём у 74AC521
  • ⭐⭐⭐ Осознал разницу «логика vs данные» (одно предложение в бортжурнал)