Законы Мура. Основные характеристики процессоров

1. Закон Мура: история и экономическая суть

Формулировка Гордона Мура (1965 / 1975)

Число транзисторов на кристалле интегральной схемы удваивается примерно каждые 2 года при минимальной стоимости единичного транзистора.

N_transistors ≈ N_0 * 2^(years / 2)

Важно: Это не физический закон природы, а экономическое наблюдение и технологическая дорожная карта полупроводниковой отрасли.

Масштабы микроминиатюризации

  • Intel 4004 (1971 г.): 2 300 транзисторов (10 мкм).
  • Pentium 4 (2000 г.): 42 миллиона транзисторов (180 нм).
  • AMD Ryzen / Apple M-серия (2023+ г.): 50–150+ миллиардов транзисторов (3–5 нм).
  • Закон Мура говорит о плотности элементов, а не о тактовой частоте!

2. Масштабирование Деннарда (Dennard Scaling, 1974)

Правило Роберта Деннарда

При уменьшении размеров транзистора в k раз (фактор ~1.4):

  • Площадь транзистора уменьшается в k² раз.
  • Рабочее напряжение питания V снижается в k раз.
  • Емкость затвора C уменьшается в k раз.
  • Частота f вырастает в k раз.

Постоянство плотности мощности

P_dyn = C * V² * f
P_dyn' = (C/k) * (V/k)² * (f*k) = P_dyn / k²

Плотность тепловыделения на см² кристалла оставалась постоянной:

Power_Density = (P_dyn / k²) * k² = CONST

Именно правило Деннарда позволяло безопасно повышать частоту от 5 МГц до 3 ГГц без расплавления чипа.

3. Крах масштабирования Деннарда и «Тепловая стена»

Физические барьеры (2004–2006 гг.)

  • Квантовое туннелирование: диэлектрик затвора достиг толщины ~1.2 нм (несколько атомов), электроны просачиваются сквозь барьер.
  • Нижний предел напряжения: напряжение питания нельзя опустить ниже 0.7 В из-за подпорогового наклона ВАХ транзистора.
  • Токи утечки: статическая мощность утечки P_stat = I_leak * V сравнялась с динамической!

«Тепловая стена» (Power Wall)

Попытки повысить частоту свыше 3.8–4.0 ГГц на монолитном кремнии привели к плотности теплового потока > 100–150 Вт/см² (уровень сопла ракеты).

P_total = α*C*V²*f + I_leak*V (экспоненциальный перегрев)

Индустрия была вынуждена остановить гонку мегагерц и перейти к многоядерности и повышению IPC.

4. Закон Амдала и границы многоядерности

S(N) = 1 / ((1 - p) + p / N), где p — параллельная доля, N — число ядер

Асимптотический предел: S_max = 1 / (1 - p)

  • p = 50%: даже при бесконечном числе ядер ускорение не превысит 2.0x!
  • p = 80%: максимум ускорения — 5.0x.
  • p = 95%: максимум ускорения — 20.0x.

Архитектурный вывод

Наращивание ядер бесполезно, если в программе велика последовательная доля (1 - p): инициализация, ввод-вывод, блокировки мьютексов.

Для таких задач решающее значение сохраняет однопоточная производительность ядра (IPC × f).

5. Разоблачение «мегагерцевого мифа»

CPU_Time = I * CPI * (1 / f) = I / (IPC * f)

где I — число инструкций, IPC — инструкций за такт (1/CPI), f — тактовая частота.

В чем суть мифа?

Заблуждение: «Чем выше тактовая частота процессора, тем он быстрее».

Опровержение: Реальная скорость определяется произведением IPC × f, а не только частотой f!

Исторический урок 2006 года

  • Pentium 4 Prescott: 3.8 ГГц, узкий IPC ~0.35.
  • Core 2 Duo Conroe: 2.4 ГГц, широкий IPC ~1.00.
  • Conroe при частоте на 37% ниже опережал Prescott на 20–40% при вдвое меньшем TDP!

6. Конвейер (Pipelining) и суперскалярность

Глубина конвейера (Pipeline Depth)

  • Команда делится на стадии: Fetch ➔ Decode ➔ Rename ➔ Dispatch ➔ Exec ➔ Ret.
  • Длинный конвейер (NetBurst, 31 стадия): позволяет задрать частоту f, но при ошибке ветвления сброс конвейера стоит > 30 тактов простоя!
  • Оптимальный конвейер (Core / Zen, 14–19 стадий): минимальный штраф за промах при высоком IPC.

Суперскалярность (Superscalar)

  • Исполнение нескольких инструкций одновременно за один такт.
  • Широкий декодер (4–8 micro-ops/такт).
  • Несколько независимых АЛУ, FPU и портов загрузки/сохранения.
  • IPC > 1: в идеале современное ядро завершает 3–6 инструкций за один такт.

7. Внеочередное (OoO) и спекулятивное исполнение

Внеочередное исполнение (Out-of-Order)

Если команда ждет загрузки данных из памяти (100 тактов), процессор не простаивает:

  • Буфер переупорядочения (ROB — Reorder Buffer).
  • Динамический анализ зависимостей данных.
  • Запуск независимых последующих команд вперед по времени.
  • Упорядоченная фиксация результатов (In-order Retirement).

Предсказание ветвлений (Branch Prediction)

Условные переходы (if-else, циклы) прерывают поток инструкций:

  • Нейросетевые предсказатели (TAGE) с точностью > 96–98%.
  • Спекулятивное исполнение команд по предсказанной ветке.
  • При угадывании — нулевая задержка; при ошибке — сброс конвейера (Flushing).

8. Иерархия кэш-памяти процессора

Уровень кэша Типовой объем Задержка (Latency) Пропускная способность Роль в системе
L1 (I / D) 32–64 КБ на ядро 4–5 тактов (~1 нс) 3000–5000 ГБ/с Непосредственное питание АЛУ/декодера
L2 1–2 МБ на ядро 12–16 тактов (~3–4 нс) 1500–2500 ГБ/с Индивидуальный буфер промахов L1
L3 (LLC) 24–96+ МБ (общий) 40–60 тактов (~10–15 нс) 800–1200 ГБ/с Общий массив для всех ядер CCX
ОЗУ (DDR5) 16–64+ ГБ 60–80 нс (~300 тактов) 50–100 ГБ/с «Бутылочное горлышко» задержек

9. Многопоточность SMT и P/E ядра

SMT / Hyper-Threading

Дублирование регистрового контекста при общих исполнительных блоках:

  • Одно физическое ядро = два логических потока в ОС.
  • Пока поток 1 ждет память, поток 2 утилизирует свободные АЛУ.
  • Прирост производительности в параллельных задачах: +20–35%.

Гетерогенные ядра: P-core + E-core

  • P-ядра (Performance): максимальная частота и IPC для интерактивных задач и одиночных потоков.
  • E-ядра (Efficient): 4 компактных ядра на площади одного P-ядра. Рекордная многопоточная плотность для рендеринга и фона.
  • Аппаратный планировщик Intel Thread Director распределяет потоки.

10. Современные решения: чиплеты и 3D V-Cache

Чиплетная компоновка (AMD Zen)

  • Разделение кристалла на CCD (вычислительные 5 нм ядра) и cIOD (6 нм контроллеры ввода-вывода).
  • Резкое снижение стоимости и увеличение процента годных кристаллов (Yield).
  • Высокоскоростная межчиповая шина Infinity Fabric.

Вертикальное 3D-наращивание (3D V-Cache)

  • Кристалл SRAM-кэша толщиной 20 мкм припаивается прямо поверх CCD через вертикальные сквозные проводники TSV.
  • Объем L3 возрастает до 96 МБ при пропускной способности > 2 ТБ/с.
  • Исключает задержки обращения к оперативной памяти в Cache-bound задачах.

11. Тепловыделение: TDP vs PL1/PL2

TDP (Thermal Design Power)

Расчетная тепловая мощность, которую система охлаждения обязана отводить при базовой частоте.

Маркетинговая ловушка: В паспорте указано «TDP 125 Вт», но это справедливо лишь для базовой частоты 3.4 ГГц!

Лимиты мощности Intel / AMD

  • PL1 (Power Limit 1): длительная мощность (Base Power, 125 Вт).
  • PL2 (Power Limit 2): турбо-мощность (Maximum Turbo Power, 253 Вт).
  • PPT (Package Power Tracking): предел сокета у AMD AM5 (до 162 Вт / 230 Вт).
  • Без мощного охлаждения наступает Thermal Throttling (сброс частот).

12. Архитектурный баттл: 7800X3D vs i7-14700K

AMD Ryzen 7 7800X3D

  • 8 ядер / 16 потоков (все полноценные P-ядра).
  • Частота: до 5.0 ГГц.
  • Кэш L3: 96 МБ (3D V-Cache).
  • Потребление в играх: 50–70 Вт.
  • Лидер в играх: низкая латентность, минимум промахов кэша.

Intel Core i7-14700K

  • 20 ядер / 28 потоков (8P + 12E).
  • Частота P-ядер: до 5.6 ГГц.
  • Кэш L3: 33 МБ Smart Cache.
  • Потребление PL2: до 253–280 Вт.
  • Лидер в рендеринге: огромная многопоточная пропускная способность.

13. Экспресс-контроль понимания архитектуры

Ситуация:

Пользователь покупает процессор для киберспортивных игр (CS2, Valorant). Консультант в магазине рекомендует процессор с 20 ядрами и частотой 5.6 ГГц вместо 8-ядерного процессора с частотой 5.0 ГГц и 96 МБ кэша L3, утверждая: «Здесь на 12 ядер больше и частота на 600 МГц выше, он гарантированно быстрее».

Архитектурная оценка аргументов консультанта:

  • Консультант стал жертвой «мегагерцевого мифа» и подсчета ядер: игровой движок имеет низкую параллельную долю (p ~ 65%). 12 E-ядер вообще не задействуются в игре.
  • Узкое место игры — задержка обращения к ОЗУ: 96 МБ кэша 3D V-Cache удерживают игровые данные внутри кристалла, тогда как процессор с 33 МБ кэша постоянно простаивает сотни тактов в ожидании DDR5. 8-ядерный процессор с 3D V-Cache выигрывает по FPS до 15–25%!

14. Архитектурный юмор и мем

Mathjoke Meme
Мем: «Mathjoke (10 types of people in the world) — Существует 10 типов людей: те, кто понимает двоичную систему счисления, и те, кто не понимает».
Автор: MjolnirPants (Wikimedia Commons).
Источник: Wikimedia Commons (File:Mathjoke.jpg).
Лицензия: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0).
Изменения: Оптимизировано разрешение и встроено offline через Data URI (Base64) без изменения содержания.
Слайд 1 / 15