8.14M
Категория: ЭлектроникаЭлектроника

О компании АО «МЦСТ»

1.

2.


О компании АО «МЦСТ»
Кто мы и что создаем?
1948 — Образован ИТМиВТ им. Лебедева
1992 — Образовано АО «МЦСТ» группой
специалистов ИТМиВТ
1995 — Разработка для фирмы SUN логической
схемы и физического дизайна первого 64разрядного процессора SUN UltraSPARC
2001 — Первый микропроцессор МЦСТ-R150
(150 МГц, система команд SPARC) и ВК на его
базе
2007 — Первый микропроцессор серии
Эльбрус (300 МГц) и ВК на его базе
2017 — МП Эльбрус-8С: 1 Тфлопс, 1,3 ГГц, 28 нм
2021 — МП Эльбрус-16С: 6 Тфлопс, 2 ГГц, 16 нм
Разработка вычислительной платформы
— Микропроцессоры и контроллеры
— Средства разработки ПО
— BIOS, операционные системы Вычислительные
комплексы (ВК)
— Базовые («референсные») ВК
— ВК специального назначения

3.

Эльбрус-16С
16 ядер Эльбрус
частота 2 ГГц
L2-кэш 1 МБ на ядро
Общий L3-кэш 32 МБ
до 1 Тб DDR4-3200
8 каналов памяти c ECC
Объединение до 4 процессоров в
NUMA-систему
Технологический процесс 16 нм
Производительность 1,5 TFlops (FP32)
Аппаратная поддержка виртуализации
Распределённая сеть-на-кристалле
Мощность не более 130 Вт

4.

Пиковая
произв-ть
Gflops SP
Рост производительности микропроцессоров «ЭЛЬБРУС»
За 15 лет (2007-2022) достигнут рост
производительности в 300 раз
6 TF
1.5 TF
1000
1.1 TF
580GF
250GF
192+GF
100
50GF
24+GF
16+GF
10
8GF
– 8 ядер v5
– SIMD-128
– DDR4 - 2400
10GF
4,8GF
2008
2010






2012
2014
2016
2018
2020
До 16 ядер v6
Виртуализация
DDR4 – 3200
PCI-Express 3.0
10G Ethernet
Система на
кристалле
2022
До 64 ядер v7
DDR5
PCI-Express 5.0
Нейровычисл.
Совместимые
безопасные
вычисления
>10G Ethernet
– Чиплетная
компоновка





2025

5.

Архитектура Эльбрус
Параллельная энергоэффективная VLIW-архитектура
25-48 оп. за такт за счет явного аппаратного параллелизма операций
высокая однопоточная производительность при малом энергопотреблении
распараллеливание оптимизирующим компилятором
сбалансированное соотношение производительности процессора и памяти
Эффективная двоичная совместимость с x86, x86-64
исполнение приложений в кодах x86, x86-64 (Windows XP, 7, 10, Linux, QXP)
базируется на поддержанной аппаратно технологии динамической двоичной
компиляции
производительность до 80% от нативной (в кодах Эльбруса)
Технология безопасных вычислений
аппаратная защита логической структуры памяти
гарантированное обнаружение атак, нарушающих структуру памяти
повышение надежности программ
повышение скорости отладки программ
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

6.

Экосистема микропроцессора
и маршрут проектирования
Выпуск кристалла
Верификация физ.
дизайна
Синтез топологии
Тестирование в
составе ВК,
выявление ошибок
Доработка
логического
описания
Верификация
логики

7.

Логическое проектирование
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

8.

Логическое проектирование
• Проработка реализации (в виде документации —
рисунки, формулы, схемы)
• Написание RTL (на языке Verilog, SystemVerilog) и
базовая инженерная отладка (тестбенч + ассемблер)
• Прототипирование перспективной аппаратуры на
ПЛИС
• Отладка RTL (симулятор, прототип) и
исправление ошибок
• Наладка инженерных образцов микропроцессоров
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

9.

Проектирование и отладка RTL
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

10.

Физическое проектирование
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

11.

АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

12.

Физическое проектирование
Реализация логического описания с использованием технологии проектирования
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

13.

14.

Физическое проектирование
Основные задачи:
• Реализация отдельных логических устройств на стандартных элементах и покупных
блоках (IP)
• В общем виде требуется реализовать RTL описание так, чтобы выполнялись требования к
быстродействию, не нарушались правила проектирования (Design Rule Check) и в ходе
оптимизаций не изменилась логика работы блока
• Разработка собственных специальных блоков
• Некоторые блоки специфичны для нашей архитектуры или от них требуется
производительность, недостижимая при использовании покупных блоков
• Разработка схемы питания (PG mesh) кристалла
• Разработка схемы разводки синхросигналов
• Обеспечение перевыпуска исправленного кристалла
Основные вызовы:
• Сложность блоков
• Размер кристалла
• Часть задач невозможно обсчитать в принципе
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

15.

Разработка вычислительных комплексов для
специальных систем
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

16.

Разработка вычислительных
комплексов для специальных
систем
Основные специалисты:
технический писатель
инженер-схемотехник
инженер-тополог
Научное направление:
методика расчёта систем
питания
моделирование
сведение результатов
моделирования с
расчётами

17.

Прототипирование на
ПЛИС
• 1) Разработка схемы соединений прототипа
• 2) Схема распространения синхросигнала и сигнала
сброса
• 3) Схема JTAG-цепочек
(1)
(2)
(3)

18.

Прототипирование на
ПЛИС

19.

Прототипирование на
ПЛИС
Двухпроцессорная
система на прототипах
МП Эльбрус-16С
• оперативная память 64Гб
DDR4 SODIMM
• частота работы – 3,6 МГц (в
105 раз быстрее
моделирования)
• позволяет подключать
периферийные устройства
• позволяет загружать Linux
• позволяет находить
логические ошибки и
отлаживать ПО (ОС,
драйверы) до выпуска чипа
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

20.

Логическая верификация
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

21.

Автономная верификация
Верификация аппаратуры очень сложна: все состояния большого цифрового устройства физически
невозможно проверить (2^N состояний схемы, где N — число триггеров / эл-тов памяти)!
Но можно проверить работу аппаратуры в доступных состояниях / режимах с использованием
специальных методологий.
Автономная верификация:
• Разработка тестовых окружений — VHDL, Verilog, SystemVerilog, С++.
• Тестовые входные воздействия на интерфейсах устройства (случайные, направленные).
• Анализ реакции устройства на подачу входных воздействий.
• Анализ покрытия проверенного кода и пространства состояний аппаратуры тестовыми воздействиями.
Для автономной верификации в АО «МЦСТ» используется стандартная методология UVM — Universal
Verification Methodology.
Также разрабатываются и применяются эталонные программные модели
верифицируемого устройства: для сравнения реакций эталонной модели и DUT на
тестовые воздействия.
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

22.

Автономная верификация
• Верификатор должен разобраться, как работает верифицируемая им аппаратура (Device Under
Test, DUT). Это позволяет получить опыт и понимание работы различных подсистем процессора:
конвейер, кэши, протоколы интерфейсов, память, …).
• Верификатор использует SystemVerilog для создания окружения с помощью UVM-библиотек.
• Наиболее востребованная специальность в отрасли!
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

23.

Автономная верификация
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

24.

Системная верификация
Если в составе DUT есть вычислительное
ядро, то тестовое воздействие представляет
собой тестовую программу для этого ядра,
исполняемую на “голом железе” (в отсутствие
операционной системы).
Тестовые программы разрабатываются вручную
(специальные узконаправленные тесты) или
формируются с помощью генераторов тестов.
Разработка, сопровождение и применение
генераторов тестов — отдельные задачи.
Основные навыки: знание архитектуры,
программирование на ассемблере и языках
программирования высокого уровня (C++,
python).
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

25.

Испытания микросхем
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

26.

Направления деятельности
• Верификация встроенных
инструментов отладки на этапе
проектирования микросхем
Помощь в подключении, составление ТЗ
Верификация подключенного тестового
оборудования
• Проверка готовых изделий
Проведение испытаний микросхем
Тестирование различных блоков микросхем
• Диагностика неисправностей ВК
Что не работает?
Где не работает?
Как исправить?

27.

Тестирование блоков
процессора
• DDR4/5, PCIe4/5, USB3,
HDMI2.0, Sata, Ethernet 10G
• Анализ доступных
инструментов тестирования
• Изучение механизма
управления необходимым
блоком
• Составление алгоритма
тестирования
• Проверка на Verilog модели
• Написание программы на C++

28.

Навыки
• Необходимые:
• Знание С++ или Python
• Владение английским языком
• Полезные:
• Понимание языка Verilog
• Умение быстро разобраться в чем-то новом
• Приобретаемые:
• Умение читать и понимать техническую документацию как на
русском, так и на английском языках

29.

Направления развития ПО
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

30.

Оптимизирующий компилятор
Улучшение характеристик программы без изменения ее поведения
Ускорение исполнения
Уменьшение размера исполняемого файла
(дополнительно) Поиск некоторых ошибок
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"
30

31.

Развитие компилятора
• Совершенствование оптимизатора
Новые оптимизации
Улучшение существующих оптимизаций
• Поддержка новых языков
• Поддержка новых возможностей аппаратуры
• Анализ возможностей ускорения программ
• Интеграция с основными компиляторами
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"
31

32.

Разработка ядра ОС
• Обновление ядра
Linux 6.1
• Поддержка процессоров Эльбрус
Стеки, таблицы страниц, механизмы синхронизации, полуспекулятивный режим
• Поддержка нового функционала
KVM (+ QEMU, libvirt, virt-manager)
Real-Time, NUMA Balancing, Transparent Hugepages, kexec, энергосбережение, гибернация, BPF, CRIO
• Драйверы устройств
Elbrus PIC, IOMMU, часы, датчики PCI, USB, сеть, графика, звук, дисковые массивы
• Режим безопасных вычислений
Контейнерная виртуализация в режиме безопасных вычислений
• Оптимизация производительности

33.

Уровни операционной системы
Интерфейс
пользователя
Интерфейс
библиотечных
функций
Пользователи
Стандартные обслуживающие программы
(оболочка, компиляторы и т.д.)
Интерфейс системных
вызовов
Режим
пользователя
Стандартная библиотека
(open, close, read, write, fork и т.д.)
Операционная система
(управление процессами, памятью,
файловая подсистема, ввод-вывод и т.д.)
Режим ядра
Программа Начального Старта (boot, bios)
Аппаратное обеспечение
(центральный процессор, память, диски, сеть, терминалы и т.д.)
АО «МЦСТ», ПАО «ИНЭУМ им И.С. Брука»
33

34.

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

35.

Ядро Linux: динамика проекта
АО «МЦСТ», ПАО «ИНЭУМ им И.С. Брука»
35

36.

Структура ядра Linux
Пространство
пользователя
Оконный менеджер
Приложения
Библиотеки
Интерфейс системных вызовов и спец. файлов
Управление процессами
Межпроцессные
взаимодействия
Виртуальная файловая
система
Управление памятью
Сетевая подсистема
Подсистема
безопасности
Ядро Linux
Драйверы и динамические модули
Архитектурно-зависимый код
Аппаратное
обеспечение
Архитектура процессора
АО «МЦСТ», ПАО «ИНЭУМ им И.С. Брука»
36

37.

Режим безопасных
вычислений
Основные идеи
Аппаратный контроль
обращения к памяти
Компьютер должен быть простым
для программирования
Языки высокого уровня снижают
количество ошибок
«Правильный» компьютер не
должен позволить исполняться
«неправильной» программе
Дескриптор вместо указателя
Тегирование памяти
Невозможно cконструировать
дескриптор на пользовательском
уровне
Невозможно использовать
неинициализированные данные

38.

Режим безопасных
вычислений
Пример уязвимости
Преимущества РБВ
Облегченная отладка
Более качественный код
Более защищенный код
Существующий открытый исходный
код часто не соответствует
стандартам РБВ =>
Требуется портирование!

39.

Направления развития ядра ОС Эльбрус
• Сопровождение ядра
ОС Эльбрус Линукс – на основе ядер Linux 5.4, 5.10, 6.1
• Поддержка процессоров Эльбрус и SPARC
Новые процессоры:
Эльбрус-2С3, Эльбрус-16C, Эльбрус-32C, SPARC R2000+
Стеки, таблицы страниц, механизмы синхронизации, полуспекулятивный режим
• Поддержка нового функционала
KVM (+ QEMU, libvirt, virt-manager), RealTime, NUMA Balancing, kexec
Transparent Hugepages, энергосбережение, гибернация, BPF, CRIO
• Драйверы устройств
Elbrus PIC, IOMMU, часы, датчики, сеть, графика, звук, диски
шины семейств PCI, USB, CAN, I2C
• Защищенный режим
Контейнерная виртуализация в защищенном режиме
• Оптимизация производительности
Постоянная
АО «МЦСТ», ПАО «ИНЭУМ им И.С. Брука»
39

40.

Развитие сопутствующих программных решений ОС
• Средства защиты информации
Разработка программ обеспечения безопасности информации
Поддержка мандатной защиты на уровне ядра ОС
Интеграция защиты в сложные проекты — Postgres, Office
• Программа Начального Старта (boot, bios)
Инициализация работы процессоров
Обеспечение настройки оперативной памяти
Собственный загрузчик ядра ОС
ПНС
Ядро
АО «МЦСТ», ПАО «ИНЭУМ им И.С. Брука»
ОС
40

41.

Развитие ОПО
• Портирование и обновление:
• Тысячи open-source пакетов *nix
• «Тяжелые» компоненты – СУБД,
СХД, Firefox, Нейросети(PyTorch,
Tensorflow), Docker и др.
• Внутренние инструменты сборки и
тестирования.
Собственные средства разработки:
•С11, С++11, С++14, С++17
(Совместимость с gcc 7.3)
•Fortran2003
•Java 8
• Тестирование:
•Mono 5.4 (.NET)
• Всего перечисленного выше.
•Библиотека EML ~ 1500 функций
• Регрессионное.
• Вычислительной системы в-целом
и\или ее подсистем.

42.

Перспективы для студентов
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

43.

Научная работа
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

44.

Стоит попробовать?
Неочевидные, но объективные преимущества
получения практики у нас:
Молодой высокоинтеллектуальный коллектив
Опытное и адекватное руководство (+лояльное к студентам!)
Глубокая история фирмы и её устойчивость
Работа на острие индустрии
Рекомендации и опыт мирового уровня
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

45.

Летние стажировки
Программы:
Формат:
Логическое проектирование
Июль – август
Логическая верификация аппаратуры
Дистрибутивы операционных систем
ОС: Разработка и тестирование ядра Linux
ОС: Режим безопасных вычислений
ОС: Разработка функциональных тестов
устройств и тестовых систем
Трудоустройство на 10 часов в
неделю с выплатой стипендии
Удалённый формат
Самостоятельная работа +
Проектирование оптимизирующего и
консультирование с научным
бинарного компилятора
Микропроцессорные модули и
проектирование печатных плат
руководителем
Прием заявок – с марта 2024
АО "МЦСТ", ПАО "ИНЭУМ им И.С. Брука"

46.

Пишите и приходите в гости!
Помощник генерального директора по
научно-педагогической работе
Альфонсо Даниил Максимович
tg: @ildefonso_0
mailto: [email protected]

47.

МП Эльбрус-8СВ
Характеристики МП:
• Система на кристалле для рабочих
станций
Производительность - до 580 Gflops;
• Класс МП – Intel Core i3/i5
Количество ядер – 8;
• Год выпуска - 2020
Тактовая частота – 1,5 ГГц;
ОЗУ – DDR4, четыре канала (до 76,8 ГБ/с)
Канал ввода-вывода: 16 Гбайт/с (дуплекс)
До 4 микропроцессоров с общей памятью
Потребляемая мощность 70-90 Вт;

48.

МП Эльбрус-2С3
Характеристики МП:
Тактовая частота – до 2 ГГц;
Система на кристалле для мобильных и
встраиваемых решений
Класс МП – Intel CoreM, ARM, MIPS
Количество ядер – 2 (до 25 оп/такт)
Граф. процессор с поддержкой 3D графики
Аппаратное ускорение видеокодеков
Производительность - до 70 + 250 Gflops SP;
ОЗУ – 2 * DDR4 ECC, до 64 ГБ
Интерфейсы ввода-вывода: PCI-Express 3.0 x8, USB
3.0, SATA 3.0
Рассеиваемая мощность: 5…10 Вт
Технология 16 нм
Год выпуска – 2020

49.

МП Эльбрус-16С
Основные технологические
нововведения:
Вся система на одном кристалле, включая
контроллеры периферийных устройств
Поддержка виртуализации, в том числе в кодах
Intel x86-64
Масштабируемая векторизация
Аппаратная поддержка динамической
оптимизации (рост производительности ядра)
Год выпуска – 2022

50.

МП Эльбрус-16С
Характеристики МП:
Производительность - до 1500 / 750 Gflops (SP/DP);
Количество ядер – до 16;
Тактовая частота – до 2 ГГц;
Кэш-память (L2 + L3) – 40 Мбайт
ОЗУ – DDR4, 8 каналов
Система на кристалле включает: PCIe 3.0, 1/10 Gb
Ethernet, SATA 3.0, USB 3.0
До 4 микропроцессоров с общей памятью

51.

Технология безопасных
вычислений
Защита от ошибок программиста:
неинициализированные данные
контроль границ объектов
обращение к освобождённой памяти
Защита от эксплуатации ошибок
злоумышленником:
Переполнение буфера
use-after-free
Ограничивает бесконтрольные вызовы
библиотек
Изоляция недоверенного модуля / защита от
утечек информации
межмодульная защита
Замедление работы программ ~20%
Рост производительности труда программиста
– на порядок
Пока все программы действуют без ошибок «по
правилам», всё хорошо работает…… но если
нарушить правила, под угрозой будет
безопасность всей вычислительной машины.
ТБВ даёт «железные» гарантии, что все корректно
работающие программы будут в безопасности

52.

1958 г.: на базе Лаборатории электрических
систем МЭИ основан ИНЭУМ
• 1974 г.: серия «малых» СМ ЭВМ для
управления производств. процессами
• 1988 г.: продолжение линии ЭВМ СМ 1820 на
зарубежной элементной базе, поставки
для
атомной промышленности (общий выпуск
СМ ЭВМ с 1974 по 2000 год –
более 80 тыс. штук)
• 2006 г.: начало кооперации коллективов АО
«МЦСТ» и ПАО «ИНЭУМ им. И.С.Брука»,
переход на отечественные
микропроцессоры
О компании ПАО ИНЭУМ
Кто мы и что создаем?
Разработка и производство ВК для
гражданского рынка
Промышленная автоматизация
Робототехника и мехатроника, медицинская
техника
Инженерное и специальное ПО (САПР)
English     Русский Правила