Московский государственный университет имени М.В.Ломоносова

Всероссийский съезд  учителей
и  преподавателей математики
и  информатики

Москва,
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

Современные варианты 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 классы
  • Мотивация:
    • Группы «программистов» и «ролевиков» различаются
    • Обе группы примерно равновелики
      (по отчётам, точного исследования не проводилось)
  • Демотивация:
    • Есть «стеснительные + нелюбопытные»
    • «Какое приложение у вас древнее!»
    • «Четверг, седьмой урок»…
  • Остаточные знания — ?

Спасибо!

Вопросы? Предложения?

LMC

By Георгий Курячий

LMC

Использование Little Man Computer и ролевой игры по нему на уроке информатики

  • 750