О проекте «Компьютер Ершова»


Почему «Компьютер Ершова»?

Название проекта отражает его главную цель — собственными руками, шаг за шагом, собрать полноценный работающий компьютер. Отдельные узлы и вентили, как детали конструктора, складываются в процессор, способный исполнять настоящие программы. Проект назван в честь академика Андрея Петровича Ершова — пионера отечественного программирования и создателя первой школьной программы по информатике.

Современный софт часто воспринимается как магия, за которой не видно физики и логики «железа». Цель симулятора — сделать архитектуру компьютера прозрачной и понятной любому, кто хочет заглянуть под капот вычислительной техники.

Ведь академик Андрей Петрович Ершов говорил: «Программирование — вторая грамотность». Наш курс развивает эту мысль: чтобы писать эффективный софт и понимать цифровой мир, полезно знать его «алфавит» — от кремниевых вентилей и триггеров до тактовых генераторов и регистров.


В чем отличие от NANDgame?

Часто задают вопрос, чем «Компьютер Ершова» отличается от культовой NANDgame.

NANDgame — отличная головоломка, где вся архитектура собирается из единственного вентиля НЕ-И (NAND). Красиво и минималистично, но это скорее математический вызов, чем учебный курс. «Компьютер Ершова» ставит другую цель: последовательное обучение схемотехнике — с теорией, даташитами и проверкой каждой схемы.

Курс начинается с наглядного провода и базовой логики, а дальше подробно разбираются шины, адресация памяти, Memory-Mapped I/O и дешифратор команд, после чего вы переходите к Verilog. Периферию вы настраиваете сами: адресный дешифратор, порты ввода-вывода, устранение конфликтов на шине.

При этом симулятор не бросает вас одного: к каждому уровню есть гайд, к компонентам — даташиты, в библиотеке — статьи по схемотехнике. А внутренняя экономика транзисторов поощряет самостоятельную сборку — чем меньше подсказок, тем выше награда.


Как работает симулятор

«Компьютер Ершова» — это интерактивная образовательная среда, которая шаг за шагом проведёт вас от простейших базовых схем до сборки работающего 8-битного процессора.

  • Визуальное конструирование: Вы собираете схему из логических элементов (вентили И, ИЛИ, НЕ, мультиплексоры, триггеры) прямо на холсте в браузере, соединяя их проводами.
  • Мгновенная проверка: Встроенная система валидации автоматически сравнивает поведение вашей собранной схемы с целевой таблицей истинности текущего уровня.
  • Плавное усложнение: По мере прохождения уровней открываются новые, более сложные компоненты. Мелкие схемы упаковываются в чипы, а задачи усложняются вплоть до написания программ для собственного процессора на языке ассемблера.

Для кого этот проект

Проект спроектирован так, чтобы быть интуитивно понятным даже новичкам, но при этом достаточно глубоким для профильных задач:

  • Школьников, изучающих информатику и желающих выйти за рамки стандартного учебника.
  • Студентов начальных курсов технических специальностей (для практики по архитектуре ЭВМ и схемотехнике).
  • Всех энтузиастов, кому интересно разобраться, как компьютер работает на самом деле — на уровне единиц, нулей и транзисторов.

От автора: идея и создание

Создатель проекта, Дмитрий Калашников, окончил аспирантуру в Институте систем информатики им. А. П. Ершова СО РАН. В конце 2000-х он читал курс лекций по архитектуре ЭВМ в Высшем колледже информатики НГУ — и ему остро не хватало подобного тренажёра для студентов.

Идея тренажёра во многом вдохновлена университетской программой «Один студент — один чип» (One Student One Chip, сокр. YSYX), где каждый учащийся проходит путь от первых логических схем до собственного работающего процессора, а самые продвинутые — до выпуска реального чипа (tape-out).

В российской практике такого сквозного трека пока не хватает, и начинать стоит ещё в старших классах и на первых курсах. Когда школьник или студент сам собирает из логических элементов АЛУ, память и дешифратор команд, а затем запускает на этом коде игру — абстрактные схемы из учебников превращаются в осязаемый навык. Этим симулятором автор вносит свой вклад в развитие инженерного мышления и чтит память школы академика Ершова.

Дмитрий Калашников

«Компьютер Ершова» для учебных заведений

«Компьютер Ершова» — бесплатный браузерный практикум по схемотехнике и архитектуре ЭВМ: 47 уровней от вентиля NAND до 8-битного процессора, ассемблера, структурного Verilog и экспорта проекта для FPGA. Он подходит как практический модуль для школы (электив, факультатив, кружок, инженерный или ИТ-класс), СПО и первого курса вуза — подробнее на странице для учебных заведений.

Что доступно преподавателям уже сейчас:

  • Автоматическая проверка: схемы и программы проверяются по таблицам истинности, структурным и программным чекпойнтам — без ручной проверки сотен скриншотов.
  • Программа курса и методическая база: таймлайн всех 47 уровней с темой, сложностью, временем и измеримым результатом, 47 гайдов по уровням, даташиты компонентов, 46 статей и руководство по ассемблеру.
  • Кабинет преподавателя и классы: коды приглашений, прогресс и активность каждого ученика, аналитика группы и CSV-выгрузка ведомости. Ученики входят в класс по коду и нику — без email и пароля; прогресс синхронизируется между устройствами.
  • Концепт-чеки и ИИ-наставник: вопросы на понимание после уровней и наводящие подсказки от ИИ (доступность и квоты могут различаться).
  • Сертификаты о прохождении: по каждой части и полного курса, с публичной проверкой.

В разработке: задания с дедлайнами и управление доступом к уровням, шаблоны рабочих программ и фонд оценочных средств, английская версия кабинетов. Базовый доступ к симулятору и библиотеке останется бесплатным.

Для внедрения курса доступны методическое руководство для преподавателей (философия курса, аппаратная платформа, инструменты отладки), питч-презентация для администрации школы (ценность, результаты, профориентация) и техническое задание на лабораторную плату Ershov Board (pin-mapping, компоненты, Ershov Loader).

Для пилотного внедрения — запуск за 5 шагов на странице пилота; по вопросам подключения — контакты.


Контакты

По всем вопросам, предложениям о сотрудничестве и для запроса продвинутой версии для учебных заведений:

Если проект оказался полезным — можно поддержать его разработку.