Как разрабатываются и создаются процессоры часть 3

Обновлено: 06.07.2024

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

Содержание

Подготовка сырья

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

Прежде всего из песка, набранного в каком-нибудь карьере, получают «технический» кремний путем добавления в минерал углерода при высокой температуре. Получившийся в результате кремний при чистоте достигает 98%, но все еще совершенно не подходит для целей электронной промышленности и, чтобы стать «электронным кремнием», ему требуется дополнительная обработка хлором. В процессе каскада химических реакций с хлором, кремний буквально синтезируется заново, избавляясь от последних признаков примесей.

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

Только после этого бывший песок разогревается до 1420 градусов Цельсия, что всего на 6 градусов выше его точки плавления. Для этого используется графитовый нагреватель. Выбор материала, как и в случае с кварцем тигля, обусловлен тем, что графит не реагирует с кремнием и, следовательно, не может загрязнить материал будущего процессора.

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

Как делают микропроцессоры

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

За это время образуется «буля» — цельный цилиндрический кристалл диаметром 300 миллиметров, длиной до 1-2 метров и весом около 100 килограммов. Если взглянуть на него под сильным увеличением, взгляду откроется строгая структура — идеальная кристаллическая решетка из атомов кремния, совершенно однородная по всему объему.

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

Однако с «буля» обращаются аккуратнее, чем с антикварной вазой, кристалл выдерживает огромные нагрузки на разрыв, но чрезвычайно хрупок.

После химического и рентгеноскопического исследования для проверки чистоты кристалла и правильности молекулярной решетки, заготовку помещают в установку для резки кремния. Она разделяет кристалл на пластины толщиной около 1 миллиметра при помощи проволочной пилы с алмазным напылением.

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

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

В результате получается поверхность, по сравнению с которой, зеркало напоминает крупную наждачную бумагу. Такая пластина без разрывов и микродефектов становится основой для миллионов микроэлектронных устройств, образующих микросхему. Очищенные от пыли, кремниевые диски, которые принято называть «вэйфер» или «вафля» в герметичных контейнерах отправляются в чистую комнату.

В чистой комнате

Как делают микропроцессоры

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

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

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

Процесс изготовления процессоров поставлен на конвейер. Доставленная в герметичном боксе идеально ровная «вэйфер» проходит через 400-500 технологических операций и выходит из цеха только спустя несколько месяцев уже в виде готового микрочипа.

Создание из «вафли» микрочипа подразумевает построение сложнейшей технологической цепочки, описать которую в деталях нет никакой возможности из-за ограничений на объемы статьи. Даже если бы их не было, компании вроде Intel и AMD вовсе не спешат делиться секретами производства. В конструкторских отделах компаний проектируются сложнейшие трехмерные схемы взаимного расположения элементов процессора — топологии микросхем. Они представляют собой многоуровневое нагромождение элементов, которое разделяется на слои и послойно наносится на кремниевую подложку. Делать это вручную, конечно же невозможно, слишком тонкий процесс, слишком мелкие элементы, буквально нанометрового размера.

Как делают микропроцессоры

Процессоры Intel восьмого поколения, известные под обозначением Coffee Lake, усеяны 14 нанометровыми транзисторами, AMD анонсировала второе поколение процессоров AMD Ryzen, известное под кодовым названием Pinnacle Ridge построенных на 12 нанометровых элементах. Новейшие видеокарты NVIDIA с архитектурой ядер Volta также построены по 12 нанометровой технологии. Система на чипе Qualcomm Snapdragon 835 еще миниатюрнее — всего 10 нанометров. Постоянно уменьшать размеры функциональных элементов процессора и, следовательно, увеличивать его производительность, удается благодаря совершенствованию технологии под названием фотолитография.

В общих чертах этот процесс можно описать следующим образом:

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

Прежде из корпоративных архивов извлекается хранимая в строжайшем секрете подробная схема процессора. Ее нижний слой представляют в виде негатива и переносят на фотошаблон —защитную пластину, действующую подобно трафарету. Она значительно больше чипа, так что проходящий сквозь нее свет фокусируют при помощи сложной системы линз, уменьшая проецируемое изображение до нужного размера.

В тех местах, где свет не достигает кремния, пластина остается нетронутой, в освещенных он инициирует реакцию в химическом реагенте, меняющую его свойства. Затем будущий процессор обработают еще одним составом, и эти участки растворятся, оставив только те области, что не подвергались воздействию. Они-то и образуют токопроводящие логические элементы процессора.

Как делают микропроцессоры

После на пластину нанесут слой диэлектрика и поверх добавят новые компоненты процессора, опять же, при помощи фотолитографии.

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

Как делают микропроцессоры

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

Они будут рассортированы по показателям энергоэффективности, токам, и максимальным рабочим частотам, получат различные обозначения и, в конечном счете, будут проданы по различной цене.

Последние штрихи

Как делают микропроцессоры

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

Затем чип накрывается крышкой. Она служит и для защиты все еще хрупкого кремния от повреждений и для отвода от него тепла. Вы наверняка хорошо ее себе представляете, именно к крышке будет прижиматься основание системы охлаждения, будь то кулер или теплообменник СВО (системы водяного охлаждения). Это не менее ответственный этап, чем предыдущий. Ведь от того, насколько хорошо крышка процессора отводит тепло от кристалла во многом зависит стабильность и скорость его работы, его будущая максимальная производительность.

Старые процессоры Intel буквально припаивались к теплораспределительным крышкам. Однако последние поколения фирменных чипов получают прокладку-термоинтерфейс между кристаллом и крышкой и охлаждаются хуже, что очень огорчает энтузиастов компьютерного железа, желающих выжать максимум из своих приобретений. Дошло до того, что они «скальпируют» процессоры — самостоятельно снимают с них теплораспределитель и заменяют термоинтерфейс на более эффективный. Но не будем отвлекаться на хитрости оверклокинга, поскольку процессор еще не готов.

Как делают микропроцессоры

Завершающий этап — создание электрических контактов, которые свяжут микропроцессор с материнской платой компьютера. Обычно для этого изготавливают оловянные цилиндрики, так называемые «ножки» процессора, которые сначала приклеиваются, а затем припаиваются к подложке, где для них заранее предусмотрены места. Для микрочипов с большим количеством связей вместо ножек иногда используют мелкие оловянные шарики, так как они крепче и надежнее, однако в последнее время от них стали отказываться в пользу простых контактных площадок.

Как делают микропроцессоры

Законченный микрочип промывают в растворе воды с растворителем, чтобы удалить лишний флюс и грязь, а затем проводят финальную проверку качества проделанной работы. Это могут быть как стресс-тесты производительности, как в чистой комнате, так и более суровые испытания. Так, чипы, предназначающиеся для работы в экстремальных условиях, например, в космической и военной отраслях, помещаются герметичные в корпуса из керамики и многократно тестируются при экстремальных температурах в вакуумных камерах.

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

Чтобы создать сверхмощный процессор, достаточно простого.

Песок. В наших компьютерах в буквальном смысле песок, вернее — составляющий его кремний. Это основной элемент, благодаря которому в компьютерах всё работает. А вот как из песка получаются компьютеры.

Что такое процессор

Процессор — это небольшой чип внутри вашего компьютера или телефона, который производит все вычисления. Об основе вычислений мы уже писали — это транзисторы, которые собраны в сумматоры и другие функциональные блоки.

Если очень упрощённо — это сложная система кранов и труб, только вместо воды по ним течёт ток. Если правильным образом соединить эти трубы и краны, ток будет течь полезным для человека образом и получатся вычисления: сначала суммы, потом из сумм можно получить более сложные математические операции, потом числами можно закодировать текст, цвет, пиксели, графику, звук, 3D, игры, нейросети и что угодно ещё.

Кремний

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

Самый доступный источник кремния — песок. Но кремний, который получается из песка, на самом первом этапе недостаточно чистый: в нём есть 0,5% примесей. Может показаться, что чистота 99,5% — это круто, но для процессоров нужна чистота уровня 99,9999999%. Такой кремний называется электронным, и его можно получить после цепочки определённых химических реакций.

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

Кристалл и подложка

Кристаллы — это такие твёрдые тела, в которых атомы и молекулы вещества находятся в строгом порядке. Проще говоря, атомы в кристалле расположены предсказуемым образом в любой точке. Это позволяет точно понимать, как будет вести себя это вещество при любом воздействии на него. Именно это свойство кристаллической решётки используют на производстве процессоров.

Самые распространённые кристаллы — соль, драгоценные камни, лёд и графит в карандаше.

Большой кристалл можно получить, если кремний расплавить, а затем опустить туда заранее подготовленный маленький кристалл. Он сформирует вокруг себя новый слой кристаллической решётки, получившийся слой сделает то же самое, и в результате мы получим один большой кристалл. На производстве он весит под сотню килограмм, но при этом очень хрупкий.


Готовый кристалл кремния.

После того, как кристалл готов, его нарезают специальной пилой на диски толщиной в миллиметр. При этом диаметр такого диска получается около 30 сантиметров — на нём будет создаваться сразу несколько десятков процессоров.

Каждую такую пластинку тщательно шлифуют, чтобы поверхность получилась идеально ровной. Если будут зазубрины или шероховатости, то на следующих этапах диск забракуют.


Готовые отполированные пластины кремния.

Печатаем транзисторы

Когда диски отполированы, на них можно формировать процессоры. Процесс очень похож на то, как раньше печатали чёрно-белые фотографии: брали плёнку, светили сверху лампой, а снизу клали фотобумагу. Там, куда попадал свет, бумага становилось тёмной, а те места, которые закрыло чёрное изображение на плёнке, оставались белыми.

С транзисторами всё то же самое: на диск наносят специальный слой, который при попадании света реагирует с молекулами диска и изменяет его свойства. После такого облучения в этих местах диск начинает проводить ток чуть иначе — сильнее или слабее.

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

Потом получившийся слой покрывают тонким слоем диэлектрика — это вещество, которое не проводит ток, типа изоленты. Это нужно, чтобы слои процессора не взаимодействовали друг с другом. Процесс повторяется несколько десятков раз. В результате получаются миллионы мельчайших транзисторов, которые теперь нужно соединить между собой.

Соединяем всё вместе

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

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


Токопроводящие дорожки крупным планом. На фото они уже в несколько слоёв и не мешают друг другу.

В чём сложность

Современные процессоры производятся на нанометровом уровне, то есть размеры элементов измеряются нанометрами, это очень мало.

Если, например, во время печати очень толстый мальчик упадёт на пол в соседнем цехе, еле заметная ударная волна прокатится по перекрытиям завода и печатная форма немного сдвинется, а напечатанные таким образом транзисторы окажутся бракованными. Пылинка, попавшая на пластину во время печати — это, считай, загубленное ядро процессора.

Поэтому на заводах, где делают процессоры, соблюдаются жёсткие стандарты чистоты, все ходят в масках и костюмах, на всех воздуховодах стоят фильтры, а сами заводы находятся на сейсмических подушках, чтобы толчки земной коры не мешали производить процессоры.

Крышка и упаковка

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

После тестов диск разрезают на готовые процессорные ядра.

Пластина со множеством одинаковых процессорных ядер. Робот вырезает ядра из готовой пластины.

После этого к ядру процессора добавляют контакты, чтобы можно было вставить его в материнскую плату, и накрывают крышкой. Чёрный или металлический прямоугольник, из которого торчат ножки, — это как раз крышка.

Крышка выполняет две функции: защищает сам кристалл от повреждений и отводит от него тепло во время работы. Дело в том, что миллионы транзисторов при работе нагреваются, и если процессор не остужать, то он перегреется и кристалл может испортиться. Чтобы такого не произошло, на крышку процессора ставят воздушные кулеры или делают водяное охлаждение.

Система на чипе

Чипы процессоров уже настолько маленькие, что под одной крышкой можно поместить какое-нибудь ещё устройство. Например, видеосистему — то, что обсчитывает картинку перед выводом на экран. Или устройство радиосвязи с антенной.

В какой-то момент на маленьком чипе площадью около 1 см 2 уже можно было поместить процессор, видео, модем и блютус, сделать всё нужное для поддержки памяти и периферии — в общем, система на чипе. Подключаете к этому хозяйству экран, нужное количество антенн, портов и кнопок, а главное — здоровенную батарею, и у вас готовый смартфон. По сути, все «мозги» вашего смартфона находятся на одном маленьком чипе, а 80% пространства за экраном занимает батарея.

От песка до процессора

Получившийся в результате водород можно много где использовать, но самое главное то, что был получен «электронный» кремний, чистый-пречистый (99,9999999%). Чуть позже в расплав такого кремния опускается затравка («точка роста»), которая постепенно вытягивается из тигля. В результате образуется так называемая «буля» — монокристалл высотой со взрослого человека. Вес соответствующий — на производстве такая буля весит порядка 100 кг.

От песка до процессора

Слиток шкурят «нулёвкой» :) и режут алмазной пилой. На выходе – пластины (кодовое название «вафля») толщиной около 1 мм и диаметром 300 мм (

12 дюймов; именно такие используются для техпроцесса в 32 нм с технологией HKMG, High-K/Metal Gate). Когда-то давно Intel использовала диски диаметром 50 мм (2"), а в ближайшем будущем уже планируется переход на пластины с диаметром в 450 мм – это оправдано как минимум с точки зрения снижения затрат на производство чипов. К слову об экономии — все эти кристаллы выращиваются вне Intel; для процессорного производства они закупаются в другом месте.
Каждую пластину полируют, делают идеально ровной, доводя ее поверхность до зеркального блеска.

Производство чипов состоит более чем из трёх сотен операций, в результате которых более 20 слоёв образуют сложную трёхмерную структуру. Сложно рассказать о всех операциях, которые выполняются в ходе изготовления процессора. Поэтому совсем коротко и лишь о самых важных этапах.
Итак. В отшлифованные кремниевые пластины необходимо перенести структуру будущего процессора, то есть внедрить в определенные участки кремниевой пластины примеси, которые в итоге и образуют транзисторы. Как это сделать? Вообще, нанесение различных слоев на процессорную подложу это целая наука, ведь даже в теории такой процесс непрост (не говоря уже о практике, с учетом масштабов)… но ведь так приятно разобраться в сложном;) Ну или хотя бы попытаться разобраться.

image

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

Часть 1: Основы архитектуры компьютеров (архитектуры наборов команд, кэширование, конвейеры, hyperthreading)
Часть 2: Процесс проектирования ЦП (электрические схемы, транзисторы, логические элементы, синхронизация)
Часть 3: Компонование и физическое производство чипа (VLSI и изготовление кремния)
Часть 4: Современные тенденции и важные будущие направления в архитектуре компьютеров (море ускорителей, трёхмерное интегрирование, FPGA, Near Memory Computing)

Как вы возможно знаете, процессоры и большинство других цифровых устройств состоят из транзисторов. Проще всего воспринимать транзистор как управляемый переключатель с тремя контактами. Когда затвор включён, электрический ток может течь по транзистору. Когда затвор отключён, ток течь не может. Затвор похож на выключатель света в комнате, только он гораздо меньше, быстрее и может управляться электрически.

Существует два основных типа транзисторов, используемых в современных процессорах: pMOS (PМОП) и nMOS (NМОП). nMOS-транзистор пропускает ток, когда затвор (gate) заряжен или имеет высокое напряжение, а pMOS-транзистор пропускает ток, когда затвор разряжен или имеет низкое напряжение. Сочетая эти типы транзисторов комплементарным образом, мы можем создавать логические элементы КМОП (CMOS). В этой статье мы не будем подробно разбирать особенности работы транзисторов, но коснёмся этого в третьей части серии.

Логический элемент — это простое устройство, получающее входные сигналы, выполняющее какую-то операцию, и выводящее результат. Например, элемент И (AND) включает свой выходной сигнал тогда и только тогда, когда включены все входы затвора. Инвертор, или элемент НЕ (NOT) включает свой выход, если вход отключён. Можно скомбинировать эти два затвора и получить элемент И-НЕ (NAND), который включает выход, тогда и только тогда, когда не включён ни один из входов. Существуют другие элементы со своей логической функциональностью, например ИЛИ (OR), ИЛИ-НЕ (NOR), исключающее ИЛИ (XOR) и исключающее ИЛИ с инверсией (XNOR).

Ниже показано, как из транзисторов собраны два простых элемента: инвертор и NAND. В инверторе pMOS-транзистор (сверху) соединён с питанием, а nMOS-транзистор (снизу) соединён с заземлением. На обозначении pMOS-транзисторов есть небольшой кружок, соединённый с затвором. Мы сказали, что pMOS-устройства пропускают ток, когда вход отключен, а nMOS-устройства пропускают ток, когда вход включен, поэтому легко заметить, что сигнал на выходе (Out) будет всегда противоположным сигналу на входе (In). Взглянув на элемент NAND, мы видим, что для него требуется четыре транзистора, и что выход всегда будет отключен, если выключен хотя бы один из входов. Соединение подобным образом транзисторов для образования простых сетей — это тот же процесс, который используется для проектирования более сложных логических элементов и других схем внутри процессоров.


Строительные блоки в виде логических элементов так просты, что трудно понять, как они превращаются в функционирующий компьютер. Процесс проектирования заключается в комбинировании нескольких элементов для создания небольшого устройства, способного выполнять простую функцию. Затем можно объединить множество таких устройств, чтобы создать нечто, выполняющее более сложную функцию. Процесс комбинирования отдельных компонентов для создания работающей структуры — это именно тот процесс, который используется сегодня для создания современных чипов. Единственное отличие заключается в том, что современный чип состоит из миллиардов транзисторов.

В качестве небольшого примера давайте возьмём простой сумматор — 1-битный полный сумматор. Он получает три входных сигнала — A, B, и Carry-In (входной сигнал переноса), и создаёт два выходных сигнала — Sum (сумма) и Carry-Out (выходной сигнал переноса). В простейшей схеме используется пять логических элементов, и их можно соединить вместе для создания сумматора любого размера. В современных схемах этот процесс усовершенствован оптимизацией части логики и сигналов переноса, но фундаментальные основы остаются теми же.

Выход Sum равен или A, или B, но никогда обоим, или есть входящий сигнал переноса, и тогда A и B или оба включены, или оба выключены. Выходной сигнал переноса немного сложнее. Он активен, когда или A и B включены одновременно, или есть Carry-in и один из A или B включен. Чтобы соединить несколько 1-битных сумматоров для создания более широкого сумматора, нам просто нужно соединить Carry-out предыдущего бита с Carry-in текущего бита. Чем сложнее становятся схемы, тем запутанней получается логика, но это самый простой способ сложения двух чисел. В современных процессорах используются более изощрённые сумматоры, но их схемы слишком сложны для подобного обзора. Кроме сумматоров процессоры также содержат устройства для деления, умножения и версий всех этих операций с плавающей точкой.


Подобное объединение последовательностей элементов для выполнения некой функции над входными сигналами называется комбинаторной логикой. Однако это не единственный тип логики, используемый в компьютерах. Не будет особой пользы, если мы не сможем хранить данные или отслеживать состояние. Для того, чтобы иметь возможность сохранять данные, нам нужна секвенциальная логика.

Секвенциальная логика строится аккуратным соединением инверторов и других логических элементов так, чтобы их выходы передавали сигналы обратной связи на вход элементов. Такие контуры обратной связи используются для хранения одного бита данных и называются статическим ОЗУ (Static RAM), или SRAM. Эта память называется статическим ОЗУ в противовес динамической (DRAM), потому что сохраняемые данные всегда напрямую соединены с положительным напряжением или заземлением.

Стандартный способ реализации одного бита SRAM — это показанная ниже схема из 6 транзисторов. Самый верхний сигнал, помеченный как WL (Word Line) — это адрес, и когда он включен, то данные, хранящиеся в этой 1-битной ячейке передаются в Bit Line, помеченную как BL. Выход BLB называется Bit Line Bar; это просто инвертированное значение Bit Line. Вы должны узнать два типа транзисторов и понять, что M3 с M1, как и M4 с M2, образуют инвертор.


SRAM используется для построения сверхбыстрых кэшей и регистров внутри процессоров. Эта память очень стабильна, но для хранения каждого бита данных требует от шести до восьми транзисторов. Поэтому по сравнению с DRAM она чрезвычайно затратна с точки зрения стоимости, сложности и площади на чипе. С другой стороны, Dynamic RAM хранит данные в крошечном конденсаторе, а не использует логические элементы. Она называется динамической, потому что напряжение на конденсаторе может значительно изменяться, так как он не подключён к питанию или заземлению. Есть только один транзистор, используемый для доступа к хранящимся в конденсаторе данным.

Поскольку DRAM требует всего по одному транзистору на бит и очень масштабируема, её можно плотно и дёшево упаковывать. Недостаток DRAM заключается в том, что заряд конденсатора так мал, что его необходимо постоянно обновлять. Именно поэтому после отключения питания компьютера все конденсаторы разряжаются и данные в ОЗУ теряются.


Такие компании, как Intel, AMD и Nvidia, не публикуют схем работы своих процессоров, поэтому невозможно показать подобных полных электрических схем для современных процессоров. Однако этот простой сумматор позволит вам получить представление о том, что даже самые сложные части процессора можно разбить на логические и запоминающие элементы, а затем и на транзисторы.

Теперь, когда мы знаем, как производятся некоторые компоненты процессора, нам нужно разобраться, как соединить всё вместе и синхронизировать. Все ключевые компоненты процессора подключены к синхронизирующему (тактовому) сигналу (clock signal). Он попеременно имеет высокое и низкое напряжение, меняя его с заданным интервалом, называемым частотой (frequency). Логика внутри процессора обычно переключает значения и выполняет вычисления, когда синхронизирующий сигнал меняет напряжение с низкого на высокое. Синхронизируя все части, мы можем гарантировать, что данные всегда поступают в правильное время, чтобы в процессоре не возникали «глюки».

Вы могли слышать, что для повышения производительности процессора можно увеличить частоту тактовых сигналов. Это повышение производительности происходит благодаря тому, что переключение транзисторов и логики внутри процессора начинает происходить чаще, чем предусмотрено. Поскольку в секунду происходит больше циклов, то можно выполнить больше работы и процессор будет иметь повышенную производительность. Однако это справедливо до определённого предела. Современные процессоры обычно работают с частотой от 3,0 ГГц до 4,5 ГГц, и эта величина почти не изменилась за последние десять лет. Точно так же, как металлическая цепь не прочнее её самого слабого звена, процессор может работать не быстрее его самой медленной части. К концу каждого тактового цикла каждый элемент процессора должен завершить свою работу. Если какие-то части ещё её не завершили, то тактовый сигнал слишком быстрый и процессор не будет работать. Проектировщики называют эту самую медленную часть критическим путём (Critical Path) и именно он определяет максимальную частоту, с которой может работать процессор. Выше определённой частоты транзисторы просто не успевают достаточно быстро переключаться и начинают глючить или выдавать неверные выходные значения.

Повысив напряжение питания процессора, мы можем ускорить переключение транзисторов, но это тоже срабатывает до определённого предела. Если подать слишком большое напряжение, то мы рискуем сжечь процессор. Когда мы повышаем частоту или напряжение процессора, он всегда начинает излучать больше тепла и потреблять бОльшую мощность. Так происходит потому, что мощность процессора прямо пропорциональна частоте и пропорциональна квадрату напряжения. Чтобы определить энергопотребление процессора, мы рассматриваем каждый транзистор как маленький конденсатор, который нужно заряжать или разряжать при изменении его значения.

Подача питания — это настолько важная часть процессора, что в некоторых случаях до половины физических контактов на чипе может использоваться только для питания или заземления. Некоторые чипы при полной нагрузке могут потреблять больше 150 амперов, и со всем этим током нужно управляться чрезвычайно аккуратно. Для сравнения: центральный процессор генерирует больше тепла на единицу площади, чем ядерный реактор.

Тактовый сигнал в современных процессорах отнимает примерно 30-40% от его общей мощности, потому что он очень сложен и должен управлять множеством различных устройств. Для сохранения энергии большинство процессоров с низким потреблением отключает части чипа, когда они не используются. Это можно реализовать отключением тактового сигнала (этот способ называется Clock Gating) или отключением питания (Power Gating).

Тактовые сигналы создают ещё одну сложность при проектировании процессора: поскольку их частоты постоянно растут, то на работу начинают влиять законы физики. Даже несмотря на чрезвычайно высокую скорость света, она недостаточно велика для высокопроизводительных процессоров. Если подключить тактовый сигнал к одному концу чипа, то ко времени, когда сигнал достигнет другого конца, он будет рассинхронизован на значительную величину. Чтобы синхронизировать все части чипа, тактовый сигнал распределяется при помощи так называемого H-Tree. Это структура, гарантирующая, что все конечные точки находятся на совершенно одинаковом расстоянии от центра.


Может показаться, что проектирование каждого отдельного транзистора, тактового сигнала и контакта питания в чипе — чрезвычайно монотонная и сложная задача, и это в самом деле так. Даже несмотря на то, что в таких компаниях, как Intel, Qualcomm и AMD, работают тысячи инженеров, они не смогли бы вручную спроектировать каждый аспект чипа. Для проектирования чипов такого масштаба они используют множество сложных инструментов, автоматически генерирующих конструкции и электрические схемы. Такие инструменты обычно получают высокоуровневое описание того, что должен делать компонент, и определяют наилучшую аппаратную конфигурацию, удовлетворяющую этим требованиям. Недавно возникло направление развития под названием High Level Synthesis, которое позволяет разработчикам указывать необходимую функциональность в коде, после чего компьютеры определяют, как оптимальнее достичь её в оборудовании.

Точно так же, как вы можете описывать компьютерные программы через код, проектировщики могут описывать кодом аппаратные устройства. Такие языки, как Verilog и VHDL позволяют проектировщикам оборудования выражать функциональность любой создаваемой ими электрической схемы. После выполнения симуляций и верификации таких проектов их можно синтезировать в конкретные транзисторы, из которых будет состоять электрическая схема. Хоть этап верификации может и не кажется таким увлекательным, как проектирование нового кэша или ядра, он значительно важнее их. На каждого нанимаемого компанией инженера-проектировщика может приходиться пять или более инженеров по верификации.

Сложно осмыслить то, что в одном чипе может быть несколько миллиардов транзисторов и понять, что все они делают. Если разбить чип на его отдельные внутренние компоненты, становится немного легче. Из транзисторов составляются логические элементы, логические элементы комбинируются в функциональные модули, выполняющие определённую задачу, а эти функциональные модули соединяются вместе, образуя архитектуру компьютера, которую мы обсуждали в первой части серии.

БОльшая часть работ по проектированию автоматизирована, но изложенное выше позволяет нам осознать, насколько сложен только что купленный нами новый ЦП.

Во второй части серии я рассказал о процессе проектирования ЦП. Мы обсудили транзисторы, логические элементы, подачу питания и синхронизирующих сигналов, синтез конструкции и верификацию. В третьей части мы узнаем, что требуется для физического производства чипа. Все компании любят хвастаться тем, насколько современен их процесс изготовления (Intel — 10-нанометровый, Apple и AMD — 7-нанометровый, и т.д.), но что же на самом деле означают эти числа? Об этом мы расскажем в следующей части.

Читайте также: