Проекты*

Модульная программно-аппаратная платформа для освоения разработки микропроцессорных систем

Работа призёра конкурса проектов и исследований «Инженеры будущего» открытой городской научно-практической конференции «Инженеры будущего» в секции «Инновации умного города. Умная школа» среди работ учащихся 10–11 классов

Направление работы: Программирование, Микроэлектроника, Архитектура ЭВМ
Авторы работы: ГБОУ Школа № 1537
Предметы: Информатика
Классы: 11 класс
Мероприятия: Конкурс проектов и исследований «Инженеры будущего» открытой городской научно-практической конференции «Инженеры будущего» 2021 года

Актуальность

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

Цель

Разработка программно-аппаратной платформы на базе ПЛИС для изучения устройства и освоения разработки микропроцессорных систем на всех этапах – от создания аппаратного обеспечения до разработки пользовательских прикладных программ.

Задачи

  1. Разработка аппаратного обеспечения.
  2. Разработка микропроцессорного ядра.
  3. Разработка периферийных контроллеров.
  4. Отладка микропроцессорного обеспечения.
  5. Разработка и отладка компилятора и интерпретатора языка Форт.
  6. Реализация Форт-ядра.
  7. Разработка Форт-программ для тестов.

Оснащение и оборудование, использованное при создании работы

  • Отладочные платы на базе ПЛИС Altera семейства Cyclone 4 – для отладки программного обеспечения
  • Программатор для ПЛИС – для загрузки ПО в отладочную плату
  • Компьютер со средой Quartus Prime Lite Edition – для разработки ПО
  • Язык описания аппаратуры SystemVerilog – для описания архитектуры в виде иерархической системы модулей. ModelSim-Altera – для симуляции схемы
  • Язык программирования C++ в среде Code::Blocks – для разработки и отладки компилятора языка Форт

Описание

Предложенная в проекте микропроцессорная система в целом реализует архитектуру ЭВМ:

  • на уровне аппаратуры – пакет аппаратных модулей со всем необходимым электронным и архитектурным обеспечением;
  • на уровне микроархитектуры и архитектуры набора команд – реализованная в рамках проекта микропроцессорная архитектура, её описание и языковая реализация для ПЛИС;
  • на уровне программного обеспечения (ПО) – разработанное ядро языка Forth (Форт), реализующее функции операционной системы, интерпретатора, компилятора и базового высокоуровневого языка для разработки пользовательского программного обеспечения.

В связи с образовательной направленностью платформы, необходимостью снижения стоимости базового комплекта аппаратного обеспечения и выбором первичного языка программирования автором было решено разработать 16-разрядную архитектуру, заточенную под исполнение Форт-программ, ядро которой состоит из пяти модулей:

  1. главный контроллер (Main Controller, MC) – модуль, управляющий стеком данных и возвратов, ПЗУ ядра Форта, внутренними регистрами, оперативной памятью, распределяющий команды и обрабатывающий прерывания;
  2. арифметико-логическое устройство (Arithmetic Logic Unit, ALU) – набор решений на языке описания аппаратуры, реализующих арифметико-логические операции (суммирование, умножение, сдвиг и т.д.);
  3. модуль регистрового файла обмена (Exchange Register File, EXF) – универсальный блок памяти для обмена данными между модулями ядра и периферии, значительно упрощает коммуникацию и изменение архитектуры;
  4. модуль таймеров (Timer Unit, TU);
  5. модуль вектора прерываний.

Ресурсами ПЛИС осуществляется логика работы периферийных устройств. Автором разработан набор плат-модулей, реализующий периферийный функционал микропроцессорной системы: индикационный модуль из восьми семисегментных индикаторов на базе Max7219; модуль VGA; модуль контроллера PS/2-клавиатуры; модуль выбора индикационного каскада на базе CD74HC138E; модули шин питания и связи.

Результаты работы/выводы

  1. Реализована архитектура микропроцессора: 750 LUT, 10000 ячеек памяти, максимальная частота процессора (EP4CE22F17C6) – 137 МГц, высокая степень параметризации модулей, универсальная система работы с периферией, крайняя компактность кода и т.д.
  2. Разработан код необходимых базовых модулей, дающий широкие возможности к модификации и разработке на базе готового программного обеспечения.
  3. Реализованная система разработки позволяет разрабатывать и отлаживать программы на языке программирования Форт.
  4. Платформа реализует наглядное и удобное пособие для изучения устройства и разработки ЭВМ, а также набор инструментов реализации Форт-систем для решения различных задач.
  5. Проведённые испытания на отладочных платах с чипами Altera семейства «Cyclone 4» подтверждают полную работоспособность разработанной системы.

Перспективы использования результатов работы

Гибкость разработанной программно-аппаратной платформы реализует конструктор, на базе которого ученик может собрать машину со своим набором аппаратной периферии, изменённой на внутрисхемном уровне процессорной архитектурой и реализованным пакетом программного обеспечения на проблемно-ориентированном языке. Это позволяет расширить круг применения предлагаемой системы за пределы образовательной сферы, поскольку имеется возможность настроить реализуемую на базе платформы систему под решение реальных общих и специальных задач.

Сотрудничество с вузом/учреждением при создании работы

МГТУ им. Н.Э. Баумана, компания образовательной электроники «ЛАРТ»

Награды/достижения (в каких конкурсах и с какими результатами выставлялась ранее эта работа)

Всероссийский форум научной молодёжи «Шаг в будущее» – победитель.

Всероссийский конкурс им. В.И. Вернадского – победитель.

Всероссийский конкурс научных работ «Юниор» – призёр.

Мнение автора

«Работа над проектом позволила мне применить приобретённые знания и умения к решению практической задачи, имеющей реальное применение в образовательной сфере и перспективное значение в других прикладных областях. Участие в конференциях развивает навыки делового общения, даёт возможность проявить себя, познакомиться с увлечёнными и разносторонними людьми, получить новые идеи для дальнейшего развития».