СОДЕРЖАНИЕ

Тема 1 Введение в дисциплину

Тема 2 Архитектура вычислительных систем

      2.1 Понятие архитектуры

      2.2 Архитектура Фон Неймана

      2.3 Современные архитектуры, их особенности

      2.4 Классы архитектур по сложности системы команд

      2.5 Иерархия памяти в современных архитектурах

      2.6 Кэш память

      2.7 Предвыборка данных

      2.8 Виртуальная память

      2.9 Параллелизм в современных архитектурах

      2.10 SIMD параллелизм

      2.11 Параллелизм на уровне команд

      2.12 Параллелизм на уровне потоков

      2.13 Многоядерная архитектура

      2.14 Производительность

Тема 3. Архитектура программного обеспечения

      3.1. Системное ПО

Тема 4 Основы предпринимательства

      4.1 Компилятор и его составляющие

      4.2 Статические библиотеки и библиотекари

      4.3 Средства отладки

      4.4 Таймеры и средства измерения времени

      4.5 Средства профилирования

      4.6 Средства верификации

Тема 5. Оптимизация кода в компиляторах

      5.1 Анализ потока управления

       5.2 Анализ потока данных

       5.3 Промежуточные представления программ

      5.4 Примеры оптимизации в компиляторе GCC

Тема 6. Оптимизация программного обеспечения разработчиком

       6.1 Критерии оптимизации

       6.2 Этапы разработки и связанная с ними оптимизация

       6.3 Оптимизация использования подсистемы памяти

      6.4 Использование SIMD расширений

      6.5 Использование многопоточности

Тема 7. Специфика оптимизации ПО в основных проблемных областях

Литература