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

Фундаментальный конспект лекции по дисциплине «Архитектура аппаратных средств» (СИЭУиП, занятие 10). Эволюция кремниевой микроэлектроники, физические ограничения микроминиатюризации, ключевые микроархитектурные параметры ЦП и границы применимости теоретических оценок.

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

В 1965 году один из сооснователей компании Fairchild Semiconductor (а позже — Intel) Гордон Мур опубликовал в журнале Electronics статью, где проанализировал темпы развития интегральной микроэлектроники за предшествующие шесть лет. Мур заметил эмпирическую закономерность: число элементов (транзисторов) на кристалле интегральной схемы удваивалось каждый год при минимальной себестоимости одного элемента. В 1975 году на симпозиуме IEEE IEDM Мур скорректировал свой прогноз, определив темп удвоения примерно раз в два года.

Ключевой вывод: Закон Мура никогда не являлся физическим законом природы (как законы Ньютона или уравнения Максвелла). Это эмпирическое наблюдение и стратегический технологический ориентир для полупроводниковой индустрии. Увеличение числа транзисторов снижало удельную стоимость логического вентиля и делало компьютеры мощнее и доступнее.

Различение понятий: плотность транзисторов vs тактовая частота

В популярной литературе и маркетинговых материалах часто допускается грубая ошибка: закон Мура отождествляют с ростом производительности процессоров или удвоением их тактовой частоты. На самом деле:

2. Физические пределы масштабирования: крах правила Деннарда и «Тепловая стена»

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

Роберт Деннард доказал, что при пропорциональном уменьшении всех геометрических размеров МОП-транзистора (длины и ширины канала, толщины подзатворного диэлектрика) в $k$ раз ($\approx 1.4$ раза):

Динамическая мощность одного транзистора: P_dyn = C * V^2 * f При масштабировании в k раз: P_dyn' = (C / k) * (V / k)^2 * (f * k) = P_dyn / k^2 Плотность рассеиваемой мощности (на единицу площади): Power_Density = P_dyn' * (N * k^2) = (P_dyn / k^2) * k^2 = CONST

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

Крах масштабирования Деннарда (~2004–2006 гг.)

При достижении литографических норм 90 нм и 65 нм толщина слоя оксида кремния в подзатворном диэлектрике уменьшилась до 1.2–1.5 нм (всего несколько слоев атомов кремния). Возникли непреодолимые физические барьеры:

  1. Квантовомеханическое туннелирование: Электроны начали свободно просачиваться сквозь ультратонкий барьер затвора. Ток утечки подзатворного диэлектрика возрос экспоненциально.
  2. Невозможность снижения напряжения питания: Напряжение питания $V_{dd}$ нельзя снизить ниже порогового напряжения открытия $V_{th}$ (обычно ~0.6–0.7 В), иначе транзистор невозможно надежно закрыть из-за теплового разброса энергии носителей (подпороговый наклон $\approx 60$ мВ/декаду при комнатной температуре).
  3. Рост статической мощности утечки: Формула суммарного энергопотребления процессора приняла вид:
    P_total = P_dynamic + P_static = α * C * V^2 * f + I_leak * V
    Токи утечки $I_{leak}$ выросли настолько, что статическая мощность стала составлять 30–50% от суммарного тепловыделения чипа.
«Тепловая стена» (Power Wall): Дальнейший рост частоты привел к лавинообразному выделению тепла: плотность теплового потока на кристалле превысила 100–150 Вт/см², приблизившись к тепловому режиму сопла реактивного двигателя. Отвод такого тепла стандартными радиаторами стал физически невозможен. Рост базовых тактовых частот уперся в барьер 3.5–4.0 ГГц, и эра беззаботного ускорения процессоров за счет частоты закончилась.

3. Пути преодоления барьеров: чиплеты, 3D-компоновка и гетерогенные ядра

Когда однопоточная частота перестала расти прежними темпами, инженеры изменили парадигму развития процессоров:

1. Многоядерность (Multi-core) и закон Амдала

Вместо одного сложного процессора с запредельной частотой на кристалле стали размещать несколько параллельных вычислительных ядер с умеренной тактовой частотой и энергопотреблением. Однако эффективность масштабирования уперлась в закон Амдала:

Ускорение системы S(N) при наличии N ядер: S(N) = 1 / ((1 - p) + (p / N)) где p — доля параллельного кода программы, (1 - p) — строго последовательная часть (инициализация, синхронизация). Асимптотический предел при N → ∞: S_max = 1 / (1 - p)

Если хотя бы 10% кода программы последовательно ($p = 0.90$), предельное теоретическое ускорение даже на тысяче ядер не сможет превысить $1 / 0.10 = 10$ раз.

2. Чиплетная архитектура (Chiplets)

Монолитные кремниевые кристаллы большой площади страдают от высокого процента брака при литографии (дефекты подложки). В чиплетной архитектуре (например, AMD Zen) процессор разделен на несколько независимых функциональных кристаллов: компактные вычислительные чиплеты (CCD), производимые по самому передовому и дорогому техпроцессу (5 нм, 3 нм), и кристалл ввода-вывода (cIOD), производимый по зрелому и дешевому узлу (6 нм, 12 нм). Связь между чиплетами осуществляется через высокоскоростные шины (AMD Infinity Fabric, Intel Ultra Path Interconnect).

3. Вертикальная компоновка и 3D V-Cache

Традиционные кристаллы расширялись в двух плоскостях (2D). В современных технологиях (TSMC SoIC, Intel Foveros) кристаллы шлифуются до толщины в десятки микрометров и накладываются друг на друга с прямым межкремниевым соединением через медные проводники TSV (Through-Silicon Vias). Технология AMD 3D V-Cache позволяет нарастить кэш L3 процессора с 32 МБ до 96 МБ за счет припайки кристалла SRAM поверх вычислительных ядер с пропускной способностью межсоединений свыше 2 ТБ/с.

4. Гетерогенные архитектуры (Big.LITTLE / P-core + E-core)

Процессоры современных поколений (Intel Alder Lake, Raptor Lake, Apple Silicon) комбинируют два типа ядер:

4. Основные характеристики современных процессоров

1. Тактовая частота: Базовая vs Turbo Boost / Precision Boost

Тактовая частота (f) — количество тактовых импульсов, вырабатываемых генератором в секунду (измеряется в ГГц, $1\text{ ГГц} = 10^9\text{ тактов/с}$).

2. IPC (Instructions Per Cycle) и «Мегагерцевый миф»

IPC — среднее число машинных инструкций, которое процессор завершает за один такт. Фундаментальная формула времени выполнения программы:

T_CPU = I * CPI * (1 / f) = I / (IPC * f) где I — число инструкций, CPI = 1 / IPC — циклы на инструкцию, f — тактовая частота.
Разоблачение «мегагерцевого мифа» (Megahertz Myth): Процессор с частотой 5 ГГц не обязательно быстрее процессора с частотой 4 ГГц. Если процессор «A» имеет частоту 4.0 ГГц и $IPC = 2.5$, его производительность пропорциональна $4.0 \times 2.5 = 10.0$ млрд оп/с. Если процессор «B» имеет частоту 5.0 ГГц, но $IPC = 1.6$, его производительность равна $5.0 \times 1.6 = 8.0$ млрд оп/с. Процессор «A» с меньшей частотой опережает процессор «B» на 25%!

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

Конвейер инструкций разбивает выполнение команды на дискретные фазы (выборка Fetch, декодирование Decode, переименование регистров, диспетчеризация, выполнение Execute, обратная запись Writeback). При заполненном конвейере каждый такт завершается выполнение одной инструкции.

4. Внеочередное исполнение (Out-of-Order Execution, OoO) и спекулятивное исполнение

Процессор не ждет, пока завершится медленная команда чтения из памяти, а анализирует граф зависимостей инструкций и отправляет на свободные АЛУ последующие независимые команды. Специальные блоки предсказания ветвлений (Branch Predictors на нейросетевых алгоритмах TAGE) с точностью свыше 95–97% предугадывают направление условных переходов и исполняют код спекулятивно до выяснения фактического условия.

5. Иерархия кэш-памяти (L1, L2, L3)

Уровень кэша Типовой объем Задержка (Latency) Пропускная способность Расположение и архитектура
L1 (Instruction / Data) 32–64 КБ на ядро (раздельный) 4–5 тактов (~1 нс) ~3000–5000 ГБ/с Внутри исполнительного ядра, минимальная задержка
L2 1–2 МБ на ядро (индивидуальный) 12–16 тактов (~3–4 нс) ~1500–2500 ГБ/с Рядом с ядром, буферизует промахи L1
L3 (LLC — Last Level Cache) 24–96+ МБ (общий на CCX/кристалл) 40–60 тактов (~10–15 нс) ~800–1200 ГБ/с Общий для всех ядер, кольцевая шина или матричная сеть
Оперативная память (DDR5) 16–64+ ГБ 60–80 нс (~250–350 тактов ЦП) 50–100 ГБ/с Внешние модули DIMM, узкое место производительности

6. Многопоточность (SMT / Hyper-Threading)

Одновременная многопоточность (Simultaneous Multithreading) дублирует в ядре архитектурное состояние (регистры, указатель команд PC), позволяя операционной системе видеть одно физическое ядро как два логических. Если первый поток простаивает в ожидании данных из ОЗУ, вычислительные блоки ядра немедленно переключаются на выполнение команд второго потока, повышая утилизацию АЛУ на 20–35%.

7. Теплопакет (TDP) и лимиты мощности (PL1 / PL2)

TDP (Thermal Design Power) — расчетное тепловыделение, под которое рассчитывается система охлаждения.

5. Вопросы для самопроверки

  1. В чем заключается строгое различие между законом Мура и масштабированием Деннарда? Какое из этих явлений регулировало рост тактовой частоты?
  2. Почему при достижении норм 90–65 нм инженеры больше не смогли пропорционально снижать напряжение питания транзисторов?
  3. Что такое «тепловая стена» (Power Wall), и почему она заставила микропроцессорную индустрию перейти от одноядерных процессоров к многоядерным?
  4. Сформулируйте суть «мегагерцевого мифа». Как доказать математически, что процессор с меньшей тактовой частотой может превосходить по скорости более высокочастотный чип?
  5. Программа имеет 80% распараллеливаемого кода. Каково максимально возможное ускорение этой программы на 4-ядерном процессоре? На 64-ядерном процессоре? На гипотетическом процессоре с бесконечным числом ядер?
  6. Почему технология AMD 3D V-Cache дает колоссальный прирост в соревновательных играх, но практически не ускоряет многопоточный рендеринг в Cinebench?
  7. В чем заключается архитектурный компромисс при увеличении длины конвейера команд (Pipeline Depth)? Приведите исторический пример провала экстремально длинного конвейера.