Поддержка вычислительных ускорителей для RISC-V в операционных системах реального времени

Руководитель от корпоративного партнера: Сергей Матюкевич (Syntacore) Антон Калиниченко (Syntacore) Сергей Якушкин (Syntacore)
Руководители от Университета ИТМО: Быковский Сергей Вячеславович, Пинкевич Василий Юрьевич

Открытых вакансий: 1

Подать заявку в этот проект

Краткая аннотация

Проект посвящен построению эффективных высокопроизводительных систем на основе архитектуры RISC-V. Многие современные системы включая telecom, серверные требуют быстрой обработки событий, и эффективного взаимодействия с вычислительными устройствами.

Направления работы

  1. Быстрая обработка прерываний для RISC-V ядер в ОС Zephyr.
    Примеры решаемых задач:
    • сравнительный анализ механизмов обработки прерываний, накладных расходов в архитектуре RISC-V, ARM, x86, PowerPC;
    • анализ предложений по быстрой обработке прерываний в RISC-V;
    • подключение устройства в эмуляторе системы на основе ядра SCR1;
    • разработка драйвера устройства, анализ обработчика прерываний.
  2. Поддержка вычислительных ускорителей для RISC-V ядер в ОС Zephyr.
    Примеры решаемых задач:
    • подключение внешнего высокопроизводительного вычислительного устройства;
    • сравнительный анализ механизмов взаимодействия через ISA расширения, локальную и общую память.

Стек технологий

1) User and Organizations

  • Инструменты гибкой разработки Agile, Scrum, Kanban
  • Тайм-менеджмент и планирование временем

2) Software Development

  • Программирование на языках C, C++, Python
  • Разработка компонент операционной системы

3) Hardware

  • Разработка системных моделей процессоров

Кем станет студент по завершению магистратуры

В зависимости от выполняемых задач внутри проекта выпускник может стать:

  • разработчиком ядра и компонент операционной системы
  • разработчиком системного программного обеспечения
  • разработчиком инструментов программирования
  • разработчиком встроенного программного обеспечения

Пререквизиты (входные требования)

Для участия в проекте необходимы базовые знания по следующим направлениям:

  • программирование на языках C/С++/ASM, Python
  • операционные системы
  • архитектура компьютера