Архитектуры процессорных систем
В курсе изучается архитектура RISC-V, проектирование процессора и использование инструментария для разработки программ под собственный процессор
Содержание курса
Данная программа повышения квалификации предназначена для преподавателей и инженеров, преподающих и изучающих архитектуру вычислительной техники и современных процессорных систем в рамках курсов по информационным технологиям и микроэлектронике. Курс построен на технологически и педагогически целостном подходе: участники последовательно проходят все этапы разработки однотактного процессора архитектуры RISC-V (набор команд RV32I с расширением Zicsr) и одновременно знакомятся с эффективными методиками обучения этой тематике. В ходе практикума слушатели шаг за шагом проектируют процессорное ядро на языке SystemVerilog, объединяют его с периферией в составе простой процессорной системы, а затем разрабатывают и запускают на созданном процессоре программы (на языках высокого уровня с компиляцией средствами GCC). При этом программа курса уделяет внимание не только технической реализации, но и педагогическим аспектам преподавания: от постановки задач и организации лабораторных работ до разбора типичных затруднений студентов и способов их преодоления.
Ключевая особенность курса – ориентация на практику и логичность структуры повествования: материалы выстроены от основ цифрового проектирования к завершённой системе на кристалле, что обеспечивает поэтапное усложнение без потери целостности восприятия. Программа повышения квалификации «Архитектуры процессорных систем» (АПС) основан на лабораторном практикуме НИУ МИЭТ по АПС, прошедшем многолетнюю эволюцию и апробацию. Используется современная открытая архитектура RISC-V, широко применяемая в образовании и индустрии, что повышает актуальность и практическую ценность занятий. Для реализации проектов применяются язык описания аппаратуры SystemVerilog, средства проектирования Xilinx Vivado и отладочные платы Digilent Nexys A7 (FPGA). Такой подход позволяет участникам курса получить ценный опыт разработки реального аппаратно-программного комплекса и одновременно освоить методику преподавания курса компьютерной архитектуры на базе актуальных технологий.
Целевая аудитория
Программа адресована преподавателям вузов, наставникам инженерных команд и профессионалам в области цифровой электроники, которые стремятся эффективно передавать студентам и начинающим специалистам практические навыки проектирования цифровых устройств и архитектуры вычислительных систем. Курс будет полезен как опытным педагогам, желающим обновить содержание и форму своих занятий, так и инженерам-разработчикам, планирующим заняться наставнической или преподавательской деятельностью.
Что получит слушатель по результатам обучения
В результате обучения участники приобретут как содержательные, так и методические компетенции, а именно:
-
Практические навыки разработки: опыт проектирования и отладки однотактного RISC-V процессора в среде Vivado на языке SystemVerilog, с последующим запуском программ на разработанном устройстве.
-
Методические рекомендации: готовые материалы и советы по организации лабораторных работ по архитектуре ЭВМ, включая настройку САПР и оборудования (FPGA), а также формат постановки задач студентам.
-
Умение выявлять и устранять ошибки: разбор типичных ошибок и затруднений, с которыми сталкиваются студенты при работе с SystemVerilog и FPGA, способы их диагностирования и объяснения путей решения.
-
Пошаговый разбор курса: детальное прохождение всех основных лабораторных заданий практикума АПС с комментариями — от простейших компонентов до интеграции системы и выполнения контрольных примеров. Это позволит в дальнейшем самостоятельно проводить аналогичный курс со студентами, понимая ожидаемые результаты на каждом этапе.
Ожидаемый опыт слушателей
Для успешного освоения программы у слушателей должны быть базовые знания в области цифровой схемотехники и компьютерной архитектуры, навыки работы с одним из языков описания аппаратуры (Verilog, SystemVerilog или VHDL), а также опыт программирования на C/C++ (для понимания программной части практикума). Предыдущий опыт работы с ПЛИС и средствами разработки (например, Vivado) будет плюсом, но не является строгим требованием — необходимые основы будут рассмотрены в ходе обучения.
Длительность
72 академических часа (включая онлайн-часть и самостоятельную работу). Очная часть программы проводится в течение двух недель в формате интенсива: ежедневные занятия с практической работой на оборудовании и последующим самостоятельным закреплением материала.
Программа интенсива
-
День 1: Введение и подготовка среды. Обзор содержания и структуры курса, цели и методы обучения АПС. Знакомство с архитектурой RISC-V и концепцией однотактного процессора. Настройка рабочей среды: установка и базовый обзор САПР Vivado, подготовка отладочной платы Nexys A7. Выполнение вводных упражнений на SystemVerilog (создание простейших цифровых схем) для освоения инструментов. Проектирование полного 32-битного сумматора с последовательным переносом.
-
День 2: Проектирование АЛУ на основе мультиплексирования. Изучение способов описания мультиплексоров на языке SystemVerilog. Проектирование арифметико-логического устройства (АЛУ) для архитектуры RISC-V.Моделирование и отладка разработанного модуля в Vivado. Обсуждение методики представления данной темы студентам и типичных ошибок при описании логики на HDL.
-
День 3: Проектирование регистрового файла. Изучение способов описания регистров и блоков памяти на языке SystemVerilog. Проектирование трёхспорового регистрового файла для архитектуры RISC-V. Моделирование и отладка разработанного модуля. Обсуждение методики представления данной темы студентам и типичных ошибок при описании логики на HDL.
-
День 4: Проектирование простейшего программируемого устройства. Объединение спроектированных ранее операционных блоков в простое процессорное ядро. Написание двоичной программы. Данное ядро реализует не RISC-V, а более простую учебную архитектуру. Моделирование и отладка процессорного ядра и реализованной двоичной программы. Цель данного занятия:
- получить простейший процессор из имеющихся блоков;
- познакомиться с обобщенным порядком функционирования процессора;
- получить опыт отладки процессорного ядра на упрощенной схеме. -
День 5: Проектирование декодера инструкций. Изучение базового набора инструкций RV32I с расширением zicsr, форматов кодирования и роль декодера в процессорной системе. Обсуждение различий способов кодирования непосредственных операндов в разных форматах инструкций. Реализация и отладка декодера инструкций. Обсуждение методики представления данной темы студентам и типичных ошибок при описании логики на HDL.
-
День 6. Реализация простого процессорного ядра RISC-V. Объединение декодера и операционных блоков в простое RISC-V ядро. Объединение ядра с памятями инструкций и данных в процессорную систему. Написание программы на языке ассемблера RISC-V. Моделирование и отладка процессорной системы.
-
День 7. Написание и интеграция блока загрузки и сохранения (Load & Store Unit, LSU). Моделирование и отладка обновленной процессорной системы. Изучение различий в результатах моделирования с предыдущей версией.
-
День 8. Реализация контроллера прерываний и блока регистров контроля и статуса (Contrl and Status Registers, CSR). Изучение того, как функционируют прерывания и исключения в архитектуре RISC-V, а также назначение блоков контроля и статуса. Моделирование и отладка спроектированных блоков.
-
День 9. Интеграция подсистемы прерываний. Начало работы над подсистемой ввода-вывода. Интеграция контроллера прерываний и блока CSR в процессорное ядро, завершая его разработку. Моделирование и отладка процессорного ядра. Разработка контроллера устройства ввода.
-
День 10. Завершение работы над подсистемой ввода-вывода. Написание контроллера устройства вывода. Интеграция реализованных контроллеров в процессорную систему. Моделирование и отладка процессорной системы.
-
День 11. Программное обеспечение для разработанного процессора. Освоение инструментария для разработки программ под спроектированную процессорную систему. Знакомство с кросс-компилятором GCC под архитектуру RISC-V и сборкой простых программ на C/С++ (либо на языке ассемблера) для созданного процессора. Загрузка и выполнение программ на спроектированной процессорной системе. Анализ результатов работы программ, отладка при необходимости. Обсуждение того, как организовать у студентов написание и тестирование программ для самодельного процессора, какие задания можно предложить и как оценивать их выполнение.
-
День 12. Реализация программатора. Проектирование и интеграция в процессорную систему программатора, осуществляющего приём и запись программы в память процессорной системы с рабочего компьютера по UART-интерфейсу.
-
День 13. Написание, портирование и сборка усложнённых программ. Оценка производительности итоговой процессорной системы. Портирование и запуск программы Coremark. Изучение, сборка и запуск игры «Змейка». Педагогический разбор курса: обсуждение эффективных методических приёмов преподавания АПС, обмен опытом по постановке учебных задач, разбор часто встречающихся вопросов и ошибок студентов. В завершение – рекомендации по внедрению полученных материалов в учебный процесс и поддержке сообщества преподавателей по данной тематике.
По запросу от учебной группы, учебный план может быть пересмотрен в сторону сокращения (например, при наличии экспертизы в проектировании цифровой аппаратуры с использованием языка SystemVerilog, программу можно сократить на 3 дня за счёт практикумов по базовым конструкциям на языке SystemVerilog и реализации простейшего программируемого устройства).
По результатам обучения слушателям будет выдано удостоверение о повышении квалификации.
Все участники получат комплект учебно-методических материалов для преподавания курса АПС.
Регистрация на программу
Для регистрации на программу повышения квалификации необходимо зарегистрировать аккаунт по ссылке (понадобятся скан-копии паспорта, дипломов о высшем образовании) и выбрать данную программу для освоения. Для более подробной инструкции и/или при возникновении любых вопросов можно обратиться по контактам для связи.
Контакты для связи
Желобаев Алексей Львович, +7 (915) 110-96-86, zhelobaev@olvs.miee.ru
Калеев Дмитрий Вячеславович, dmitrii.kaleev@gmail.com
Выдаваемый документ
Удостоверение о повышении квалификации
Форма обучения
- Очная