• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Книга
ECPPM 2021 – eWork and eBusiness in Architecture, Engineering and Construction

Под науч. редакцией: Vitaly Semenov, R. J. Scherer.

CRC Press, 2021.

Статья
О методах извлечения алгоритмов из бинарного кода

Падарян В. А., Кулагин И. И., Кошкин В. А.

Труды Института системного программирования РАН. 2024. Т. 36. № 3. С. 139-160.

Глава в книге
Исследование нефункциональных параметров различных типов при реализации путей в параметризованных графах

Бурдонов И., Евтушенко Н. В., Евтушенко Л. Г. и др.

В кн.: Новые информационные технологии в исследовании сложных структур : материалы Пятнадцатой Международной конференции, 16–20 сентября 2024 г.. Томск: Издательство Томского государственного университета, 2024. С. 12-13.

Препринт
Preventive Model-based Verification and Repairing for SDN Requests

Burdonov I., Kossachev A., Nina Yevtushenko et al.

arxiv.org. Computer Science. Cornell University, 2020

Компиляторные технологии 2

2025/2026
Учебный год
RUS
Обучение ведется на русском языке
Кредиты

Программа дисциплины

Аннотация

Машинно-зависимые оптимизации при трансляции опираются на использование особенностей архитектуры и системы команд базовой машины. В ходе курса подробно рассматриваются машинно-зависимые алгоритмы оптимизации компилятора, а также примеры их работы. К ним относятся генерация кода, распределитель регистров, планирование инструкций, программная конвейеризация циклов и другие оптимизации компилятора. Алгоритмы, обсуждаемые в курсе, используются в современных промышленных компиляторах, таких как Clang/LLVM и GCC.
Цель освоения дисциплины

Цель освоения дисциплины

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

Планируемые результаты обучения

  • 1. Освоение новых методов в области оптимизирующей компиляции и интерпретации программ
  • 2. Полученные знания будут также полезны для анализа производительности и оптимизации для заданных процессорных архитектур приложений (в т.ч. написанных на языках высокого уровня) за счет лучшего понимания особенностей оптимизирующих преобразований, выполняемых внутри компилятора.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение и обзор RISC-архитектуры
  • Выбор команд
  • Распределение и назначение регистров
  • Планирование кода
  • Программная конвейеризация
  • Динамическая компиляция
Элементы контроля

Элементы контроля

  • неблокирующий КР_2
  • неблокирующий Экз
  • неблокирующий КР_1
Промежуточная аттестация

Промежуточная аттестация

  • 2025/2026 1st module
    Final = 0.8*Экзамен + 0.2*5*Max(2, КР_1 + КР_2) * каждая из оценок за КР_1 и КР_2 – числа в интервале [0; 2]
Список литературы

Список литературы

Рекомендуемая основная литература

  • Cooper, K., & Torczon, L. (2012). Engineering a Compiler. San Francisco: Elsevier Ltd. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=354941
  • Shankar, P., & Srikant, Y. N. (2008). The Compiler Design Handbook : Optimizations and Machine Code Generation, Second Edition (Vol. 2nd ed). Boca Raton: CRC Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=209423

Рекомендуемая дополнительная литература

  • Keith Cooper, & Linda Torczon. (2004). Engineering a Compiler. Morgan Kaufmann.

Авторы

  • Буцкая Евгения Александровна
  • Самоненко Илья Юрьевич
  • Петренко Александр Константинович