• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Технологии оптимизирующей компиляции

2023/2024
Учебный год
RUS
Обучение ведется на русском языке
6
Кредиты
Статус:
Курс обязательный
Когда читается:
1-й курс, 3, 4 модуль

Преподаватель

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

Аннотация

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

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

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

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

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

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

  • Раздел 1. Обзор языковых оптимизирующих компиляторов
  • Раздел 2. Разбор программ
  • Раздел 3. Среда времени выполнения программы
  • Раздел 4. Промежуточное представление программы и генерация целевого кода
  • Раздел 5. Оптимизация
  • Раздел.6 Ручная оптимизация
Элементы контроля

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

  • неблокирующий Экзамен
  • неблокирующий Опросы
  • неблокирующий Практические работы
  • неблокирующий Решение инженерных задач
Промежуточная аттестация

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

  • 2023/2024 4th module
    0.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 (дата обращения: 28.08.2023).
  • Таненбаум Э. - Современные операционные системы. 3-е изд. - 978-5-496-00301-8 - Санкт-Петербург: Питер - 2013 - 344100 - https://ibooks.ru/bookshelf/344100/reading - iBOOKS