Московский государственный университет имени М.В.Ломоносова
Всероссийский съезд учителей
и преподавателей математики
и информатики
Москва,
18–19 ноября 2021 г.
Модельные ЭВМ: алгоритм, архитектура, игра
Курячий Георгий Владимирович
Москва, преподаватель факультета ВМК
МГУ, ведущий разработчик «Базальт СПО».
Матькунова Полина Викторовна
Москва, учитель математики и информатики, школа самоопределения № 734 имени А. Н. Тубельского
Секция 1. Цифровизация и дистанционное обучение, новые технологии и цифровые образовательные средства
Информатика:
наука или технология?
- Наука смотрит в будущее
- Технология актуальна сейчас
- Базовые знания очень далеки от практики
- ⇒ Воспринимаются в отрыве друг от друга
Знания и практика
- Архитеркура фон Неймана — знания
- Смартфон — повседневная практика
- Алгоритмы и структуры данных — знания
- Облачные сервисы и приложения — практика
- Явного следа базовых знаний в повседневности нет
- Мотивация учиться?
Модельные ЭВМ
и Little Man Computer
- Нарочитая схематическая простота
- Классическая фон-неймановская архитектура
- Наличие средств визуализации работы
- Архаичность в угоду минимализму
Little Man Computer
Реализация Питера Хиггинсона
- Всего 10 инструкций в системе команд
- Визуализация работы
- В реальном времени
- В т. ч. «микропрограммного» уровня
- Визуализация потоков данных
- Общая память инструкций и данных
- Встроенный транслятор
- Одноадресная архитектура
- Выбрать «select →add»
- Нажимать «step»
- …или «run»
- OPTIONS:
- «default slow»
- …
Что можно и что нельзя
- Можно:
- классическая архитектура
- микропрограммная организация
- Нельзя: стек, косвенная адресация
- Можно:
- основы алгоритмистики
- фазы программирования
- Нельзя: массивы и подпрограммы
LMC и «Архитектура ЭВМ»
- На начальном уровне:
- общая память и адресация
- порядок выполнения инструкций
- ввод-вывод
- Глубже:
- шины адреса, данных и В/В
- АЛУ и УУ
- регистры и зачем они нужны
LMC и «Архитектура ЭВМ»
недостатки и пожелания
- Нет аппаратной поддержки стека
- ⇒ нет подпрограмм
- Только прямая адресация
- ⇒ нет массивов
- (самомодифицирующийся код? ☹)
- Различные устройства ввода-вывода?
- ⇒ Это небольшая тема
LMC и «Программирование»
- Понятие исполнителя и демифологизация
- Условный оператор как переход вперёд
- Цикл как условный переход назад
- Понятие трансляции
- Дисциплина комментирования
- Метки и переменные
LMC и «Программирование»
недостатки
- Нет и не будет процедур / функций
- Нет вменяемых массивов
- Мало памяти
- Сложно формулировать
- ⇒ Это небольшая тема
Что делать дальше?
- Программирование: высокоуровневый ЯП
- Программирование: язык Си
- Архитектура: современные варианты LMC
- Архитектура: актуальные ABI/ISA
- Архитектура: классификация периферии
(не по внешним данным, а по способу
взаимодействия с памятью и процессором)
Программирование
- Высокоуровневый ЯП: инварианты
- «Исполнитель»
- «Условный переход» и «цикл»
- «Переменная»
- Язык Си: связь с архитектурой ЭВМ
- Адреса, стек, куча
- ABI
- Работа с памятью
- (это очень большая тема)
Актуальные архитектуры
- Относительная простота ISC
- (редкость, на самом деле)
- Современность
- Удобство визуализации и отладки
- Дополнительные компоненты
- Типовые внешние устройства
- Мотиваторы (графика, звук)
- Рекомендуется архитектура RISC-V
- Много качественных эмуляторов
- (например, RARS, WepSIM и т. п.)
Современные варианты LMC
- Минималистичный вариант Поля Бринкмайера
- Война танков Пита Дринга
- …прочие в количестве
- …или доработка имеющегося?
Социальное закрепление темы
- Проблемы:
- Отсутствие мотивации
- Отсутствие социального компонента
- Усталость, невоспримчивость
- Вариант решения: ролевая игра
- Является частью архитектуры LMC
- Задействует другие механизмы мотивации
Информатика — это не для меня…
- Математическая травма
- Отсутствие мотивации предметом
- «Какое приложение у вас старое!»
- Психологические особенности ребёнка
- Возрастные особенности
- Четверг, седьмой урок…
LMC и ролевая игра
- LMC разрабатывался как система карточек
- Имеет чётко выделенные компоненты
- Роль каждой компоненты определена
- Добавляем «игровой сценарий» — программу
- Получаем ролевую игру
- Взаимодействие в микроколлективе
- Закрепление базовых знаний
- Двигательная и речевая активность
Ролевая игра
- Ход игры: «компоненты» исполняют программу
- Возможны разные уровни детализации
- Требует проработки сценария
- Главная нагрузка — на Процессор
- Результаты на 6-7-8 классах
- Вовлечение незаинтересованных — да
- Остаточные знания — ?
- «Четверг, седьмой урок»…
Ролевая игра
Участвуют трое трое: Процессор, Память и Ввод-Вывод
- (Процессор) Память! Выдай мне содержимое ячейки по адресу 0!
- (Память) 511
- (Процессор, сам себе) Декодируем команду. 5 — это чтение, 11 — это адрес
- (Процессор) Память! Выдай мне содержимое ячейки по адресу 11!
- (Память) 42
- (Процессор, сам себе) Следующая команда по адресу 1
- (Процессор) Память! Выдай мне содержимое ячейки по адресу 1!
- (Память) 902
- (Процессор, сам себе) Декодируем команду. 9 — это ввод-вывод, 02 — вывод
- (Процессор) Ввод-вывод! Выведи 42!
Большая Игра
- Возможно несимметричное совмещение ролей
- Необходима тщательная подготовка сценария
(чтобы все участники были задействованы) - Возможно естественное введение понятия конвейера
- Память фиксировано долго выполняет операцию
- В это время Процессор доделывает часть действий
- При проявлении зависимости по данным, ждёт
- Существенно бóльшая нагрузка на Устройство Управления
Большая Игра
- (Устройство Управления, далее УУ) Счётчик команд! Следующая команда?
- (Счётчик Команд) Ну, 0…
- (УУ) Адресная Шина! Содержимое ячейки по адресу 0!
- (Адресная Шина) Память! Что там по адресу 0? (Память роется в бумажках)
- (УУ) Арифметическое Устройство (далее АЛУ)! Прибавь 1 к 0!
- (АЛУ) 1, у тебя с арифметикой что, совсем никак?
- (Память, нашла бумажку) Шина Данных! 511.
- (Шина Данных) Устройство Управления! 511.
- (УУ) Что 511? А, да. 5 — это чтение, 11 — это адрес.
- (УУ) Адресная Шина! Содержимое ячейки по адресу 11!
- (Адресная Шина) Память! Что там по адресу 11? (Память роется в бумажках)
- …
Результаты
- Непрофильные 6-7-8 классы
- Мотивация:
- Группы «программистов» и «ролевиков» различаются
- Обе группы примерно равновелики
(по отчётам, точного исследования не проводилось)
- Демотивация:
- Есть «стеснительные + нелюбопытные»
- «Какое приложение у вас древнее!»
- «Четверг, седьмой урок»…
- Остаточные знания — ?
Спасибо!
Вопросы? Предложения?
- Все слайды: https://slides.com/frbrgeorge/lmc/fullscreen
- Георгий Курячий <frbrgeorge @ gmail.com>
- Полина Матькунова<matkunova @ gmail.com>
LMC
By Георгий Курячий
LMC
Использование Little Man Computer и ролевой игры по нему на уроке информатики
- 730