Законы Мура. Основные характеристики процессоров
Фундаментальный конспект лекции по дисциплине «Архитектура аппаратных средств» (СИЭУиП, занятие 10). Эволюция кремниевой микроэлектроники, физические ограничения микроминиатюризации, ключевые микроархитектурные параметры ЦП и границы применимости теоретических оценок.
1. Закон Мура: история, формулировка и экономическая сущность
В 1965 году один из сооснователей компании Fairchild Semiconductor (а позже — Intel) Гордон Мур опубликовал в журнале Electronics статью, где проанализировал темпы развития интегральной микроэлектроники за предшествующие шесть лет. Мур заметил эмпирическую закономерность: число элементов (транзисторов) на кристалле интегральной схемы удваивалось каждый год при минимальной себестоимости одного элемента. В 1975 году на симпозиуме IEEE IEDM Мур скорректировал свой прогноз, определив темп удвоения примерно раз в два года.
Ключевой вывод: Закон Мура никогда не являлся физическим законом природы (как законы Ньютона или уравнения Максвелла). Это эмпирическое наблюдение и стратегический технологический ориентир для полупроводниковой индустрии. Увеличение числа транзисторов снижало удельную стоимость логического вентиля и делало компьютеры мощнее и доступнее.
Различение понятий: плотность транзисторов vs тактовая частота
В популярной литературе и маркетинговых материалах часто допускается грубая ошибка: закон Мура отождествляют с ростом производительности процессоров или удвоением их тактовой частоты. На самом деле:
- Закон Мура регламентирует только число транзисторов на единицу площади кристалла (плотность интеграции). В 1971 году процессор Intel 4004 содержал 2300 транзисторов, в 2000 году Pentium 4 — 42 миллиона, а современные микропроцессоры (например, Apple M-серии или AMD EPYC) содержат от 50 до 150+ миллиардов транзисторов.
- Рост же тактовой частоты и однопоточного быстродействия в 1980–1990-х годах обеспечивался совершенно другим физическим принципом — масштабированием Деннарда.
2. Физические пределы масштабирования: крах правила Деннарда и «Тепловая стена»
Масштабирование Деннарда (Dennard Scaling, 1974)
Роберт Деннард доказал, что при пропорциональном уменьшении всех геометрических размеров МОП-транзистора (длины и ширины канала, толщины подзатворного диэлектрика) в $k$ раз ($\approx 1.4$ раза):
- Площадь транзистора уменьшается в $k^2 \approx 2$ раза (плотность удваивается);
- Емкость затвора $C$ падает в $k$ раз;
- Рабочее напряжение питания $V_{dd}$ снижается в $k$ раз;
- Задержка переключения падает в $k$ раз, что позволяет повысить тактовую частоту $f$ в $k$ раз.
Динамическая мощность одного транзистора:
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 нм (всего несколько слоев атомов кремния). Возникли непреодолимые физические барьеры:
- Квантовомеханическое туннелирование: Электроны начали свободно просачиваться сквозь ультратонкий барьер затвора. Ток утечки подзатворного диэлектрика возрос экспоненциально.
- Невозможность снижения напряжения питания: Напряжение питания $V_{dd}$ нельзя снизить ниже порогового напряжения открытия $V_{th}$ (обычно ~0.6–0.7 В), иначе транзистор невозможно надежно закрыть из-за теплового разброса энергии носителей (подпороговый наклон $\approx 60$ мВ/декаду при комнатной температуре).
- Рост статической мощности утечки: Формула суммарного энергопотребления процессора приняла вид:
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) комбинируют два типа ядер:
- P-ядра (Performance cores): широкие, многоконвейерные суперскалярные ядра с внеочередным исполнением и максимальной частотой. Направлены на минимизацию задержки тяжелых одиночных потоков.
- E-ядра (Efficient cores): компактные ядра без Hyper-Threading. Четыре E-ядра занимают на кристалле столько же места, сколько одно P-ядро, обеспечивая высокую многопоточную пропускную способность для фоновых процессов и параллельных задач.
4. Основные характеристики современных процессоров
1. Тактовая частота: Базовая vs Turbo Boost / Precision Boost
Тактовая частота (f) — количество тактовых импульсов, вырабатываемых генератором в секунду (измеряется в ГГц, $1\text{ ГГц} = 10^9\text{ тактов/с}$).
- Базовая частота (Base Clock): гарантированная частота, на которой процессор может работать непрерывно при максимальной нагрузке на все ядра в рамках стандартного пакета охлаждения (TDP / PL1).
- Турбо-частота (Turbo Boost / Boost Clock): динамический разгон одного или нескольких ядер до максимально безопасной частоты в зависимости от текущей температуры, потребляемого тока и характера нагрузки (PL2 / Tau).
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). При заполненном конвейере каждый такт завершается выполнение одной инструкции.
- Длина конвейера: Чем длиннее конвейер, тем меньше логических элементов в каждой стадии, что позволяет поднять тактовую частоту. Однако при ошибке предсказателя ветвлений (Branch Misprediction) весь конвейер сбрасывается. Например, процессор Pentium 4 Prescott имел конвейер из 31 стадии: промах ветвления стоил более 30 пустых тактов. У современных процессоров конвейер оптимизирован до 14–19 стадий.
- Суперскалярность (Superscalar): Наличие нескольких параллельных исполнительных блоков (АЛУ, FPU, блоки загрузки/сохранения), позволяющих декодировать и запускать на исполнение несколько инструкций за один такт (ширина декодирования 4–8 micro-ops/такт).
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) — расчетное тепловыделение, под которое рассчитывается система охлаждения.
- PL1 (Power Limit 1): длительный лимит мощности, обычно соответствующий базовому TDP (например, 125 Вт).
- PL2 (Power Limit 2): кратковременный пиковый лимит мощности при работе в Turbo Boost (может достигать 250–300 Вт).
- Tau: временное окно, в течение которого процессору разрешено работать в режиме PL2 до принудительного сброса мощности до уровня PL1.
5. Вопросы для самопроверки
- В чем заключается строгое различие между законом Мура и масштабированием Деннарда? Какое из этих явлений регулировало рост тактовой частоты?
- Почему при достижении норм 90–65 нм инженеры больше не смогли пропорционально снижать напряжение питания транзисторов?
- Что такое «тепловая стена» (Power Wall), и почему она заставила микропроцессорную индустрию перейти от одноядерных процессоров к многоядерным?
- Сформулируйте суть «мегагерцевого мифа». Как доказать математически, что процессор с меньшей тактовой частотой может превосходить по скорости более высокочастотный чип?
- Программа имеет 80% распараллеливаемого кода. Каково максимально возможное ускорение этой программы на 4-ядерном процессоре? На 64-ядерном процессоре? На гипотетическом процессоре с бесконечным числом ядер?
- Почему технология AMD 3D V-Cache дает колоссальный прирост в соревновательных играх, но практически не ускоряет многопоточный рендеринг в Cinebench?
- В чем заключается архитектурный компромисс при увеличении длины конвейера команд (Pipeline Depth)? Приведите исторический пример провала экстремально длинного конвейера.