Конференции

67-я Всероссийская научная конференция МФТИ

Список разделов ФРКТ - Cекция микропроцессорных технологий

На секцию микропроцессорных технологий принимаются научные работы, посвященные архитектуре универсальных и специализированных вычислительных систем; САПР элементов и узлов; проектированию кристаллов; системному программированию; операционным системам, компиляторам.

 

Формат проведения: смешанный

Дата и время проведения: 31.03.2025 в 10:00

Место проведения: Москва, Рочдельская ул., 15, стр 13

  • Метод верификации периферийных интерфейсов цифровых микросхем

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

  • Оптимизация взаимодействия JavaScript и TypeScript-подобного языка программирования: исследование, улучшение и расширение возможностей типовых проверок

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

  • Восстановление символьной информации по трассе исполнения для RISC архитектур

    Рассматривается использование post-link оптимизатора BOLT с бинарным файлом без символьной информации. Разработана библиотека, позволяющая восстанавливать границы функций по заданным базовым блокам, составляющим код приложения, и последовательности их исполнения. Указанная информация извлекается из трассы исполненеия. Исследован прирост производительности целевого приложения с удалёнными символами после оптимизаций, проводимых инструментом BOLT.

  • Анализ и реализация архитектуры аналого-цифрового преобразователя в КМОП коротко-канальной технологии 40 нм

    В работе в средах с разным уровнем абстракции исследуются различные архитектуры аналого-цифрового преобразователя последовательного приближения в технологии 40 нм для работы со скоростью выборки 1 МГц. Результатом работы является разработанный тестовый кристалл АЦП на основе лучшей модели по итогам сравнения.

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

    В работе исследуется алгоритм расположения функций на основе профиля исполнения для уменьшения числа загружаемых страниц (page faults) в клиентских приложениях. Исследование выполнено на базе бинарного оптимизатора LLVM BOLT. Эксперименты показали, что новый  алгоритм достигает уменьшения среднего числа загружаемых страниц до 15% по сравнению с оригинальным приложением и до 6% по сравнению со state-of-the-art алгоритмом LLVM BOLT.

  • Генерация тестовых данных для операций с плавающей точкой с помощью символического исполнения программных моделей

    В данной работе представлен метод поиска исчерпывающего набора входных данных для изолированной операции с плавающей точкой, удовлетворяющий заданной модели покрытия по эталонной реализации FPU Berkeley Softfloat.

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

    В данной работе представляется решение для автоматического создания API компилятора высокоуровневого языка программирования. В связи с активным развитием и обширными возможностями компилятора, автоматическая генерация C-интерфейса позволяет обеспечить широкую совместимость с другими языками и актуальность предоставляемого API.

  • Исследование и реализация системы взаимодействия виртуальных машин и языков с различными системами типизации

    В данной работе рассматриваются системы взаимодействия виртуальных машин языков программирования с unsound gradual и sound static системами типизаций. Предложенная реализация позволяет прямой обмен данными и сохраняет семантические и реализационные свойства языков при введении небольшого числа ограничений.

  • Проектирование и реализация API компилятора высокоуровневого языка для разработки плагинов на основе анализа архитектуры и имеющихся требований

    В работе описан процесс проектирования и реализации API компилятора высокоуровневого языка программирования, предназначенного для разработки плагинов. Исследуются возможности аналога - API компилятора TypeScript, а также освещается реализация необходимой инфраструктуры и интеграции API в структуру компилятора.

  • Гибкий подход к подъёму LLVM MIR кода в SSA форму LLVM IR

    Описывается новый гибкий способ подъёма кода из архитектурно-специфичного представления LLVM MIR в универсальный LLVM IR. Производится сравнение с аналогичными инструментами.

  • Разработка генератора машинно-читаемого описания системных вызовов

    Работа посвящена разработке генератора машинно-читаемого описания системных вызовов. Полученное представление генератора было использовано для последующей кодогенерации тестов и позволило ускорить процесс отладки трассировщика. Представление повысило стабильность тестового генератора и снизило объем необходимого кода.

     

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

    В работе представлен способ представления и метод обработки состояния среды при обучении с подкреплением для улучшения оптимизаций компилятора LLVM. Проведен анализ методов получения векторных представлений для проходов компилятора и проведено сравнение предложенного метода обучения с подкреплением с популярным методом AutoPhase

  • Разработка средств спецификации и верификации подсистемы питания в статическом анализаторе для языка описания аппаратуры SystemVerilog

    В работе представлена реализация инструмента для спецификации подсистемы питания. Описан процесс интерпретации UPF-файлов и приведено краткое описание построения модели. В результате работы проведено тестирование UPF-интерпретатора на проектах с открытым исходным кодом.

  • Проектирование и реализация делегирования функций в языке Rust

    В данной работе для решения проблемы эффективного переиспользования кода в языке Rust был предложен подход, называемый делегированием. Синтаксис был спроктирован на основе статистики о вызовах функций, собранной с реальных приложений и библиотек. Данное решение было принято в нестабильную версию языка, многие предложенные паттерны делегирования были реализованы и приняты в главную ветку компилятора.

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

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

     

     

     

     

  • Учет состояний программы при динамическом анализе

    Один из методов динамического анализа – фаззинг – давно зарекомендовал себя как мощный инструмент для поиска уязвимостей. Однако на данный момент, его эффективеность ограничена для класса программ, реализующих конечные автоматы – сетевых протоколов, баз данных, GUI-приложений. На данный момент фаззеры не умеют детектировать и учитывать состояния программ. В работе предлагается компиляторный метод поиска состояний для повышения эффективности фаззинга приведенного класса програм.

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

    Исследуются и сравниваются алгоритмы аллокации регистров, основанные на клеточных автоматах.

  • Исследование методов реализации и оптимизации буфера ассоциативной трансляции

     

    В работе исследуются методы оптимизации буфера ассоциативной трансляции (TLB). Проведен сравнительный анализ конфигураций TLB, реализована двухуровневая иерархия на Verilog с использованием FreePDK 15 нм и OpenROAD. Изучено влияние политик замены (pseudo-LRU, Round Robin) и поддержки страниц разного размера на эффективность кэширования.

     

  • Автоматическая настройка ширин переменных алгоритма в дизайне СФ-блока

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

  • Разработка предметно-ориентированного языка для сопоставления узлов абстрактного синтаксического дерева языка описания аппаратуры SystemVerilog

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

  • Мультиархитектурный двоичный шаблонный транслятор с использованием инфраструктуры LLVM

    В работе реализован мультиархитектурный двоичный шаблонный транслятор. Подход основан на использовании промежуточного представления LLVM для гибкой поддержки целевой архитектуры.

  • Исследование динамического интерливинга в условиях однородного доступа к памяти (UMA)

    Данное исследование посвящено анализу эффективности динамического интерливинга в системах с однородным доступом к памяти (UMA) в сравнении с его традиционным применением в системах с неоднородным доступом (NUMA). Результаты показывают, что в UMA-архитектурах динамический интерливинг дает значимые преимущества только для данных без выраженной пространственной локальности, в то время как для приложений с локальными обращениями производительность может ухудшаться.

  • Исследование эффективных хэш-функций в skew-группах для улучшения характеристик кэш-памяти

    Данное исследование посвящено изучению влияния хэш-функций на эффективность skew-ассоциативных архитектур кэш-памяти по сравнению с традиционными множественно-ассоциативными (set-associative) структурами. Результаты показывают, что skew-ассоциативная организация уменьшает количество конфликтных промахов, особенно в случаях, когда традиционные set-associative схемы неэффективны из-за множественных запросов к одному и тому же индексу.

  • Исследование эффективных хэш-функций в skew-группах для улучшения характеристик кэш-памяти

    Данное исследование посвящено изучению влияния хэш-функций на эффективность skew-ассоциативных архитектур кэш-памяти по сравнению с традиционными множественно-ассоциативными (set-associative) структурами. Результаты показывают, что skew-ассоциативная организация уменьшает количество конфликтных промахов, особенно в случаях, когда традиционные set-associative схемы неэффективны из-за множественных запросов к одному и тому же индексу.

  • Исследование динамического интерливинга в условиях однородного доступа к памяти (UMA)

    Данное исследование посвящено анализу эффективности динамического интерливинга в системах с однородным доступом к памяти (UMA) в сравнении с его традиционным применением в системах с неоднородным доступом (NUMA). Результаты показывают, что в UMA-архитектурах динамический интерливинг дает значимые преимущества только для данных без выраженной пространственной локальности, в то время как для приложений с локальными обращениями производительность может ухудшаться.

  • Улучшение автоматической векторизации в компиляторе LLVM

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

  • Автоматически сгенерированная эталонная модель симулятора ЦП на основе спецификации архитектуры

    В данной работе мы представили ASLsim, автоматически сгенерированный функциональный симулятор на основе ARM ASL. Разработанное решение предоставляет эталонную модель ЦПу с автоматизированными тестами на уровне инструкций, легко переносимыми для валидации сторонней модели под архитектуру AArch64  c нашей эталонной.

  • Разработка механизма взаимодействия языковой виртуальной машины с нативным машинным кодом

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

  • Проектирование подсистемы программных прерываний в ARINC 653-совместимой ОСРВ

    Данная работа посвящена разработке решения для схемы маскирования прерываний, используемых прикладным ПО в ОСРВ с помощью интерфейса ARINC 653 Interrupt Services, а также расширений методов этого интерфейса. В ходе проектирования была выработана устойчивая к выходу из строя периферии схема маскирования линий, было спроектировано расширение интерфейса для получения временной характеристики момента получения прерывания, а также был выработан общий интерфейс контроллеров прерываний.

  • Портирование библиотеки математических функций с плавающей точкой с использованием _BitInt

    В данной работе было произведено портирование математической библиотеки с корректным округлением core-math на 32-битные little и big-endian архитектуры с использованием _BitInt. Для обеспечения кодогенерации в компилятор gcc для соответствующих платформ была добавлена поддержка _BitInt(128).

  • Синхронизация вычислителей в системе с горячим резервированием в ARINC 653-совместимой ОСРВ

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

  • Архитектура подсистемы ввода-вывода блочного устройства eMMC для ОСРВ

    Разработка архитектуры подсистемы ввода-вывода блочного устройства на примере eMMC в условиях операционной системы реального времени. Результатом работы является описанная архитектура, успешно протестированная в ОСРВ на реальной аппаратуре.