Дисциплина: ОП.02 Архитектура аппаратных средств
Тема занятия: Раздел 3. Технологии повышения производительности процессоров (§2.2 с.8 программы)
Организация: ММКЦТ «Академия TOP»
Объем времени: 2 академических часа (основной регламент — 90 минут, сокращенный регламент — 60 минут)
Оценочный продукт: Интерактивный рабочий лист студента с сохранением в localStorage (zanyatie.html) / закрытая рубрика оценивания (.rubrika.md).
Главная дидактическая цель занятия — перевести понимание студентами архитектуры микропроцессора с уровня абстрактного «черного ящика с гигагерцами» на уровень современного высокопараллельного кремниевого суперкомпьютера на кристалле. Студент должен четко осознавать, какими схемотехническими решениями инженеры преодолевали физические барьеры полупроводников.
| Время | Этап занятия | Деятельность преподавателя | Деятельность студентов |
|---|---|---|---|
| 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 мин) | Подведение итогов и рефлексия | Резюмирование ключевых выводов урока. Объяснение условий сдачи рабочего листа (экспорт/печать) и статуса резервного ДЗ (только при назначении). | Фиксация результатов, сохранение рабочего листа. |
| Время | Этап занятия | Деятельность преподавателя | Деятельность студентов |
|---|---|---|---|
| 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. |
Конвейеризация разбивает обработку команды на независимые аппаратные стадии, синхронизированные единым тактовым сигналом. В идеальном конвейере каждый такт завершается одна инструкция (CPI = 1).
Три фундаментальных типа конфликтов:
Суперскалярный процессор содержит несколько параллельных конвейеров и исполнительных портов (например, 4 АЛУ, 2 блока загрузки, 1 блок сохранения, 2 блока ветвления). Он способен выбирать и запускать несколько инструкций за такт (IPC > 1).
Алгоритм Томасуло и конвейер ядра OoO:
Чтобы конвейер не простаивал в ожидании результата инструкции условного перехода, процессор спекулятивно «угадывает» направление перехода и начинает исполнять ветвь вперед:
SIMD позволяет одной инструкцией произвести параллельное математическое действие над вектором однотипных элементов (упакованные байты, 16-битные слова, 32-битные `float` или 64-битные `double`):
Закон Амдала:
где $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 ГГц, 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 месяц. Есть процессы, фундаментально недетерминируемые параллельно (ввод-вывод, строгая причинно-следственная связь алгоритмов). |
Оценивание учебных достижений на занятии строится по 4-балльной матрице (максимум 4 балла, перевод: 4 б. — «5», 3 б. — «4», 2 б. — «3», 0–1 б. — «2»). Подробная закрытая критериальная шкала с эталонными числовыми решениями зафиксирована в закрытом файле .rubrika.md.