На секцию микропроцессорных технологий принимаются научные работы, посвященные архитектуре универсальных и специализированных вычислительных систем; САПР элементов и узлов; проектированию кристаллов; системному программированию; операционным системам, компиляторам.
Формат проведения: смешанный
Дата и время проведения: 31.03.2025 в 10:00
Место проведения: Москва, Рочдельская ул., 15, стр 13
В данной работе предлагается метод верификации периферийных интерфейсов в интегральных схемах, имеющих в своем составе процессорное ядро. Этот метод основан на создании унифицированного параметризованного блока верификации, с помощью которого можно генерировать не конкретный сложный функциональный блок , а тестовое окружение для проекта в целом по заранее заданным используемым блокам периферии.
В работе исследуются особенности взаимодействия статически типизированного языка программирования с динамически типизированным JavaScript. Анализируется текущее техническое решение, выявляются его ограничения и предлагается улучшение, расширяющее возможности типовых проверок для случаев, когда используется файл с декларациями на целевом языке.
Рассматривается использование post-link оптимизатора BOLT с бинарным файлом без символьной информации. Разработана библиотека, позволяющая восстанавливать границы функций по заданным базовым блокам, составляющим код приложения, и последовательности их исполнения. Указанная информация извлекается из трассы исполненеия. Исследован прирост производительности целевого приложения с удалёнными символами после оптимизаций, проводимых инструментом BOLT.
В работе в средах с разным уровнем абстракции исследуются различные архитектуры аналого-цифрового преобразователя последовательного приближения в технологии 40 нм для работы со скоростью выборки 1 МГц. Результатом работы является разработанный тестовый кристалл АЦП на основе лучшей модели по итогам сравнения.
В работе исследуется алгоритм расположения функций на основе профиля исполнения для уменьшения числа загружаемых страниц (page faults) в клиентских приложениях. Исследование выполнено на базе бинарного оптимизатора LLVM BOLT. Эксперименты показали, что новый алгоритм достигает уменьшения среднего числа загружаемых страниц до 15% по сравнению с оригинальным приложением и до 6% по сравнению со state-of-the-art алгоритмом LLVM BOLT.
В данной работе представлен метод поиска исчерпывающего набора входных данных для изолированной операции с плавающей точкой, удовлетворяющий заданной модели покрытия по эталонной реализации FPU Berkeley Softfloat.
В данной работе представляется решение для автоматического создания API компилятора высокоуровневого языка программирования. В связи с активным развитием и обширными возможностями компилятора, автоматическая генерация C-интерфейса позволяет обеспечить широкую совместимость с другими языками и актуальность предоставляемого API.
В данной работе рассматриваются системы взаимодействия виртуальных машин языков программирования с unsound gradual и sound static системами типизаций. Предложенная реализация позволяет прямой обмен данными и сохраняет семантические и реализационные свойства языков при введении небольшого числа ограничений.
В работе описан процесс проектирования и реализации API компилятора высокоуровневого языка программирования, предназначенного для разработки плагинов. Исследуются возможности аналога - API компилятора TypeScript, а также освещается реализация необходимой инфраструктуры и интеграции API в структуру компилятора.
Описывается новый гибкий способ подъёма кода из архитектурно-специфичного представления LLVM MIR в универсальный LLVM IR. Производится сравнение с аналогичными инструментами.
Работа посвящена разработке генератора машинно-читаемого описания системных вызовов. Полученное представление генератора было использовано для последующей кодогенерации тестов и позволило ускорить процесс отладки трассировщика. Представление повысило стабильность тестового генератора и снизило объем необходимого кода.
В работе представлен способ представления и метод обработки состояния среды при обучении с подкреплением для улучшения оптимизаций компилятора LLVM. Проведен анализ методов получения векторных представлений для проходов компилятора и проведено сравнение предложенного метода обучения с подкреплением с популярным методом AutoPhase
В работе представлена реализация инструмента для спецификации подсистемы питания. Описан процесс интерпретации UPF-файлов и приведено краткое описание построения модели. В результате работы проведено тестирование UPF-интерпретатора на проектах с открытым исходным кодом.
В данной работе для решения проблемы эффективного переиспользования кода в языке Rust был предложен подход, называемый делегированием. Синтаксис был спроктирован на основе статистики о вызовах функций, собранной с реальных приложений и библиотек. Данное решение было принято в нестабильную версию языка, многие предложенные паттерны делегирования были реализованы и приняты в главную ветку компилятора.
В данной работе рассматривается процесс разработки методов изменения семантики программ путем манипуляции бинарным кодом многоязычной платформы, которая одновременно поддерживает как статически, так и динамически типизированные языки программирования, исполняемые на разных виртуальных машинах. Также представлен набор инструментов, направленный на автоматизацию и ускорение разработки, что способствует повышению качества конечного результата.
Один из методов динамического анализа – фаззинг – давно зарекомендовал себя как мощный инструмент для поиска уязвимостей. Однако на данный момент, его эффективеность ограничена для класса программ, реализующих конечные автоматы – сетевых протоколов, баз данных, GUI-приложений. На данный момент фаззеры не умеют детектировать и учитывать состояния программ. В работе предлагается компиляторный метод поиска состояний для повышения эффективности фаззинга приведенного класса програм.
Исследуются и сравниваются алгоритмы аллокации регистров, основанные на клеточных автоматах.
В работе исследуются методы оптимизации буфера ассоциативной трансляции (TLB). Проведен сравнительный анализ конфигураций TLB, реализована двухуровневая иерархия на Verilog с использованием FreePDK 15 нм и OpenROAD. Изучено влияние политик замены (pseudo-LRU, Round Robin) и поддержки страниц разного размера на эффективность кэширования.
Предложен алгоритм подбора оптимальных ширин данных для алгоритмов потоковой обработки сигналов. Основная цель предложенного метода заключается в минимизации аппаратных ресурсов, используемых для реализации алгоритмов, без ущерба для качества обработки сигналов. В качестве тестового алгоритма для оптимизации был рассмотрен алгоритм Локального Полиномиального Тон-Маппера (ЛПТМ)
Для анализа кода на SystemVerilog разработан предметно-ориентированный язык сопоставителей узлов абстрактного синтаксического дерева, который использует двухэтапный алгоритм поиска с кэшированием и обеспечивает значительный прирост производительности вплоть до нескольких порядков по сравнению с классическим механизмом обхода. Этот подход особенно эффективен для промышленных задач, где статический анализ интегрирован в системы непрерывной интеграции.
В работе реализован мультиархитектурный двоичный шаблонный транслятор. Подход основан на использовании промежуточного представления LLVM для гибкой поддержки целевой архитектуры.
Данное исследование посвящено анализу эффективности динамического интерливинга в системах с однородным доступом к памяти (UMA) в сравнении с его традиционным применением в системах с неоднородным доступом (NUMA). Результаты показывают, что в UMA-архитектурах динамический интерливинг дает значимые преимущества только для данных без выраженной пространственной локальности, в то время как для приложений с локальными обращениями производительность может ухудшаться.
Данное исследование посвящено изучению влияния хэш-функций на эффективность skew-ассоциативных архитектур кэш-памяти по сравнению с традиционными множественно-ассоциативными (set-associative) структурами. Результаты показывают, что skew-ассоциативная организация уменьшает количество конфликтных промахов, особенно в случаях, когда традиционные set-associative схемы неэффективны из-за множественных запросов к одному и тому же индексу.
Данное исследование посвящено изучению влияния хэш-функций на эффективность skew-ассоциативных архитектур кэш-памяти по сравнению с традиционными множественно-ассоциативными (set-associative) структурами. Результаты показывают, что skew-ассоциативная организация уменьшает количество конфликтных промахов, особенно в случаях, когда традиционные set-associative схемы неэффективны из-за множественных запросов к одному и тому же индексу.
Данное исследование посвящено анализу эффективности динамического интерливинга в системах с однородным доступом к памяти (UMA) в сравнении с его традиционным применением в системах с неоднородным доступом (NUMA). Результаты показывают, что в UMA-архитектурах динамический интерливинг дает значимые преимущества только для данных без выраженной пространственной локальности, в то время как для приложений с локальными обращениями производительность может ухудшаться.
В настоящее время, когда все сложнее улучшать производительность скалярного кода, автоматическая векторизация занимает важное место в конвейере компиляторных оптимизаций, обеспечивая эффективное использование SIMD-инструкций современных процессоров. Разные компиляторные фреймворки используют различные подходы для достижения максимальной эффективности. По этой причине становится актуален сравнительный анализ подходов к автоматической векторизации.
В данной работе мы представили ASLsim, автоматически сгенерированный функциональный симулятор на основе ARM ASL. Разработанное решение предоставляет эталонную модель ЦПу с автоматизированными тестами на уровне инструкций, легко переносимыми для валидации сторонней модели под архитектуру AArch64 c нашей эталонной.
В результате проделанной работы был разработан и реализован механизм взаимодействия языковой виртуально машины с нативным машинным кодом, исследованы накладные расходы на вызовы нативного машинного кода, предложены и реализованы методы оптимизации по ускорению нативных вызовов
Данная работа посвящена разработке решения для схемы маскирования прерываний, используемых прикладным ПО в ОСРВ с помощью интерфейса ARINC 653 Interrupt Services, а также расширений методов этого интерфейса. В ходе проектирования была выработана устойчивая к выходу из строя периферии схема маскирования линий, было спроектировано расширение интерфейса для получения временной характеристики момента получения прерывания, а также был выработан общий интерфейс контроллеров прерываний.
В данной работе было произведено портирование математической библиотеки с корректным округлением core-math на 32-битные little и big-endian архитектуры с использованием _BitInt. Для обеспечения кодогенерации в компилятор gcc для соответствующих платформ была добавлена поддержка _BitInt(128).
ARINC 653 — это авиационный стандарт для встроенных операционных систем, обеспечивающий разделение ресурсов между различными программными модулями. Он определяет интерфейсы для реального времени и обеспечивает выполнение критически важных приложений с высокой степенью надежности и безопасности. Данный стандарт не имеет сервисов, на основе которых можно построить систему с горячим резервированием. В данной работе был реализован программный модуль, который решает данную проблему.
Разработка архитектуры подсистемы ввода-вывода блочного устройства на примере eMMC в условиях операционной системы реального времени. Результатом работы является описанная архитектура, успешно протестированная в ОСРВ на реальной аппаратуре.