Обеспечение питания – одна из наиболее сложных задач при разработке современных процессоров. Сеть доставки питания (power delivery network, PDN) должна отвечать повышенным требованиям современной КМОП-технологии, обеспечивать питание с высокой эффективностью и быстро реагировать на изменения в энергопотреблении.
И эти проблемы встречаются как у смартфонов с потреблением в 1 Вт, так и у серверных процессоров на 200 Вт и массивных ускорителей машинного обучения – к примеру, Cerebras CS-1 на 15 кВт. Для работы с заданной тактовой частотой каждому транзистору и каждой схеме современного чипа требуется питание с правильным напряжением. Если напряжение будет слишком низким, элементы схемы будут переключаться медленно, что приведёт к появлению ошибок, проблемам со стабильностью и другим неожиданным отказам.
Из-за физики кремния КМОП обычно работает на напряжении в 1 В. Однако у современных технологий, использующих транзисторы FinFET и другие техники, номинальные напряжения могут находиться в диапазоне от 0,65 В до 1,2 В. Инновационные схемы могут использовать напряжение питания, близкое к пороговому значению транзисторов (near-threshold voltage, NTV) – эту технологию продемонстрировало исследование от Intel. И хотя процессоры, использующие NTV (к примеру, Ambiq Micro), уже появились в продаже, эта технология всё ещё довольно нова. Энергопотребление коммутационной схемы (такой, как процессор) пропорционально квадрату напряжения, поэтому для увеличения эффективности необходимо уменьшать напряжение. Для разработчиков чипов это классическая проблема поиска золотой середины: напряжение должно быть достаточно высоким для того, чтобы избежать ошибок, но не выше.
Однако работа под низким напряжением – это сложная задача в плане обеспечения питания, поскольку в этом случае к процессору нужно подводить большой ток. Возьмём современный серверный процессор – Intel Cascade Lake Xeon 14 нм. TDP у самых мощных процессоров этой модели достигают 205 Вт, что теоретически даёт нам ток в 205 А при напряжении в 1 В. На самом деле, конечно, процессоры устроены гораздо сложнее, и используют различные напряжения и схемы питания, однако такой простой пример будет полезен для понимания ситуации. Если энергопотребление процессора останется на том же уровне, а напряжение понизится до 0,75 В, это увеличит нужный ток до 274 А. И хотя передовые серверные процессоры от Intel довольно прожорливы, они не идут в сравнение с некоторыми ускорителями вычислений. К примеру Nvidia Volta V100 потребляет 450 Вт, некоторые будущие их процессоры будут есть уже по 600 Вт, и, как было упомянуто ранее, Cerebras CS-1 потребляет невероятные 15 кВт.
Обычно гораздо эффективнее получается передавать энергию при высоком напряжении и низком токе. Чем выше напряжение, тем меньше ток и тем меньше требуется проводов, что уменьшает стоимость системы. Кроме того, потери на сопротивление пропорциональны квадрату тока, поэтому увеличение напряжения и уменьшение тока понижает потери на сопротивление и увеличивает эффективность энергетической системы. Поэтому обычно линии электропередач работают с напряжением выше 110 кВ – и те же самые базовые принципы применимы и для сервера или дата-центра. Хотя некоторые сервера используют традиционные 12 В, некоторые из новых перешли на 48 В для эффективности – в особенности ускорители, потребляющие более 350 Вт.
Если свести всё это вместе, то теоретической целью обеспечения питания будет передача энергии по системе с максимально возможным напряжением, а потом преобразование в очень низкое и стабильное напряжение, для эффективных и стабильных вычислений.
Как показано на рис. 1, проблема обеспечения питания затрагивает всю систему, начинаясь с основного источника питания и продолжаясь до электрораспределительной сети в процессоре, доходя в итоге до транзисторов, выполняющих вычисления на кристалле. У настольных компьютеров БП преобразует 110 В или 220 В в 12 В постоянного тока, распространяемого по всей материнской плате, к процессору и другим компонентам. У ноутбуков или смартфонов всё немного не так – типичные литий-ионные батареи выдают постоянное напряжение в 3,7 В, поэтому преобразования переменного напряжения в постоянное не происходит, а понижение напряжения требуется не такое сильное.
Рис. 1: Обеспечение питания в современных системах. Слева — Intel FIVR, справа – традиционный VRM
У стандартных процессоров, например, от AMD, модуль регулятора напряжения (voltage regulation module, VRM) понижает напряжение примерно до 1 В. Обычно VRM располагаются недалеко от процессора, так, чтобы большую часть расстояния проходили сигналы на 12 В. 1 В передаётся на небольшое расстояние по материнской плате, через плату процессора, и внутрь самого процессора по его контактам. В процессоре есть своя электрораспределительная сеть, расходящаяся от контактов и использующая различные промежуточные металлические слои для доставки энергии к транзисторам. VRM работают на довольно низкой частоте в 1 МГц, то есть, могут подстраивать выходящее напряжение только раз в микросекунду.
Многие системы на базе Intel работают по той же схеме, однако используют дополнительный шаг в обеспечении питания. FIVR (fully-integrated voltage regulator – полностью интегрированный модуль регулятора напряжения) интегрирован в сам кристалл процессора и распределяет энергию по десяткам шин питания в его различные блоки (ядра CPU, кэши L2, блоки GPU и т.п.). FIVR используется в большинстве серверных процессоров, начиная с поколения Haswell. Также он используется в клиентских процессорах Haswell и Broadwell, а теперь и в клиентах Ice Lake и Tiger Lake. Отметим, что семейство клиентов Skylake (Coffee Lake, Comet Lake, и т.д.) FIVR не используют. В этих системах VRM на материнской плате преобразуют 12 В (или 48 В) в 1,8 В, и передают энергию от VRM, через всю материнскую плату, плату процессора и его контакты в FIVR. FIVR отвечает за последний шаг в преобразовании энергии, и понижает напряжение с 1,8 В до 1 В, в зависимости от нужд конкретной шины питания.
Одно из преимуществ FIVR состоит в том, что напряжение, поданное с VRM материнской платы на процессор получается в два раза выше, чем у обычных систем. Использование более высокого напряжения уменьшает требуемую силу тока примерно в 2 раза, уменьшает количество контактов питания и повышает эффективность. Минус в том, что преобразование напряжения никогда не бывает на 100% эффективным, и FIVR теряют часть энергии. Взаимоотношение между выигрышем в эффективности и потерей при преобразовании сильно зависит от конкретной ситуации. В целом для процессоров с высоким энергопотреблением система с FIVR обычно выигрывает. Кроме того, FIVR потрясающе быстро работает – её тактовая частота составляет 140 МГц, на два порядка больше, чем у VRM на материнке.
Скорость FIVR подводит нас к одной из крупнейших проблем обеспечения питания современных процессоров. Концентрация на постоянном питании и температурных характеристик (TDP) преуменьшает значимость проблемы. Современные процессы чрезвычайно динамичны, а их поведение меняется на основе нагрузки. Транзистору при переключении требуется относительно небольшой ток. Однако если множество транзисторов переключаются одновременно, то общее потребление может достичь значительных величин и создать шум на питании чипа. У таких высокоскоростных чипов, как CPU или GPU, количество переключающихся транзисторов может значительно меняться от цикла к циклу. К примеру, когда ядро CPU начинает выполнять команды умножения с накоплением AVX512, энергопотребление становится гораздо больше, чем в случае выполнения целочисленной арифметики. Сходным образом системы динамического изменения напряжения и частоты (DVFS) меняют частоту и напряжение процессора на лету в ответ на изменения загрузки или рабочих условий. Эти внезапные всплески в энергопотреблении могут привести к временным проседаниям напряжения.
Эту проблему могут проиллюстрировать два примера. Большинство дата-центров оптимизируют под эффективность и высокую утилизацию – то есть, 40-60% утилизации CPU, а в пиках и того больше. Если мы вернёмся к TPD 205 Вт у Intel Xeon по спецификации, то этот процессор в моменты максимальной загрузки потребляет ток в 273,75 A по основным шинам питания, и невероятные 413 Вт.
Клиентские процессоры, особенно у ноутбуков и смартфонов, ведут себя совсем не так, и представляют ещё более интересную проблему. Они обычно оптимизированы под очень неровную работу и должны выдавать максимальную мощность на кратких промежутках времени (к примеру, при загрузке веб-страницы), и потреблять очень мало во время простоя (к примеру, ожидая пользовательского ввода). Ноутбук, работающий с 40-60% утилизацией CPU, нереально быстро просаживал бы батарею. Клиентский процессор порядка 90% времени проводит в режиме ожидания. В итоге у клиентских процессоров получается ещё большая разница между TPD, максимальной мощностью и потреблением тока. Последние процессоры Ice Lake серий U и Y имеют TPD в 15 Вт и 9 Вт соответственно. Для увеличения быстродействия вендоры могут устанавливать TPD выше, вплоть до 25 Вт и 12 Вт соответственно. Однако максимальное энергопотребление для CPU и GPU значительно выше – до 70 А и 49 А соответственно, и это не считая питание контроллера памяти и всей периферии ядра.
Основная проблема тут в том, что регуляторы напряжения, будь то VRM на материнской плате или FIVR от Intel, реагируют гораздо медленнее, чем могут появляться кратковременные всплески, вызванные переключениями транзисторов. FIVR у Haswell может повысить напряжение на шине питания от 0 до 0,8 В за 0,32 мкс. Однако для современных процессоров на 3 ГГц это выльется в порядка 1000 тактов. Обычные, менее быстрые VRM могут увеличивать напряжение на 10-23 мВ за мкс, и на аналогичное повышение от 0 до 0,8 у них уйдёт в 100 раз больше времени, или порядка 100 000 тактов. Без очень эффективной схемы эти временные пики могут вызвать проседания напряжения – по смыслу это похоже на то, как в старых домах тускнеет свет лампочек, когда хозяева включают микроволновку или фен. Исключение составляют клиентские процессоры Skylake и процессоры от AMD, использующие регуляторы с небольшим падением напряжения (LDO), которые также работают очень быстро. Однако LDO работают как переменное сопротивление, и умеют только уменьшать напряжение, идущее на шину питания. Поскольку LDO работают через сопротивление, для больших изменений напряжения (более 10%) они становятся неэффективными.
Как уже упоминалось, если процессор работает на частоте 3 ГГц, а напряжение внезапно падает, то транзисторы могут уже не работать корректно – поэтому либо нужно держать постоянное напряжение, либо ронять частоту. На практике же большинство компаний используют комбинацию из разных мер. К примеру, AMD разработала технологию адаптивного изменения частоты, уменьшающую её во время проседаний напряжения.
Чтобы устранить несоответствие между почти мгновенными всплесками потребления и задержкой на регуляторах напряжения, современные системы полагаются на развязывающие, или обходные конденсаторы. Эти конденсаторы хранят энергию и могут быстро высвобождать её, чтобы гарантировать постоянное напряжение в моменты, когда регуляторы только начинают реагировать. Вернёмся к рис. 1: системы включают в себя развязывающие конденсаторы на каждом шаге работы сети подачи питания. На МА конденсаторы встречаются во многих местах, но особенно много их вокруг гнезда процессора – см. рис. 2. В платы процессоров также встраивают развязывающие конденсаторы, обычно по краям и снизу. Наконец, на кристаллах процессора тоже располагают конденсаторы; они ближе всего расположены к активным схемам и дают скорейший отклик на временные всплески энергопотребления.
Рис. 2: развязывающие конденсаторы вокруг гнезда процессора
На кристаллах располагаются совершенно разные конденсаторы. Простейший их тип – обычный транзистор, который иногда называют МОП-конденсатором. Такие конденсаторы можно легко вставлять в стандартные ячейки на небольшом расстоянии от важных участков, где ожидается сильный шум переключения. Поскольку они располагаются близко к активным участкам, они легко могут поглощать шум и быстро подавать дополнительный ток.
Кроме того, на чипах, разработанных при помощи различных средств автоматизации, встречаются «пробелы» – участки, оставшиеся пустыми из-за несовершенства инструментов и ограничений по расположению блоков разной формы в непосредственной близости друг от друга. Распространённой практикой является заполнение этих пробелов конденсаторами – по сути, это «бесплатно». И хотя МОП-конденсаторы можно сделать в любом техпроцессе и легко разместить на кристалле, они не являются идеальными конденсаторами. Как и другие транзисторы, они дают утечку, а также их бывает сложно втиснуть в забитые компонентами участки чипа. Ещё один вариант – изменить техпроцесс и создавать более специализированные структуры, такие, как металл-диэлектрик-металл (MIM) конденсаторы, металл-оксид-металл (MOM) конденсаторы, или траншейные конденсаторы [deep trench capacitors].
Рис. 3: MIM- конденсаторы от Intel на 22 нм для eDRAM
Как следует из названия, MIM- конденсаторы формируется из двух параллельных металлических слоёв с high-k диэлектриком между ними. В процессе на 22 нм от Intel используются два разных вида MIM-конденсаторов. Как видно на рис. 3, первый тип MIM-конденсаторов используется для одноразрядных ячеек в eDRAM и формируется в нижних металлических слоях M2-M4. Второй представлен в процессе 22FFL и использует толстые верхние слои в 4 мкм в качестве параллельных металлических слоёв. Intel тут не делает ничего уникального – другие производители тоже используют MIM-конденсаторы. К примеру, AMD использовала MIM-конденсаторы верхнего уровня в процессоре Zen CCX для развязки и уменьшения провалов напряжения. MIM-конденсаторы обычно работают лучше, чем МОП-конденсаторы, однако располагаются они чуть дальше, поскольку нхаодятся в верхних металлических слоях, а необходимость предпринимать дополнительные шаги на производстве немного увеличивает стоимость. MOM-конденсаторы используют сходную идею параллельных металлических линий, только поворачивают их на 90°. Металлические линии формируются горизонтально в двух соседних вертикальных металлических слоях (к примеру, M3 и M4), а межслойный оксид-диэлектрик играет роль изолятора.
Ещё одним вариантом будут траншейные конденсаторы, однако они редко встречаются в производстве, поскольку травление траншей с высоким разрешением значительно повышает стоимость процесса. Их использовали уже несколько поколений технологий изготовления процессоров, начиная с техпроцесса SOI на 32 нм от IBM и далее, с SOI на 14 нм. Траншейные конденсаторы от IBM используются для развязки в больших массивах eDRAM, реализующих кэши L2, L3 и L4 в процессорах POWER и zArch. В качестве примера IBM заявляет, что смогла убрать все конденсаторы с платы процессора z12, сделанного для мейнфрейма по техпроцессу 32 нм, и заменить их траншейными конденсаторами. После этого на IEDM 2019 TSMC рассказала о процессе формирования траншейных конденсаторов на кремниевой вставке. Хитроумный и элегантный подход – хотя такие конденсаторы располагаются уже не так близко к активной логике, как те, что находятся на самом кристалле, поэтому неспособны полностью заменить развязывающие конденсаторы.
При обеспечивании питанием высокоскоростных процессоров приходится обходить несметное количество проблем. В идеале, сеть доставки питания должна работать при высоком напряжении для эффективности передачи энергии, но в итоге выдавать низкое и стабильное напряжение для КМОП-логики, на которой реализован процессор. Преобразование питания, из переменного в постоянный ток, и из высокого в низкое напряжение должно быть максимально эффективным.
В то же время, ток, требуемый для работы процессора, постоянно меняется, реагируя на изменяющиеся условия работы – такие, как смесь инструкций или динамическое изменение напряжения. Для сглаживания этих почти мгновенных изменений и уменьшения шума в современных схемах почти на каждом уровне доставки питания, от материнской платы до кристалла процессора, используются развязывающие конденсаторы. Чем быстрее и отзывчивее сеть, тем меньше развязывающих конденсаторов ей требуется. Если взять сам процессор, то для него доступно несколько вариантов размещения конденсаторов на кристалле. Проще всего использовать обычные транзисторы, поскольку их легко разместить в рамках любого техпроцесса, однако они работают не очень эффективно. Многие производители предлагают конденсаторы улучшенной эффективности, созданные при помощи особых технологий или схем разработки — такие, как MIM-конденсаторы, и более редкие ТК, на кремнии или вставке.
Все эти переменные связаны между собой – техпроцесс, развязывающие конденсаторы, динамическое изменение напряжения и частоты, регуляторы напряжения – и разработчики процессоров обязаны учитывать их все, чтобы получать максимально возможные быстродействие, эффективность по минимальной цене.
И эти проблемы встречаются как у смартфонов с потреблением в 1 Вт, так и у серверных процессоров на 200 Вт и массивных ускорителей машинного обучения – к примеру, Cerebras CS-1 на 15 кВт. Для работы с заданной тактовой частотой каждому транзистору и каждой схеме современного чипа требуется питание с правильным напряжением. Если напряжение будет слишком низким, элементы схемы будут переключаться медленно, что приведёт к появлению ошибок, проблемам со стабильностью и другим неожиданным отказам.
Из-за физики кремния КМОП обычно работает на напряжении в 1 В. Однако у современных технологий, использующих транзисторы FinFET и другие техники, номинальные напряжения могут находиться в диапазоне от 0,65 В до 1,2 В. Инновационные схемы могут использовать напряжение питания, близкое к пороговому значению транзисторов (near-threshold voltage, NTV) – эту технологию продемонстрировало исследование от Intel. И хотя процессоры, использующие NTV (к примеру, Ambiq Micro), уже появились в продаже, эта технология всё ещё довольно нова. Энергопотребление коммутационной схемы (такой, как процессор) пропорционально квадрату напряжения, поэтому для увеличения эффективности необходимо уменьшать напряжение. Для разработчиков чипов это классическая проблема поиска золотой середины: напряжение должно быть достаточно высоким для того, чтобы избежать ошибок, но не выше.
Однако работа под низким напряжением – это сложная задача в плане обеспечения питания, поскольку в этом случае к процессору нужно подводить большой ток. Возьмём современный серверный процессор – Intel Cascade Lake Xeon 14 нм. TDP у самых мощных процессоров этой модели достигают 205 Вт, что теоретически даёт нам ток в 205 А при напряжении в 1 В. На самом деле, конечно, процессоры устроены гораздо сложнее, и используют различные напряжения и схемы питания, однако такой простой пример будет полезен для понимания ситуации. Если энергопотребление процессора останется на том же уровне, а напряжение понизится до 0,75 В, это увеличит нужный ток до 274 А. И хотя передовые серверные процессоры от Intel довольно прожорливы, они не идут в сравнение с некоторыми ускорителями вычислений. К примеру Nvidia Volta V100 потребляет 450 Вт, некоторые будущие их процессоры будут есть уже по 600 Вт, и, как было упомянуто ранее, Cerebras CS-1 потребляет невероятные 15 кВт.
Обычно гораздо эффективнее получается передавать энергию при высоком напряжении и низком токе. Чем выше напряжение, тем меньше ток и тем меньше требуется проводов, что уменьшает стоимость системы. Кроме того, потери на сопротивление пропорциональны квадрату тока, поэтому увеличение напряжения и уменьшение тока понижает потери на сопротивление и увеличивает эффективность энергетической системы. Поэтому обычно линии электропередач работают с напряжением выше 110 кВ – и те же самые базовые принципы применимы и для сервера или дата-центра. Хотя некоторые сервера используют традиционные 12 В, некоторые из новых перешли на 48 В для эффективности – в особенности ускорители, потребляющие более 350 Вт.
Если свести всё это вместе, то теоретической целью обеспечения питания будет передача энергии по системе с максимально возможным напряжением, а потом преобразование в очень низкое и стабильное напряжение, для эффективных и стабильных вычислений.
Анатомия сети передачи питания
Как показано на рис. 1, проблема обеспечения питания затрагивает всю систему, начинаясь с основного источника питания и продолжаясь до электрораспределительной сети в процессоре, доходя в итоге до транзисторов, выполняющих вычисления на кристалле. У настольных компьютеров БП преобразует 110 В или 220 В в 12 В постоянного тока, распространяемого по всей материнской плате, к процессору и другим компонентам. У ноутбуков или смартфонов всё немного не так – типичные литий-ионные батареи выдают постоянное напряжение в 3,7 В, поэтому преобразования переменного напряжения в постоянное не происходит, а понижение напряжения требуется не такое сильное.
Рис. 1: Обеспечение питания в современных системах. Слева — Intel FIVR, справа – традиционный VRM
У стандартных процессоров, например, от AMD, модуль регулятора напряжения (voltage regulation module, VRM) понижает напряжение примерно до 1 В. Обычно VRM располагаются недалеко от процессора, так, чтобы большую часть расстояния проходили сигналы на 12 В. 1 В передаётся на небольшое расстояние по материнской плате, через плату процессора, и внутрь самого процессора по его контактам. В процессоре есть своя электрораспределительная сеть, расходящаяся от контактов и использующая различные промежуточные металлические слои для доставки энергии к транзисторам. VRM работают на довольно низкой частоте в 1 МГц, то есть, могут подстраивать выходящее напряжение только раз в микросекунду.
Многие системы на базе Intel работают по той же схеме, однако используют дополнительный шаг в обеспечении питания. FIVR (fully-integrated voltage regulator – полностью интегрированный модуль регулятора напряжения) интегрирован в сам кристалл процессора и распределяет энергию по десяткам шин питания в его различные блоки (ядра CPU, кэши L2, блоки GPU и т.п.). FIVR используется в большинстве серверных процессоров, начиная с поколения Haswell. Также он используется в клиентских процессорах Haswell и Broadwell, а теперь и в клиентах Ice Lake и Tiger Lake. Отметим, что семейство клиентов Skylake (Coffee Lake, Comet Lake, и т.д.) FIVR не используют. В этих системах VRM на материнской плате преобразуют 12 В (или 48 В) в 1,8 В, и передают энергию от VRM, через всю материнскую плату, плату процессора и его контакты в FIVR. FIVR отвечает за последний шаг в преобразовании энергии, и понижает напряжение с 1,8 В до 1 В, в зависимости от нужд конкретной шины питания.
Одно из преимуществ FIVR состоит в том, что напряжение, поданное с VRM материнской платы на процессор получается в два раза выше, чем у обычных систем. Использование более высокого напряжения уменьшает требуемую силу тока примерно в 2 раза, уменьшает количество контактов питания и повышает эффективность. Минус в том, что преобразование напряжения никогда не бывает на 100% эффективным, и FIVR теряют часть энергии. Взаимоотношение между выигрышем в эффективности и потерей при преобразовании сильно зависит от конкретной ситуации. В целом для процессоров с высоким энергопотреблением система с FIVR обычно выигрывает. Кроме того, FIVR потрясающе быстро работает – её тактовая частота составляет 140 МГц, на два порядка больше, чем у VRM на материнке.
Необходимость быстрой реакции в изменчивых условиях
Скорость FIVR подводит нас к одной из крупнейших проблем обеспечения питания современных процессоров. Концентрация на постоянном питании и температурных характеристик (TDP) преуменьшает значимость проблемы. Современные процессы чрезвычайно динамичны, а их поведение меняется на основе нагрузки. Транзистору при переключении требуется относительно небольшой ток. Однако если множество транзисторов переключаются одновременно, то общее потребление может достичь значительных величин и создать шум на питании чипа. У таких высокоскоростных чипов, как CPU или GPU, количество переключающихся транзисторов может значительно меняться от цикла к циклу. К примеру, когда ядро CPU начинает выполнять команды умножения с накоплением AVX512, энергопотребление становится гораздо больше, чем в случае выполнения целочисленной арифметики. Сходным образом системы динамического изменения напряжения и частоты (DVFS) меняют частоту и напряжение процессора на лету в ответ на изменения загрузки или рабочих условий. Эти внезапные всплески в энергопотреблении могут привести к временным проседаниям напряжения.
Эту проблему могут проиллюстрировать два примера. Большинство дата-центров оптимизируют под эффективность и высокую утилизацию – то есть, 40-60% утилизации CPU, а в пиках и того больше. Если мы вернёмся к TPD 205 Вт у Intel Xeon по спецификации, то этот процессор в моменты максимальной загрузки потребляет ток в 273,75 A по основным шинам питания, и невероятные 413 Вт.
Клиентские процессоры, особенно у ноутбуков и смартфонов, ведут себя совсем не так, и представляют ещё более интересную проблему. Они обычно оптимизированы под очень неровную работу и должны выдавать максимальную мощность на кратких промежутках времени (к примеру, при загрузке веб-страницы), и потреблять очень мало во время простоя (к примеру, ожидая пользовательского ввода). Ноутбук, работающий с 40-60% утилизацией CPU, нереально быстро просаживал бы батарею. Клиентский процессор порядка 90% времени проводит в режиме ожидания. В итоге у клиентских процессоров получается ещё большая разница между TPD, максимальной мощностью и потреблением тока. Последние процессоры Ice Lake серий U и Y имеют TPD в 15 Вт и 9 Вт соответственно. Для увеличения быстродействия вендоры могут устанавливать TPD выше, вплоть до 25 Вт и 12 Вт соответственно. Однако максимальное энергопотребление для CPU и GPU значительно выше – до 70 А и 49 А соответственно, и это не считая питание контроллера памяти и всей периферии ядра.
Основная проблема тут в том, что регуляторы напряжения, будь то VRM на материнской плате или FIVR от Intel, реагируют гораздо медленнее, чем могут появляться кратковременные всплески, вызванные переключениями транзисторов. FIVR у Haswell может повысить напряжение на шине питания от 0 до 0,8 В за 0,32 мкс. Однако для современных процессоров на 3 ГГц это выльется в порядка 1000 тактов. Обычные, менее быстрые VRM могут увеличивать напряжение на 10-23 мВ за мкс, и на аналогичное повышение от 0 до 0,8 у них уйдёт в 100 раз больше времени, или порядка 100 000 тактов. Без очень эффективной схемы эти временные пики могут вызвать проседания напряжения – по смыслу это похоже на то, как в старых домах тускнеет свет лампочек, когда хозяева включают микроволновку или фен. Исключение составляют клиентские процессоры Skylake и процессоры от AMD, использующие регуляторы с небольшим падением напряжения (LDO), которые также работают очень быстро. Однако LDO работают как переменное сопротивление, и умеют только уменьшать напряжение, идущее на шину питания. Поскольку LDO работают через сопротивление, для больших изменений напряжения (более 10%) они становятся неэффективными.
Как уже упоминалось, если процессор работает на частоте 3 ГГц, а напряжение внезапно падает, то транзисторы могут уже не работать корректно – поэтому либо нужно держать постоянное напряжение, либо ронять частоту. На практике же большинство компаний используют комбинацию из разных мер. К примеру, AMD разработала технологию адаптивного изменения частоты, уменьшающую её во время проседаний напряжения.
Плавная подача питания развязывающими конденсаторами
Чтобы устранить несоответствие между почти мгновенными всплесками потребления и задержкой на регуляторах напряжения, современные системы полагаются на развязывающие, или обходные конденсаторы. Эти конденсаторы хранят энергию и могут быстро высвобождать её, чтобы гарантировать постоянное напряжение в моменты, когда регуляторы только начинают реагировать. Вернёмся к рис. 1: системы включают в себя развязывающие конденсаторы на каждом шаге работы сети подачи питания. На МА конденсаторы встречаются во многих местах, но особенно много их вокруг гнезда процессора – см. рис. 2. В платы процессоров также встраивают развязывающие конденсаторы, обычно по краям и снизу. Наконец, на кристаллах процессора тоже располагают конденсаторы; они ближе всего расположены к активным схемам и дают скорейший отклик на временные всплески энергопотребления.
Рис. 2: развязывающие конденсаторы вокруг гнезда процессора
На кристаллах располагаются совершенно разные конденсаторы. Простейший их тип – обычный транзистор, который иногда называют МОП-конденсатором. Такие конденсаторы можно легко вставлять в стандартные ячейки на небольшом расстоянии от важных участков, где ожидается сильный шум переключения. Поскольку они располагаются близко к активным участкам, они легко могут поглощать шум и быстро подавать дополнительный ток.
Кроме того, на чипах, разработанных при помощи различных средств автоматизации, встречаются «пробелы» – участки, оставшиеся пустыми из-за несовершенства инструментов и ограничений по расположению блоков разной формы в непосредственной близости друг от друга. Распространённой практикой является заполнение этих пробелов конденсаторами – по сути, это «бесплатно». И хотя МОП-конденсаторы можно сделать в любом техпроцессе и легко разместить на кристалле, они не являются идеальными конденсаторами. Как и другие транзисторы, они дают утечку, а также их бывает сложно втиснуть в забитые компонентами участки чипа. Ещё один вариант – изменить техпроцесс и создавать более специализированные структуры, такие, как металл-диэлектрик-металл (MIM) конденсаторы, металл-оксид-металл (MOM) конденсаторы, или траншейные конденсаторы [deep trench capacitors].
Рис. 3: MIM- конденсаторы от Intel на 22 нм для eDRAM
Как следует из названия, MIM- конденсаторы формируется из двух параллельных металлических слоёв с high-k диэлектриком между ними. В процессе на 22 нм от Intel используются два разных вида MIM-конденсаторов. Как видно на рис. 3, первый тип MIM-конденсаторов используется для одноразрядных ячеек в eDRAM и формируется в нижних металлических слоях M2-M4. Второй представлен в процессе 22FFL и использует толстые верхние слои в 4 мкм в качестве параллельных металлических слоёв. Intel тут не делает ничего уникального – другие производители тоже используют MIM-конденсаторы. К примеру, AMD использовала MIM-конденсаторы верхнего уровня в процессоре Zen CCX для развязки и уменьшения провалов напряжения. MIM-конденсаторы обычно работают лучше, чем МОП-конденсаторы, однако располагаются они чуть дальше, поскольку нхаодятся в верхних металлических слоях, а необходимость предпринимать дополнительные шаги на производстве немного увеличивает стоимость. MOM-конденсаторы используют сходную идею параллельных металлических линий, только поворачивают их на 90°. Металлические линии формируются горизонтально в двух соседних вертикальных металлических слоях (к примеру, M3 и M4), а межслойный оксид-диэлектрик играет роль изолятора.
Ещё одним вариантом будут траншейные конденсаторы, однако они редко встречаются в производстве, поскольку травление траншей с высоким разрешением значительно повышает стоимость процесса. Их использовали уже несколько поколений технологий изготовления процессоров, начиная с техпроцесса SOI на 32 нм от IBM и далее, с SOI на 14 нм. Траншейные конденсаторы от IBM используются для развязки в больших массивах eDRAM, реализующих кэши L2, L3 и L4 в процессорах POWER и zArch. В качестве примера IBM заявляет, что смогла убрать все конденсаторы с платы процессора z12, сделанного для мейнфрейма по техпроцессу 32 нм, и заменить их траншейными конденсаторами. После этого на IEDM 2019 TSMC рассказала о процессе формирования траншейных конденсаторов на кремниевой вставке. Хитроумный и элегантный подход – хотя такие конденсаторы располагаются уже не так близко к активной логике, как те, что находятся на самом кристалле, поэтому неспособны полностью заменить развязывающие конденсаторы.
Обеспечение системы питанием находит компромисс между быстродействием, эффективностью и стоимостью
При обеспечивании питанием высокоскоростных процессоров приходится обходить несметное количество проблем. В идеале, сеть доставки питания должна работать при высоком напряжении для эффективности передачи энергии, но в итоге выдавать низкое и стабильное напряжение для КМОП-логики, на которой реализован процессор. Преобразование питания, из переменного в постоянный ток, и из высокого в низкое напряжение должно быть максимально эффективным.
В то же время, ток, требуемый для работы процессора, постоянно меняется, реагируя на изменяющиеся условия работы – такие, как смесь инструкций или динамическое изменение напряжения. Для сглаживания этих почти мгновенных изменений и уменьшения шума в современных схемах почти на каждом уровне доставки питания, от материнской платы до кристалла процессора, используются развязывающие конденсаторы. Чем быстрее и отзывчивее сеть, тем меньше развязывающих конденсаторов ей требуется. Если взять сам процессор, то для него доступно несколько вариантов размещения конденсаторов на кристалле. Проще всего использовать обычные транзисторы, поскольку их легко разместить в рамках любого техпроцесса, однако они работают не очень эффективно. Многие производители предлагают конденсаторы улучшенной эффективности, созданные при помощи особых технологий или схем разработки — такие, как MIM-конденсаторы, и более редкие ТК, на кремнии или вставке.
Все эти переменные связаны между собой – техпроцесс, развязывающие конденсаторы, динамическое изменение напряжения и частоты, регуляторы напряжения – и разработчики процессоров обязаны учитывать их все, чтобы получать максимально возможные быстродействие, эффективность по минимальной цене.