1. Уровни абстракции электронной вычислительной системы. Фон Неймановская модель компьютера. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/1 билет/1|– Перечисление уровней с указанием формируемых абстракций. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/1 билет/2|– Фон Неймановская модель компьютера (4 идеи, диаграмма). ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/1 билет/3|– Шаги обработки инструкций в CPU. ]] 2. Оценка производительности CPU [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/2 билет/1|– Определение микрооперации. Определение "среднее CPI программы". ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/2 билет/2|– Уравнение производительности CPU. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/2 билет/3|– Факторы, влияющие на производительность CPU (описание влияния на параметры уравнения). ]] 3. Оценка производительности вычислительной системы [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/3 билет/1|– Список метрик производительности. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/3 билет/2|– Типы программ для оценки производительности. Применимость каждого типа. ]] 4. Классификация архитектур систем команд (Instruction Set Architecture, ISA) по способу адресации операндов. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/4 билет/1|– Определение ISA. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/4 билет/2|– Описание архитектур, использующих различные программируемые места хранения: Memory-To-Memory; 0- адресная; 1-адресная; с регистрами общего назначения. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/4 билет/3|– Режимы адресации. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/4 билет/4|– Архитектуры Load-Store/Register-To-Register. ]] 5. Набор инструкций Архитектуры системы команд (Instruction Set Architecture, ISA). [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/5 билет/1|– Перечисление типов команд с кратким описанием и примерами: команды перемещения данных, арифметико-логических операций, управления порядком выполнения программы и т.д. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/5 билет/2|– Кодирование инструкций. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/5 билет/3|– Определение и особенности CISC и RISC. ]] 5.5 Архитектура RISC-V [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/5.5 билет/1|– Набор инструкций RISC-V (базовые наборы, расширения, профили). ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/5.5 билет/2|– Программируемые места хранения (типы регистров, особенности использования векторных регистров, способы формирования адреса). ]] 6. Однопортовый упорядоченный конвейер команд (in-order pipeline) [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/6 билет/1|– Принцип конвейерной обработки инструкций. Определение ступени/стадии конвейера. Ступени конвейера MIPS (пример-иллюстрация).]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/6 билет/2|– Латентность и пропускная способность (+определение). ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/6 билет/3|– Упорядоченный конвейер команд (+определение). ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/6 билет/4|– Производительность CPU c конвейером по сравнению с CPU без конвейера. ]] 7. Конфликты в конвейере. Структурные конфликты. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/7 билет/1|– Определение конфликта. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/7 билет/2|– Классификация конфликтов (определения: структурные конфликты, конфликты данных, конфликты управления). Обработка конфликтов. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/7 билет/3|– Причина возникновения структурных конфликтов. Изменение CPI из-за структурных конфликтов. ]] 8. Конфликты данных в конвейере. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/8 билет/1|– Определение и причина возникновения конфликтов данных. Определение параллелизма на уровне инструкций (ILP). ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/8 билет/2|– Пересылка данных (Forwarding). ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/8 билет/3|– Классификация конфликтов данных (RAW/WAW/WAR/RAR). ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/8 билет/4|– Обработка конфликтов данных в конвейере. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/8 билет/5|– Статическое планирование инструкций. ]] 9. Конфликты управления в конвейере. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/9 билет/1|– Определение и причина возникновения конфликтов управления. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/9 билет/2|– Аппаратные способы сокращения числа тактов простоя (+пример). ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/9 билет/3|– Статические методы обработки условных переходов. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/9 билет/4|– Статическое предсказание переходов. ]] 10. Использование параллелизма уровня инструкций (Instruction-Level Parallelism, ILP). [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/10 билет/1|– Определение параллелизма уровня инструкций (ILP). Определение базового блока инструкций. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/10 билет/2|– Статическая оптимизация с разворачиванием циклов. Требования к разворачиванию циклов. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/10 билет/3|– Пример разворачивания цикла. ]] 11. Взаимозависимости между инструкциями [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/11 билет/1|– Классификация зависимостей между инструкциями (по данным, по именам, по управлению). ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/11 билет/2|– Истинная зависимость по данным, антизависимость, выходная зависимость. Граф зависимостей.]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/11 билет/3|– Зависимость по управлению. ]] 12. Расширение конвейера для обработки вещественных операций. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/12 билет/1|– Отличия от конвейера без обработки вещественных операций. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/12 билет/2|– Определения задержки и периода запуска. Конвейеризуемые и неконвейеризуемые функциональные блоки. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/12 билет/3|– Характеристики конвейера с поддержкой вещественных операций.]] 13. Динамическое планирование с помощью Табло. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/13 билет/1|– Определение динамического планирования. Принципы реализации динамического планирования. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/13 билет/2|– Определение табло. Структура табло и контролируемые параметры. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/13 билет/3|– Ступени конвейера, использующего табло. Обработка инструкции на различных ступенях. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/13 билет/4|– Пример обработки участка кода. ]] 14. Динамическое планирование с использованием алгоритма Томасуло. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/14 билет/1|– Определение динамического планирования. Принципы реализации динамического планирования. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/14 билет/2|– Принципы работы алгоритма Томасуло. “Станции резервации”(reservation stations), переименование регистров, общая шина данных (Common Data Bus, CDB). Поля станций резервации. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/14 билет/3|– Ступени конвейера, использующего алгоритм Томасуло. Обработка инструкции на различных ступенях. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/14 билет/4|– Пример обработки участка кода. ]] 15. Суперскалярность. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/15 билет/1|– Принцип и цель суперскалярности. Характерные особенности применения. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/15 билет/2|– Простейшая реализация суперскалярности (x2). Пример.]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/15 билет/3|– Динамическое планирование при суперскалярности. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/15 билет/4|– Масштабируемость и перспективы суперскалярности. ]] 16. Динамическое предсказание ветвлений микропроцессором. Буфер целей переходов (Branch Target Buffer, BTB). Буфер предсказания ветвлений (Branch History Table, BHT или Pattern History Table, PHT). Алгоритм Смита. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/16 билет/1|– Определение динамического предсказания ветвлений. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/16 билет/2|– Структура BTB. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/16 билет/3|– Алгоритм заполнения и использования BTB. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/16 билет/4|– Структура PHT. Алгоритм изменения и использования. Интерференция адресов. Структура BHT. ]] 17. Динамическое предсказание ветвлений микропроцессором. Двухуровневый механизм динамического предсказания ветвлений с учетом корреляции (GAp). Схема MCFarling’а gshare. Гибридные предсказатели. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/17 билет/1|– Определение динамического предсказания ветвлений. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/17 билет/2|– Описание двухуровневого механизма динамического предсказания ветвлений с учетом корреляции. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/17 билет/3|– Схема MCFarling’а gshare. Преимущества схемы. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/17 билет/4|– Определение и принцип работы гибридных/турнирных/комбинированных предсказателей. ]] 18. Кэш. Основные понятия и определения. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/18 билет/1|– Определение кэша и кэширования. Уровни иерархии памяти. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/18 билет/2|– Определения: блок, попадание, частота попаданий, время попадания, промах, частота промахов, штраф за промах. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/18 билет/3|– Принцип локальности. Два вида локальности. ]] 19. Организация кэша. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/19 билет/1|– Кэш прямого отображения(Direct mapped cache). Поля строки/блока кэша. Проецирующая функция. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/19 билет/2|– Наборно-ассоциативный кэш (Set associative cache), полностью ассоциативный кэш (Fully associative cache). ]] 20. Политика замещения в кэше. Уменьшение кэш-промахов. Стратегии записи в кэш. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/20 билет/1|– Политики замещения Random, LRU, FIFO. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/20 билет/2|– Причины кэш-промахов. Уменьшение частоты промахов: дополнительный кэш «жертв», разделение кэша прямого доступа на 2 части, программная предвыборка данных, аппаратная предвыборка команд и данных. ]] [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/20 билет/3|– Описание стратегий записи в кэш Write Through и Write Back. ]] 21. [[2 курс/1 семестр/Архитектура ЭВМ/Лекции/21|Векторные инструкции. Понятие вектора и векторных операций. Способы использования векторных операций. ]]