Практический рабочий лист: Производительность процессоров
Дисциплина: ОП.02 Архитектура аппаратных средств • Раздел 3 (§2.2 с.8 программы)
Вариант 1: Анализ конвейерных конфликтов по данным (RAW) и аппаратного форвардинга
Конвейер • RAW • Forwarding
Исследуйте выполнение цепочки инструкций на 5-ступенчатом конвейере RISC (IF, ID, EX, MEM, WB):
I1: ADD R1, R2, R3 — результат R1 готов в конце стадии EX (T3), запись в РОН на WB (T5) I2: SUB R4, R1, R5 — чтение R1 на стадии ID (T3 без форвардинга / T4 с форвардингом) I3: AND R6, R1, R7 — чтение R1 на стадии ID I4: OR R8, R1, R9 — чтение R1 на стадии ID
Инженерный параметр
Режим 1: Без форвардинга (вставка пузырей NOP/Stall)
Режим 2: С аппаратным форвардингом (Bypassing)
Где и между какими командами возникает RAW?
Число тактов задержки (пузырей / stalls) команды I2
Суммарное время выполнения 4 команд (тактов)
Откуда и куда передаются сигналы в схеме Forwarding
Не применимо (ожидание в ID)
Вариант 2: Расчет предела ускорения параллельной системы по закону Амдала
Закон Амдала • Многоядерность
Рассчитайте теоретическое ускорение $S(N) = \frac{1}{(1-p) + p/N}$ и предел $S_{\max} = \frac{1}{1-p}$ при росте числа ядер:
Доля параллельного кода (p)
N = 2 ядра
N = 4 ядра
N = 8 ядер
N = 16 ядер
N = 64 ядра
Предел при N → ∞
p = 75% (0.75)
p = 90% (0.90)
p = 95% (0.95)
Вариант 3: Анализ штрафа за ошибку предсказания ветвлений (Branch Misprediction)