Вы здесь

Студентам

Более половины инженеров и программистов компании МЦСТ — молодые люди до 30 лет, выпускники базовой кафедры МФТИ, а также МГУ, МИФИ, МГТУ, МИЭТ, МИРЭА и других ведущих московских технических университетов.

Направления обучения и профессиональной деятельности:

  • логическое и физическое проектирование микропроцессоров;
  • верификация и тестирование микропроцессоров;
  • проектирование печатных плат и корпусов микропроцессоров;
  • технологии оптимизирующей и двоичной компиляции;
  • разработка ядра и дистрибутива операционной системы;
  • технологии безопасных вычислений и защищённого доступа.

Обучение проводится на базовой кафедре. Для студентов после 1-го курса организуется стажировка.

Базовая кафедра информатики и вычислительной техники МФТИ

Сочетание учебного процесса, научной и практической работы:

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

Учебный курс сформирован при участии учёных МЦСТ, в числе которых 6 докторов и 29 кандидатов наук, 3 лауреата Ленинской премии и 5 лауреатов Государственной премии, 2 заслуженных деятеля науки, 9 заслуженных конструкторов Российской Федерации.

Листовка о базовой кафедре (PDF, 0,7 Мбайт)
Презентация базовой кафедры (PDF, 6,4 Мбайт)
Видеозапись выступления (MP4, 1,1 Гбайт)
Лекции базовой кафедры
Бакалаврские выпускные квалификационные работы
Магистерские диссертации

После окончания университета выпускникам, успешно прошедшим курс и потрудившимся в АО «МЦСТ», предлагается продолжить работу в компании. Склонным к научной деятельности даётся рекомендация в аспирантуру ОАО «ИНЭУМ им. И. С. Брука».

Стажировка

АО «МЦСТ» ежегодно проводит летние стажировки для студентов. Основная целевая аудитория стажировок — студенты 1–3 курсов (студентам более старших курсов предлагается сразу рассмотреть трудоустройство на долю ставки — см. Вакансии). Стажировка проводится в течение июля и августа, с официальным трудоустройством в компанию на 1/4 ставки — т. е. расчётная нагрузка программ стажировки составляет 10 часов в неделю. Стажировка может проводиться очно в офисе АО «МЦСТ» (Москва, Профсоюзная ул., д. 108) или удалённо — формат указан в таблице ниже в зависимости от программы стажировки.

  • Отбор на стажировку в 2026 году проводится с 2 марта по 15 мая 2026 года.
  • Претендентам на прохождение стажировки в этот период необходимо заполнить анкету-заявку.
  • В анкете необходимо выбрать от 1 до 3 интересующих направлений стажировки из таблицы.
  • После заполнения анкеты по очереди будут выданы проверочные задания по каждому из выбранных направлений стажировки, которые нужно решить в установленные сроки (от 3 до 14 календарных дней — в зависимости от направления).
  • При удовлетворительном выполнении заданий, студент приглашается на собеседование с руководителем стажировки. При успешном прохождении собеседования студент добавляется в рейтинг кандидатов на зачисление на стажировку.
  • Зачисление на стажировку проводится в две волны: первая волна зачисления пройдёт в конце апреля, вторая — в конце мая. В каждой из волн осуществляется ~50 % набора на каждую из программ стажировки. Набор будет производиться по текущему состоянию рейтинга по каждому из направлений стажировки. Студенты, которые не прошли в первую волну, остаются в рейтинге и могут быть приглашены к прохождению стажировки во вторую волну. Если по каким-то причинам у вас есть необходимость попасть в зачисление в какую-то конкретную из указанных волн зачисления — необходимо сообщить об этом в анкете-заявке в графе Дополнительные сведения.

По любым вопросам, касающимся стажировок, трудоустройства или поступления на базовую кафедру МФТИ при МЦСТ пишите на почту education@mcst.ru главному специалисту по научно-педагогической деятельности Альфонсо Даниилу Максимовичу.

Программы:

Описание программ стажировки

Тема Форма Требования Программа

Операционные системы

(подробности)

Удалённая

Знание языка C, умение работать в командной оболочке bash, опыт работы с Git и GNU/Linux-системами.
  1. Базовые инструменты разработки (1 неделя):
    • Знакомство с образовательной платформой.
    • Знакомство с полезными консольными утилитами.
    • Изучение отладчика GDB.
  2. Docker и git (2 недели):
    • Знакомство с технологиями контейнеризации.
    • Создание docker-контейнера на основе готового образа.
    • Настройка GitLab CI с использованием Docker.
  3. Ядро Linux (2 недели):
    • Структура проекта и принципы работы ядра Linux.
    • Сборка и установка ядра на виртуальной машине x86-64.
    • Внесение изменений в ядро Linux через систему патчей.
  4. Архитектура Эльбрус (3 недели):
    • Погружение в особенности платформы Эльбрус.
    • Применение Режима Безопасных Вычислений для поиска уязвимостей в ПО.
    • Влияние особенностей платформы Эльбрус на ядро Linux.

Дистрибутив и общее программное обеспечение для архитектуры Эльбрус

(подробности)

Удалённая

Работа с системами контроля версий, работа в командной строке Linux.
  1. Изучение действий по оценке производительности систем: сравнительный анализ, планирование производительности, устранение узких мест, анализ масштабируемости (1 неделя).
  2. Знакомство с инструментами исследования производительности в ОС «Эльбрус» (1 неделя).
  3. Первые шаги для исследования производительности в ОС «Эльбрус» (1 неделя).
  4. Изучение базовых опций компилятора LCC, влияющих на производительность ПО (1 неделя).
  5. Изучение двухфазной компиляции (1 неделя).
  6. Профилирование на основе инструментирования исполняемого файла (1 неделя).
  7. Семплинговое профилирование (1 неделя).
  8. Предварительная подкачка данных (1 неделя).
  9. Оптимизированная библиотека EML (1 неделя, дополнительно).

Системы программирования: Основы разработки языкового компилятора с использованием инфраструктуры LLVM

Удалённая

Базовые знания языков C и C++ на уровне программы института.

Знания алгоритмов и структур данных (списки, хеш-таблицы, стек, графы).

Приветствуются знания в сборке программ (Make, CMake) и в системах контроля версий (Git, SVN).

  1. Повторение алгоритмов на графе (1 неделя).
  2. Изучение устройства backend'а компилятора в части промежуточного представления и оптимизаций со сдачей зачёта (3 недели).
  3. Знакомство с промежуточным представлением LLVM. Выполнение упражнений по написанию своего прохода (1 неделя).
  4. Проект по разработке своих оптимизаций в составе LLVM (3 недели).

Функциональная верификация: Разработка параметризуемой программной модели кэш-памяти данных

Удалённая

Владение С++, знание алгоритма работы кэш-памяти.
  1. Разработка параметризуемой модели кэш-памяти данных (2 недели).
  2. Разработка тестового стенда (интерпретатора последовательностей запросов в память) и системы сборки на основе CMake (1 неделя).
  3. Разработка модели памяти и реализация примеров иерархий кэш-памятей (2–3 недели).
  4. Тестирование разработанных моделей: направленные тесты, разработка генератора тестовых последовательностей (2–3 недели).

Функциональная верификация: Функциональная верификация учебного микро-GPU

Удалённая

Владение С++, базовое знание SystemVerilog.
  1. Изучение тестируемого устройства (документации), разработка базового тестового стенда и тестового окружения (2 недели).
  2. Разработка и подключение к тестовому стенду визуализатора выдачи изображение через VGA-интерфейс (2 недели).
  3. Реализация автоматизированной проверки корректности выданного изображения (2 недели).
  4. Сбор и анализ тестового покрытия, разработка направленных тестов (2 недели).

Автономная верификация аппаратуры

Удалённая

Общие знания о верификации аппаратуры, тест-планах.

Знакомство с языком SystemVerilog.

  1. Введение в язык SystemVerilog (2 недели; можно пропустить при достаточной подготовке студента).
  2. Введение в UVM (2 недели):
    • Разбор примеров построения тестовых систем.
  3. Разработка тест-плана для верификации контроллера управления вендинговым автоматом (1 неделя)
  4. Разработка агента для контроллера управления вендинговым автоматом (2 недели).
  5. Разработка верхнего уровня тестовой системы (1 неделя):
    • Подготовка тестового окружения.
    • Подключение интерфейсов.
  6. Разработка библиотеки тестовых последовательностей и тестов (1 неделя).

Эмуляция процессора и периферийных устройств

(подробности)

Удалённая

Базовые знания языка C или C++.

Представление о работе в командной строке Linux.

Приветствуются знания Make, Git, GDB.

  1. Эмуляция ядра процессора
    • Арифметические и логические операции
    • Оперативная память и стек данных
    • Метки и непроцедурные переходы
    • Процедурные переходы
    • Прерывания и счетчик тактов
  2. Эмуляция периферийных устройств
    • Взаимодействие ядра с устройствами
    • Графический контроллер
    • Контроллер хранилища
    • Устройства на общей шине

Логическое проектирование аппаратуры: Разработка архитектуры графических процессоров

Очная

Базовое знание языка описания аппаратуры Verilog.

Базовые знания в области архитектуры микропроцессоров.

  1. Базовые принципы проектирования на Verilog HDL (1 неделя).
  2. Изучение архитектуры микропроцессорных ядер (1 неделя).
  3. Разработка архитектуры микро-GPU (1 неделя).
  4. Реализация компонентов архитектуры микро-GPU на RTL (1 неделя).
  5. Инженерная верификация компонентов архитектуры микро-GPU (1 неделя).
  6. Отладка микро-GPU в сборе (2 недели).
  7. Запуск микро-GPU на ПЛИС-прототипе с выводом изображения на монитор (1 неделя).

Логическое проектирование аппаратуры: Микроархитектура вычислительных устройств

Удалённая

Базовое знание языка описания аппаратуры Verilog.

Базовые знания схемотехники и двоичной логики.

  1. Базовые принципы проектирования на Verilog HDL (1 неделя).
  2. Проектирование и отладка целочисленных устройств (1 неделя).
  3. Стандарт вещественной арифметики IEEE 754 (1 неделя).
  4. Проектирование и отладка устройства умножения чисел формата FP32:
    • Проработка архитектуры устройства (1 неделя).
    • Реализация стадии предвычислений (1 неделя).
    • Реализация стадии вычисления точного результата (1 неделя).
    • Реализация стадии обработки результата и исключительных ситуаций (1 неделя).
    • Отладка устройства (2 недели).

Логическое проектирование аппаратуры: Разработка устройства тестирования блоков встроенной памяти

Удалённая

Базовое знание языка описания аппаратуры Verilog.

Приветствуются познания в области архитектуры микропроцессоров.

  1. Базовые принципы проектирования на Verilog HDL (1 неделя).
  2. Проектирование и отладка конечных автоматов (2 недели).
  3. Разработка архитектуры устройства тестирования блоков памяти (1 неделя).
  4. Проектирование и отладка устройства тестирования блоков памяти:
    • Проектирование и отладка конечного автомата (1 неделя).
    • Проектирование верхнего уровня устройства тестирования (2 недели).
    • Отладка разработанного устройства (1 неделя).

Физическое проектирование микропроцессоров

Очная

Чёткое желание заниматься физическим проектированием в компании МЦСТ.

Приветствуются: познания в области архитектуры микропроцессоров, знание языка описания аппаратуры; примерное понимание прикладной схемотехники (устройство транзисторов и более сложных устройств на их основе); опыт работы в CAD (САПР) на уровне лабораторных работ институтских программ обучения.

Базовое знание английского языка.

  1. Освоение основных понятий в области проектирования современных сложных микропроцессорных систем на этапе физического полу-заказного проектирования СБИС (1 неделя).
  2. Изучение маршрута проектирования, методов и особенностей проектирования с помощью САПР, специфики проектирования на базе различных технологий (3 недели).
  3. Ознакомление с этапами и методами физической верификации (1 неделя).
  4. Ознакомление с этапами и методами формальной верификации (1 неделя).
  5. Ознакомление с методами анализа характеристик проектируемых СБИС (1 неделя).
  6. Прохождение маршрута физического проектирования для пробного блока (2 недели).

Микропроцессорные модули и проектирование печатных плат

Очная

Знания схемотехники.

Приветствуется опыт работы в CAD, знание языка описания аппаратуры (Verilog/VHDL).

  1. Основы целостности питаний (3 недели):
    • Освоение методов тестирования качества вторичного электропитания,
    • Обретение понимания причинно-следственных связей с схемотехническими и топологическими решениями.
  2. Основы целостности сигналов (3 недели):
    • Освоение методов тестирования целостности сигналов высокочастотных интерфейсов,
    • Обретение понимания причинно-следственных связей с схемотехническими и топологическими решениями.
  3. Освоение маршрута проектирования высокочастотных микропроцессорных модулей (3 недели):
    • Освоение маршрута проектирования микропроцессорных модулей.

Испытание микросхем: Разработка ПО для работы с энергонезависимой памятью

Очная

Знание английского языка на уровне чтения документации.

Опыт программирования на C/C++ или Python.

  1. Введение в язык программирования Python:
    • Изучение основ языка программирования Python.
    • Написание простейших ознакомительных программ.
  2. Введение в стандарт IEEE 1149.1 (JTAG):
    • Назначение сигналов интерфейса.
    • Конечный автомат внутренних состояний интерфейса.
    • Основные инструкции.
    • Ознакомление с библиотекой взаимодействия с IEEE1149.1 на языке Python.
    • Написание программы по считыванию ID процессора по JTAG.
  3. Изучение работы контроллера энергонезависимой памяти (ПЗУ), в которой хранятся базовые команды для процессора:
    • Изучение порядка доступа к контроллеру ПЗУ по JTAG.
    • Изучение принципа работы контроллера, доступных команд и устройства блока памяти ПЗУ.
    • Определение порядка команд для записи и чтения блока памяти ПЗУ.
  4. Разработка программы для записи и чтения произвольной строки в блоке памяти ПЗУ:
    • Разработка программы с возможностью писать и считывать строки из массива ПЗУ, а также дублирующей памяти SDRAM.
    • Разработка графического интерфейса программы (опционально).

Испытание микросхем: Разработка ПО для тестирования разъёма DDR4 на материнской плате

Очная

Знание английского языка на уровне чтения документации.

Опыт программирования на C/C++ или Python.

  1. Введение в язык программирования Python:
    • Изучение основ языка программирования Python.
    • Написание простейших ознакомительных программ.
  2. Введение в стандарт IEEE 1149.1 (JTAG):
    • Назначение сигналов интерфейса.
    • Конечный автомат внутренних состояний интерфейса.
    • Основные инструкции.
    • Ознакомление с библиотекой взаимодействия с IEEE1149.1 на языке Python.
    • Написание программы по считыванию ID процессора по JTAG.
  3. Составление описания отладочного интерфейса процессора для DDR4:
    • Изучение понятия «граничной цепочки» в стандарте IEEE 1149.1.
    • Изучение описания граничной цепочки процессора «Эльбрус» в формате BSDL.
  4. Разработка программы для тестирования разъёма DDR4 на материнской плате:
    • Изучение принципа работы специального отладочного модуля DDR4.
    • Определение типа возможных неисправностей, возникающих при монтаже разъёма DDR4 и процессора.
    • Составление набора манипуляций с граничной цепочкой для диагностики этих неисправностей.
    • Написание программы для взаимодействия с отладочным модулем и граничной цепочкой процессора «Эльбрус».
  5. Проверка разработанной программы на реальной материнской плате:
    • Сборка отладочного стенда с материнской платой на базе процессора «Эльбрус».
    • Проверка программы на исправном разъёме DDR4.
    • Внесение неисправностей различного вида и проверка обнаружения этих неисправностей программой.
  6. Разработка графического интерфейса программы (опционально).

Испытание микросхем: Тестирование интерфейса HDMI

Очная

Знание английского языка на уровне чтения документации.

Опыт программирования на C/C++ или Python.

  1. Введение в язык программирования Python:
    • Изучение основ языка программирования Python.
    • Написание простейших ознакомительных программ.
  2. Введение в стандарт IEEE 1149.1 (JTAG):
    • Назначение сигналов интерфейса.
    • Конечный автомат внутренних состояний интерфейса.
    • Основные инструкции.
    • Ознакомление с библиотекой взаимодействия с IEEE1149.1 на языке Python.
    • Написание программы по считыванию ID процессора по JTAG.
  3. Изучение устройства блока HDMI и встроенного графического контроллера:
    • Ознакомление с документацией на блок HDMI. Изучение тестовых режимов блока.
    • Ознакомление с функциями python-библиотеки для работы с блоком.
    • Изучение последовательности доступа к физуровню по JTAG.
    • Ознакомление с документацией на графический контроллер. Изучение принципов работы PLL и способа доступа к PLL по JTAG.
    • Определение необходимого набора условий и настроек для релизации тестовых режимов HDMI.
  4. Разработка ПО для тестирования физуровня HDMI в различных режимах:
    • Составление (на основе анализа из предыдущего пункта) тестовых сценариев для различных тестовых режимов блока HDMI.
    • Написание программы для реализации этих сценариев через интерфейс JTAG.
  5. Проверка программы на отладочном стенде:
    • Сборка отладочного стенда.
    • Отладка программы во всех режимах работы (с помощью осциллографа).
    • Снятие осциллограмм всех тестовых сценариев.
    • Внесение неисправностей для проверки отслеживания их программой.

Испытание микросхем: Тестирование разъёма PCIe на материнской плате

Очная

Знание английского языка на уровне чтения документации.

Опыт программирования на C/C++ или Python.

  1. Введение в язык программирования Python:
    • Изучение основ языка программирования Python.
    • Написание простейших ознакомительных программ.
  2. Введение в стандарт IEEE 1149.1 (JTAG):
    • Назначение сигналов интерфейса.
    • Конечный автомат внутренних состояний интерфейса.
    • Основные инструкции.
    • Ознакомление с библиотекой взаимодействия с IEEE1149.1 на языке Python.
    • Написание программы по считыванию ID процессора по JTAG.
  3. Изучение устройства блока PCIe:
    • Определение устройства блока PCIe в процессоре «Эльбрус».
    • Определение режимов работы, способов переключения между этими режимами и встроенных механизмов тестирования.
    • Определение необходимых для этих режимов условий и тестовых воздействий.
    • Изучение последовательности доступа к физуровню по JTAG.
  4. Разработка ПО для тестирования разъёма PCIe в различных режимах:
    • Составление (на основе анализа из предыдущего пункта) тестовых сценариев для различных режимов работы блока PCIe.
    • Написание программы для реализации этих сценариев через интерфейс JTAG.
  5. Проверка программы на отладочном стенде:
    • Сборка отладочного стенда с материнской платой на базе процессора «Эльбрус».
    • Отладка программы во всех режимах работы (с помощью осциллографа).
    • Внесение неисправностей для проверки отслеживания их программой.
  6. Разработка графического интерфейса программы (опционально).

Испытание микросхем: Основы проектирования для ПЛИС на примере модели энергонезависимой памяти

Очная

Знание английского языка на уровне чтения документации.

Опыт программирования на C/C++ или Python.

Знание схемотехники.

  1. Введение в язык описания аппаратуры Verilog:
    • Изучение синтаксиса языка.
    • Изучение простейших конструкций языка.
  2. Интерфейс SPI:
    • Изучение принципа работы интерфейса.
    • Написание модуля SPI Slave на Verilog.
  3. Изучение САПР Quartus:
    • Ознакомление с интерфейсом приложения, создание и редактирование проекта.
    • Работа с IP-блоками: изучение функционала, генерация, подключение.
  4. Разработка блока, читающего данные в UFM и записывающего их в Embedded Memory:
    • Изучение документации на UFM и Embedded Memory в ПЛИС.
    • Написание и отладка модуля с помощью Modelsim.
  5. Разработка блока, передающего данные из прошлого пункта по запросу SPI Slave.
  6. Составление прошивки и проверка функционала на реальной ПЛИС:
    • Сборка и компиляция модулей в Quartus.
    • Прошивка ПЛИС с помощью программатора.
    • Проверка результата путём чтения ПЗУ процессора.