Карточка 6. Шины и адресное пространство
Паспорт концепта
- Уровни: 8 «8-битный Сумматор» (25 мин), 13 «Сердце математики» (30 мин), 20 «Двойное чтение» (20 мин), 21 «Указатели» (25 мин), 22 «Шина» (30 мин). Уровни 8 и 13 — часть 1, 20–22 — часть 2.
- Суммарно: ~130 минут игры. Концепт сквозной: уровни 8 и 13 проходятся в своё время, карточка собирает их в одну линию вместе с 20–22.
- Результаты обучения: ученик объясняет шину и байт; каскад MUX на шинах; двойное чтение из двух банков ROM; указатели и косвенную адресацию; конфликт на шине и разделение устройств дешифратором адреса.
- Гайды: ур. 8, ур. 13, ур. 20, ур. 21, ур. 22.
План занятия на 45 минут
Занятие привязано к уровням 21–22; уровни 8 и 13 предполагаются пройденными.
- 0–10 мин. Вспомните шину из уровня 8: один провод носит целый байт. Вопрос классу: а если на один провод подсоединить два источника?
- 10–25 мин. Сборка уровня 22. Перед проверкой каждый проверяющий в паре должен назвать, кто сейчас «ведёт» шину.
- 25–35 мин. Разбор концепт-чека уровня 22 про конфликт. Введите правило: на шине в каждый момент ровно один драйвер; за порядком следит дешифратор адреса.
- 35–45 мин. Косвенная адресация на руках: ячейка 5 хранит адрес 9; «читай по адресу, записанному в ячейке 5». Домой: уровень 21, если не пройден.
Вопросы для обсуждения
- Чем шина отличается от восьми отдельных проводов? Что экономит шина и чем за это платим?
- В уровне 20 счётчик адресует два банка ROM. Как один адрес выбирает, из какого банка читать?
- Ячейка 5 хранит число 9. Чем отличается LDA 9 от «LDA по указателю из ячейки 5»? Когда без второго способа не обойтись?
- RAM и геймпад одновременно выдают данные на общую шину. Почему результат непредсказуем, а не «сложение» и не «победит ближний»?
- Дешифратор адреса разрешает ровно одному устройству говорить. Что он должен сделать с остальными?
- Сколько ячеек адресует 8-битный адрес? А что изменится с 16-битным?
Ожидаемые ошибки
Список собран из неверных вариантов концепт-чеков; по мере накопления телеметрии он будет уточняться по реальной доле верных ответов с первой попытки.
- Ученик говорит: «значения сложатся, и шина передаст сумму». Реакция: шина не сумматор, у неё нет вентиля сложения. Два драйвера тянут одну линию каждый в свою сторону; итог зависит от вентилей, а не от арифметики.
- Ученик говорит: «победит устройство ближе к процессору, путь короче». Реакция: электрически оба выхода соединены с одной линией; длина провода не даёт приоритета. Порядок назначает дешифратор, а не геометрия.
- Ученик путает адрес и значение в косвенной адресации. Реакция: две колонки на доске: «номер ячейки» и «что в ней лежит»; разберите ячейку 5 → 9 → содержимое 9 по шагам.
- Ученик считает шину «медленной». Реакция: вспомните, сколько проводов ушло бы на восемь независимых шин между всеми парами устройств. Шина — компромисс между проводами и порядком.
Критерии оценки
- Собрал. Уровни 20–22 закрыты.
- Собрал и объяснил. Объясняет конфликт на шине и роль дешифратора адреса, отвечает на вопросы 1, 4, 5.
- Перенёс на новую задачу. Выполнил задачу для сильных или сам формулирует, что произойдёт при двух включённых дешифраторах.
Задача для сильных
В песочнице постройте схему с двумя устройствами на одной шине и дешифратором адреса на один бит (A=0 — RAM, A=1 — регистр). Продемонстрируйте оба режима и покажите, что будет при ошибке в адресном проводе.
Парная работа
Проектировщик собирает уровень 22; проверяющий перед каждой проверкой заполняет таблицу «кто ведёт шину / кто слушает» для каждого адреса из теста. Если проектировщик подключил второй источник без разрешения дешифратора, проверяющий обязан остановить сборку и показать конфликт. Смена ролей — после каждой зелёной проверки.