Интеграция: машина оживает
Паспорт модуля
| Параметр | Значение |
|---|---|
| Аудитория | 🟡🔴; собраны и приняты узлы М4, М6–М9, М12; 🟢 участвуют узлами и на демонстрации |
| Аутентичная задача | запустить собственный компьютер: программа, введённая в память, исполняется автоматически до HLT; результат — на семисегментнике М2 |
| Объём | 5 занятий × 90 мин + пробный тур |
| Оборудование | общий каркас (фанера/оргстекло с посадочными местами плат модулей), межмодульные шлейфы по цветовой конвенции, RP2350, узел OUT из М2 |
| Ограничения | 5 В; единая земля-звезда; питание всех модулей от одного БП с запасом по току (замерить суммарное потребление — пункт чек-листа) |
Аутентичная задача. После модуля обучающиеся смогут: продемонстрировать полный цикл «программа в кодах → ввод в RAM → автономное исполнение → результат на индикаторе» и объяснить жюри любой такт по трассе.
Цели
| № | Обучающиеся … | Блум—Андерсон | Миллер | Проверка |
|---|---|---|---|---|
| 1 | интегрируют узлы по пусковому чек-листу с поэтапной проверкой | применять | делает | подписанный чек-лист |
| 2 | пишут в машинных кодах и исполняют программу с циклом и ветвлением | создавать | делает | Фибоначчи до переполнения + JC на HLT |
| 3 | сопоставляют трассу RP2350 с ожидаемым микрокодом такт в такт | анализировать | показывает как | аннотированная трасса 20 тактов |
| 4 | локализуют неисправности интегрированной машины за ограниченное время | анализировать | показывает как | пробный тур |
Оценивание
Пробный тур (итог линии А, формат приближен к соревновательному): команда получает машину с тремя заложенными неисправностями (уровни: провод, микрокод, программа) и эталонную программу; 45 минут; критерии жюри: машина исполняет эталон (4 б), протокол локализации (3 б), ответы на «почему» (3 б). Рубрика опубликована заранее — как на настоящем состязании.
Путь
| № | Тема | Разминка | Ядро |
|---|---|---|---|
| 1 | Каркас и питание | кумулятивный квиз М6–М12 | сборка на каркасе; земля-звезда; замер тока; дымовой тест по чек-листу (питание — без ПЗУ и RAM в панельках → вставка по одной) |
| 2 | Первая команда | слово управления по памяти | однотактный прогон LDI 42; OUT — «42» на семисегментнике: момент, ради которого всё затевалось |
| 3 | Программа с циклом | раскладка JC | ввод счётчика 0..255 c JC на HLT; авто-режим 100 Гц |
| 4 | Фибоначчи | 3 вопроса зан. 3 | worked example листинга (ниже); ввод через RP2350-загрузчик; аннотирование трассы |
| 5 | Пробный тур | — | см. «Оценивание»; рефлексия после |
Worked example — Фибоначчи в машинных кодах Я74-ISA (адреса данных: 0xF0=a, 0xF1=b, 0xF2=t):
0x00: 05 01 LDI 1 ; A=1
0x02: 04 F0 STA a
0x04: 04 F1 STA b
0x06: 01 F0 LDA a ; цикл:
0x08: 0E 00 OUT ; показать a
0x0A: 02 F1 ADD b ; A=a+b, флаг C при переполнении
0x0C: 07 16 JC halt ; вышли за 255 — стоп
0x0E: 04 F2 STA t
0x10: 01 F1 LDA b
0x12: 04 F0 STA a ; a=b
0x14: 01 F2 LDA t
0x16: 04 F1 STA b ; b=t (адрес halt скорректировать при набивке!)
0x18: 06 06 JMP 0x06
0x1A: 0F 00 HLTНамеренная «шероховатость» листинга (комментарий про адрес halt) оставлена как учебная: при ручной адресации любая вставка сдвигает метки — боль, которую обучающийся должен прочувствовать до М14. Ассемблер в следующем модуле придёт как избавление, а не как данность: мотивация, выращенная из собственного опыта.
Типичные ошибки интеграции: земли модулей соединены цепочкой, а не звездой — сбои на длинных программах; разные версии цветовой конвенции у разных авторов плат (аудит шлейфов — отдельный пункт чек-листа); «работает на однотактном, сбоит на 500 Гц» — искать дребезг/наводки/питание, а не «магию» (метод: снижать частоту до порога сбоя и логировать трассу); паника при первом отказе — вернуть к протоколу бинарного поиска из М4/М9.
Уровни
Участие узлами (OUT, CLK), демонстрация «42», рассказ о своём модуле на общей защите.
Полная интеграция, Фибоначчи, аннотированная трасса, пробный тур.
Своя программа с двумя вложенными условиями (например, умножение сложением); измерение реальной предельной частоты машины и объяснение лимитирующего пути (мост к М16/М17).