Методическое руководство преподавателя

Дисциплина: ОП.02 Архитектура аппаратных средств

Тема занятия: Раздел 3. Технологии повышения производительности процессоров (§2.2 с.8 программы)

Организация: ММКЦТ «Академия TOP»

Объем времени: 2 академических часа (основной регламент — 90 минут, сокращенный регламент — 60 минут)

Оценочный продукт: Интерактивный рабочий лист студента с сохранением в localStorage (zanyatie.html) / закрытая рубрика оценивания (.rubrika.md).

1. Педагогическая концепция и ключевые дидактические цели

Главная дидактическая цель занятия — перевести понимание студентами архитектуры микропроцессора с уровня абстрактного «черного ящика с гигагерцами» на уровень современного высокопараллельного кремниевого суперкомпьютера на кристалле. Студент должен четко осознавать, какими схемотехническими решениями инженеры преодолевали физические барьеры полупроводников.

Ключевая формула занятия:
Время выполнения = N (число инструкций) × CPI (тактов на инструкцию) × T_clk (длительность такта)
Все технологии занятия раскладываются на снижение одного из этих факторов: конвейер снижает $T_{clk}$, суперскалярность и Out-of-Order снижают $\text{CPI}$ (повышая $\text{IPC} = \frac{1}{\text{CPI}}$), SIMD снижает общее число требуемых команд $N$.

Опорные микроархитектурные понятия темы:

2. Детальный поминутный регламент занятия

Основной регламент: 90 минут (2 академических часа)

Время Этап занятия Деятельность преподавателя Деятельность студентов
00–05 мин (5 мин) Организационный момент и актуализация Приветствие, фиксация присутствующих. Провокационный вопрос: «Почему с 2005 года тактовые частоты застыли на уровне 3–5 ГГц, но компьютеры стали в сотни раз быстрее?». Включение в диалог, выдвижение гипотез о росте ядер, кэшей и оптимизации исполнения.
05–25 мин (20 мин) Теоретический блок 1: Конвейер и конфликты Презентация (слайды 1–5). 5 стадий конвейера RISC. Разбор конфликтов: структурные, по данным (RAW), по управлению. Демонстрация пузырей NOP и схемы Forwarding Unit. Фиксация в конспектах диаграммы конвейера, анализ задержек при Load-Use hazard.
25–45 мин (20 мин) Теоретический блок 2: Суперскалярность, Out-of-Order и предсказание переходов Презентация (слайды 6–10). Алгоритм Томасуло: как обойти ложные зависимости WAR/WAW через переименование регистров (RAT). Устройство станций резервирования и ROB. Почему коммит обязан быть In-Order. Двухуровневые и TAGE предсказатели переходов, цена Pipeline Flush. Изучение структуры ядра OoO, формулирование вопросов об обработке исключений.
45–60 мин (15 мин) Теоретический блок 3: SIMD, предел Деннарда и закон Амдала Презентация (слайды 11–15). Разрядность AVX2 (256 бит) и AVX-512 (512 бит). Проблема Power Wall и токов утечки. Разбор формулы закона Амдала: почему даже 5% последовательного кода ограничивают ускорение 20-кратным пределом. Мем xkcd #303 о параллелизме. Анализ графиков закона Амдала, расчет предела ускорения для своего компьютера.
60–80 мин (20 мин) Практикум: интерактивный расчетный лист Организация самостоятельной работы по 4 вариантам в zanyatie.html: Вариант 1 (RAW и Forwarding), Вариант 2 (Закон Амдала), Вариант 3 (Branch Misprediction Penalty), Вариант 4 (SIMD AVX-512 FLOPS). Индивидуальное консультирование. Решение расчетных задач, заполнение матриц в рабочем листе, сохранение данных в браузере.
80–87 мин (7 мин) Фронтальная верификация и разбор ошибок Фронтальный опрос по контрольным точкам. Разбор типичных заблуждений (отождествление частоты со скоростью, непонимание коммита в ROB, сброс частоты при AVX Offset). Самопроверка ответов по эталонным критериям, корректировка выводов.
87–90 мин (3 мин) Подведение итогов и рефлексия Резюмирование ключевых выводов урока. Объяснение условий сдачи рабочего листа (экспорт/печать) и статуса резервного ДЗ (только при назначении). Фиксация результатов, сохранение рабочего листа.

Сокращенный регламент: 60 минут

Время Этап занятия Деятельность преподавателя Деятельность студентов
00–03 мин (3 мин) Организационный ввод Краткая постановка проблемы производительности: формула $T = N \times \text{CPI} \times T_{\text{clk}}$. Включение в работу, открытие материалов.
03–20 мин (17 мин) Экспресс-теория: Конвейер, Out-of-Order и Ветвления Концентрированное изложение: конвейер + форвардинг; алгоритм Томасуло (переименование регистров и ROB); цена промаха ветвления. Конспектирование базовой схемы конвейера и принципа ROB.
20–35 мин (15 мин) Экспресс-теория: SIMD, предел Деннарда и Закон Амдала Векторные инструкции AVX. Термический барьер и многоядерность. Вывод формулы закона Амдала $S(N) = \frac{1}{(1-p) + p/N}$. Фиксация формулы закона Амдала и пределов ускорения.
35–52 мин (17 мин) Фокусный практикум в рабочем листе Студенты выполняют расчетный кейс своего варианта в zanyatie.html (15 мин концентрированных расчетов). Преподаватель адресно помогает отстающим. Расчет задержек конвейера, ускорения Амдала, штрафа ветвления или пиковых FLOPS.
52–57 мин (5 мин) Экспресс-проверка решений Озвучивание ключевых контрольных чисел (10 vs 8 тактов в RAW, предел 20x при p=0.95, CPI 1.076 при TAGE, 256 GFLOPS в AVX-512). Сверка результатов, внесение правок.
57–60 мин (3 мин) Итоги и инструкции Фиксация сохранения данных, указание на резервное дистанционное задание. Сохранение данных в localStorage.

3. Глубокий инженерно-методический анализ технологий

3.1. Конвейеризация (Pipelining) и управление конфликтами

Конвейеризация разбивает обработку команды на независимые аппаратные стадии, синхронизированные единым тактовым сигналом. В идеальном конвейере каждый такт завершается одна инструкция (CPI = 1).

Три фундаментальных типа конфликтов:

  1. Структурные конфликты (Structural Hazards): аппаратный блок не может обслужить две инструкции одновременно. Пример: единая шина/кэш памяти для инструкций и данных (решается разделением на кэши L1i и L1d — гарвардский принцип).
  2. Конфликты по данным (Data Hazards):
    • RAW (Read After Write, истинная зависимость): команда `I2` пытается прочитать регистр до того, как команда `I1` запишет в него результат. Решение: аппаратный байпассинг (Forwarding) передает операнд прямо с выхода ALU стадии EX в следующую инструкцию. Исключение — Load-Use Hazard: данные из ОЗУ поступают только в конце стадии MEM, поэтому 1 такт простоя неизбежен.
    • WAR (Write After Read, антизависимость) и WAW (Write After Write, зависимость по выводу): ложные зависимости из-за ограниченного числа архитектурных регистров. Полностью устраняются в ядрах Out-of-Order с помощью переименования регистров (Register Renaming).
  3. Конфликты по управлению (Control Hazards): команды ветвления (JMP, BNE, BEQ) изменяют Program Counter (PC). До вычисления условия процессор не знает, откуда выбирать следующую команду. Без мер противодействия конвейер простаивает 2–3 такта (или до 15–20 тактов в глубоких конвейерах).

3.2. Суперскалярность и внеочередное исполнение (Out-of-Order Execution — OoO)

Суперскалярный процессор содержит несколько параллельных конвейеров и исполнительных портов (например, 4 АЛУ, 2 блока загрузки, 1 блок сохранения, 2 блока ветвления). Он способен выбирать и запускать несколько инструкций за такт (IPC > 1).

Алгоритм Томасуло и конвейер ядра OoO:

3.3. Предсказание переходов (Branch Prediction) и спекуляция

Чтобы конвейер не простаивал в ожидании результата инструкции условного перехода, процессор спекулятивно «угадывает» направление перехода и начинает исполнять ветвь вперед:

3.4. Векторные инструкции SIMD (Single Instruction, Multiple Data)

SIMD позволяет одной инструкцией произвести параллельное математическое действие над вектором однотипных элементов (упакованные байты, 16-битные слова, 32-битные `float` или 64-битные `double`):

3.5. Закон Амдала, предел Деннарда и термический барьер (Power Wall)

Закон Амдала:

S(N) = 1 / [ (1 - p) + (p / N) ]

где $p$ — параллельная доля программы, $N$ — число ядер. Если даже 10% алгоритма строго последовательны ($p = 0.90$), предельное ускорение при $N \to \infty$ составит ровно $S_{\max} = \frac{1}{1 - 0.90} = 10\times$. Никакие тысячи ядер не сделают выполнение быстрее 10 раз.

Термический барьер и закон Деннарда:

До середины 2000-х годов действовало масштабирование Деннарда (Dennard Scaling): с уменьшением транзистора его напряжение питания падало пропорционально, а удельная плотность мощности на единицу площади кристалла оставалась постоянной ($P \sim C \cdot V^2 \cdot f$). Это позволяло непрерывно наращивать частоту ($f$). При масштабе менее 65–90 нм напряжение питания перестало масштабироваться из-за квантово-механических подпороговых токов утечки. Наступил термический барьер (Power Wall). Невозможность отвести более 250–300 Вт тепла от кремниевого кристалла остановила рост частот на уровне 3–5 ГГц и вызвала «многоядерную революцию».

4. Карта типичных ошибок студентов и педагогические приемы

Типичное заблуждение В чем заключается ошибка Педагогический прием и контрпример
«Гигагерцы = Скорость» Студент считает, что тактовая частота однозначно определяет быстродействие процессора. Прием «Сравнение шагов»: сравнить двух бегунов: один делает 4 коротких семенящих шага в секунду (частота 4 ГГц, IPC 0.5), а второй делает 2 широких шага в секунду по 2 метра (частота 2 ГГц, IPC 2.0). Второй бегун движется в 2 раза быстрее! Вспомнить провал архитектуры NetBurst (Pentium 4 на 3.8 ГГц уступал Core 2 Duo на 2.4 ГГц).
«Out-of-Order меняет логику программы» Студент боится, что при внеочередном исполнении результаты программы могут стать случайными или недетерминированными. Прием «Кухня ресторана»: заказы на кухне (Out-of-Order) готовятся по мере готовности ингредиентов: салат готовится быстрее стейка. Но официант подает блюда гостю строго по этикету в правильном порядке (Reorder Buffer Commit). Итоговый результат программы строго последователен.
«Форвардинг решает все проблемы данных» Студент полагает, что блок байпассинга позволяет полностью избежать задержек в любой цепочке команд. Разбор Load-Use Hazard: показать на тайминг-диаграмме, что инструкция LW считывает данные из кэша памяти только на 4-й стадии (MEM). Если следующая инструкция требует эти данные в ALU на стадии EX (такт 3), физически невозможно передать данные «из будущего». Требуется 1 такт простоя.
«Закон Амдала: 16 ядер ускорят всё в 16 раз» Игнорирование последовательной части кода $(1-p)$. Студенты линейно умножают скорость на число ядер. Притча о девяти матерях: 9 матерей не могут родить ребенка за 1 месяц. Есть процессы, фундаментально недетерминируемые параллельно (ввод-вывод, строгая причинно-следственная связь алгоритмов).

5. Критериальная оценка и связь с материалами занятия

Оценивание учебных достижений на занятии строится по 4-балльной матрице (максимум 4 балла, перевод: 4 б. — «5», 3 б. — «4», 2 б. — «3», 0–1 б. — «2»). Подробная закрытая критериальная шкала с эталонными числовыми решениями зафиксирована в закрытом файле .rubrika.md.