2024/2025




Технологии оптимизирующей компиляции
Статус:
Маго-лего
Кто читает:
Департамент компьютерной инженерии
Когда читается:
3, 4 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Шампаров Виктор Евгеньевич
Язык:
русский
Кредиты:
6
Программа дисциплины
Аннотация
Курс "Технологии оптимизирующей компиляции" даёт информацию об общем устройстве компиляторов. а также о различных алгоритмах оптимизации программ с целью увеличения скорости их работы. В рамках курса будут рассмотрены основные стадии работы компилятора, проблемы и способы их решения, кроме того будет затронута тема связи работы программы с аппаратным обеспечением. Немалая часть курса посвящена различным оптимизациям, производимым компилятором по ходу работы. Будут рассмотрены вопросы корректности и целесообразности их применения, влияние на различные факторы производительности программы.
Цель освоения дисциплины
- приобретение студентами базовых знаний в области реализации языков программирования и оптимизации программ;
- ознакомление студентов с учёными и специалистами, трудами которых создавались оптимизации и трансляторы языков программирования; познакомить обучающихся с особенностями оптимизации программ и классами оптимизаций;
- приобретение студентами базовых знаний об архитектуре современных компиляторов;
- приобретение студентами базовых знаний об особенностях применения технических и программных средств при построении современных компиляторов;
- приобретение студентами умений по методам ручного анализа производи-тельности и оптимизации программ;
- формирование у студентов системного взгляда на трансляцию и оптимизацию программ.
Планируемые результаты обучения
- Имеет представление о каждом из этапов разбора программ. Демонстрирует владение и применение механизма грамматик для формального описания языка программирования. Обосновывает принятие решений при описании грамматик. Демонстрирует владение и применение автоматических систем лексического и синтаксического анализа.
- Имеет представление о месте изучаемого материала в общекультурном развитии. Имеет представление о структуре компиляторов и трансляторов.
- Имеет представление о методах оптимизации программ. Способен применить некоторые оптимизации к небольшой программе вручную. Обосновывает принятие решений по оптимизации.
- Имеет представление о среде времени выполнения программы и профилировании. Демонстрирует владение и применение автоматических средств профилирования. Имеет представление об управлении памятью во время выполнения программы.
Содержание учебной дисциплины
- Раздел 1. Обзор языковых оптимизирующих компиляторов
- Раздел 2. Разбор программ
- Раздел 3. Среда времени выполнения программы
- Раздел 4. Промежуточное представление программы и генерация целевого кода
- Раздел 5. Оптимизация
- Раздел.6 Ручная оптимизация
Промежуточная аттестация
- 2024/2025 4th module0.025 * Опросы + 0.025 * Опросы + 0.025 * Практические работы + 0.025 * Практические работы + 0.12 * Решение инженерных задач + 0.18 * Решение инженерных задач + 0.6 * Экзамен
Список литературы
Рекомендуемая основная литература
- Князьков, В. С. Введение в теорию автоматов : учебное пособие / В. С. Князьков, Т. В. Волченская. — 2-е изд. — Москва : ИНТУИТ, 2016. — 89 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100715 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Малявко, А. А. Формальные языки и компиляторы : учебное пособие для вузов / А. А. Малявко. — Москва : Издательство Юрайт, 2020. — 429 с. — (Высшее образование). — ISBN 978-5-534-04288-7. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/453250 (дата обращения: 27.08.2024).
- Современные операционные системы. 3-е изд. - 978-5-496-00301-8 - Таненбаум Э. - 2013 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/344100 - 344100 - iBOOKS