Карточка 2. Сумматор и перенос
Паспорт концепта
- Уровни: 6 «Полусумматор» (15 мин), 7 «Полный сумматор» (20 мин), 8 «8-битный Сумматор» (25 мин). Часть 1.
- Суммарно: ~60 минут игры, обычно два занятия.
- Результаты обучения: ученик объясняет, как сложение двух битов даёт два выхода (Sum и Carry); объясняет перенос между разрядами; собирает 8-битный сумматор как цепочку переносов и говорит, что такое шина и байт.
- Гайды: ур. 6, ур. 7, ур. 8.
План занятия на 45 минут
Занятие рассчитано на прохождение уровней 6–7; уровень 8 ученики доходят сами к следующему разу.
- 0–10 мин. Разминка у доски: сложите столбиком 11₂ + 01₂. Спросите, что делать с единицей из старшего разряда. Введите слово «перенос».
- 10–25 мин. Самостоятельная сборка уровня 6. Подсказки открываются по лестнице: идея, затем схема после гайда, семи неудач или десяти минут; не спешите открывать гайд.
- 25–35 мин. Разбор: почему одного XOR мало для полного сумматора. Вопрос-мост: «что изменится, если сверху прилетит перенос из прошлого разряда?»
- 35–45 мин. Уровень 7 в парах (роли — см. ниже). Домашний кусок: уровень 8 целиком, гайд не открывать.
Вопросы для обсуждения
- Почему у сложения двух битов два выхода, а не один? Куда девается единица из 1+1?
- Полусумматор не принимает CarryIn. Приведите пример столбиком, где без него не обойтись.
- Почему CarryOut считается как «хотя бы два входа из трёх равны единице»? Проверьте формулу на всех восьми комбинациях.
- В 8-битном сумматоре перенос идёт цепочкой. Что происходит со временем вычисления, если разрядов станет 32?
- Что такое шина и чем она отличается от восьми отдельных проводов с именами bit0…bit7?
- Сумматор посчитал 127+1 и выдал 10000000₂ при Carry=0. Для беззнаковых чисел ответ верный (128). А что увидит схема, работающая со знаковыми числами?
Ожидаемые ошибки
Список собран из неверных вариантов концепт-чеков; по мере накопления телеметрии он будет уточняться по реальной доле верных ответов с первой попытки.
- Ученик говорит: «для суммы битов подходит OR, ведь 1+0=1 и 0+1=1». Реакция: проверьте 1+1. OR выдаёт единицу, а сумма должна быть нулём с переносом. Нужен вентиль, который отличает «разные биты» от «хоть один»: XOR.
- Ученик говорит: «8-битный сумматор медленный, потому что сигналы шире». Реакция: ширина шины не замедляет параллельные разряды. Узкое место — цепочка переноса: старший разряд ждёт младших.
- Ученик говорит: «в цепочке стоят лишние вентили AND, поэтому всё медленно». Реакция: лишних нет; задержка создаётся последовательным путём переноса, и её не убрать, не поменяв архитектуру (см. схемы с ускоренным переносом — тема для сильных).
- Ученик соединяет CarryOut и CarryIn «наоборот» (старший питает младшего). Реакция: прогоните столбиком 1+255 и посмотрите, какой разряд первым узнаёт о переносе.
Критерии оценки
- Собрал. Уровни 6–8 закрыты, «Проверить» зелёное.
- Собрал и объяснил. Проговаривает роль CarryIn, рисует цепочку переносов для двух разрядов, отвечает на вопросы 1–4.
- Перенёс на новую задачу. Выполнил задачу для сильных или сам объясняет, почему 200+100 даёт Carry=1, а 127+1 — нет.
Задача для сильных
Соберите полный сумматор в песочнице без использования чипа FullAdder — только из XOR, AND и OR. Затем второй вариант: из двух чипов HalfAdder и одного OR. Сравните число вентилей и объясните, почему варианты эквивалентны.
Парная работа
Проектировщик собирает схему, глядя в условие; проверяющий держит перед собой таблицу истинности полусумматора и проговаривает вслух каждый вектор до нажатия «Проверить». Проверяющий не трогает мышь, но обязан спросить «а что будет на входе 1+1?» до теста. Смена ролей — на каждом новом уровне (с 6 на 7).