Это третья статья из серии о проектировании ЦП. В первой статье мы рассмотрели архитектуру компьютера и объяснили его работу на высоком уровне. Во второй статье говорилось о проектировании и реализации некоторых компонентов чипа. В третьей части мы узнаем, как архитектурные проекты и электрические схемы становятся физическими чипами.
Как превратить кучу песка в современный процессор? Давайте разберёмся.
Часть 1: Основы архитектуры компьютеров (архитектуры наборов команд, кэширование, конвейеры, hyperthreading)
Часть 2: Процесс проектирования ЦП (электрические схемы, транзисторы, логические элементы, синхронизация)
Часть 3: Компонование и физическое производство чипа (VLSI и изготовление кремния)
Часть 4: Современные тенденции и важные будущие направления в архитектуре компьютеров (море ускорителей, трёхмерное интегрирование, FPGA, Near Memory Computing)
Как говорилось ранее, процессоры и вся другая цифровая логика составлены из транзисторов. Транзистор — это переключатель с электрическим управлением, который может включаться и отключаться подачей или отключением напряжения на затворе. Мы сказали, что существует два вида транзисторов: nMOS-устройства пропускают ток, когда затвор включён, а pMOS-устройства пропускают ток при выключенном затворе. Базовая структура процессора — это транзисторы, созданные из кремния. Кремний — это полупроводник, потому что он занимает промежуточное положение — не проводит ток полностью, но и не является изолятором.
Чтобы превратить кремниевую пластину в практическую электрическую схему добавлением транзисторов, производственные инженеры используют процесс под названием "легирование". Легирование — это процесс добавления в базовый субстрат кремния тщательно выбранных примесей для изменения его проводимости. Цель заключается в том, чтобы изменить поведение электронов так, чтобы мы могли ими управлять. Существует два вида транзисторов, а значит, и два основных вида легирования.
Процесс изготовления пластины до размещения чипов в корпусе.
Если мы добавим точно контролируемое количество элементов-доноров электронов, например, мышьяка, сурьмы или фосфора, то можем создать область n-типа. Поскольку область пластины, на которую нанесены эти элементы, теперь имеет избыток электронов, она становится отрицательно заряженной. Отсюда взялось название типа (n — negative) и буква «n» в nMOS. Добавляя на кремний такие элементы-акцепторы электронов, как бор, индий или галлий, мы можем создавать область p-типа, заряженную положительно. Отсюда взялась буква «p» в p-типе и pMOS (p — positive). Конкретные процессы добавления этих примесей к кремнию называются ионной имплантацией и диффузией; их мы в статье рассматривать не будем.
Теперь, когда мы можем управлять электропроводимостью отдельных частей кремниевой пластины, можно скомбинировать свойства нескольких областей для создания транзисторов. Транзисторы, используемые в интегральных схемах и называющиеся MOSFET (Metal Oxide Semiconductor Field Effect Transistors, МОП-структуры, структуры «металл-оксид-проводник»), имеют четыре соединения. Контролируемый нами ток течёт между истоком (Source) и стоком (Drain). В n-канальном устройстве ток обычно входит в сток и выходит из истока, а в p-канальном устройстве он обычно течёт из истока и выходит из стока. Затвор (Gate) — это переключатель, используемый для включения и отключения транзистора. Наконец, у устройства есть тело транзистора (Body), которое не относится к процессору, поэтому мы не будем его рассматривать.
Физическая структура инвертора в кремнии. Области разных цветов имеют разные свойства проводимости. Заметьте, как разные кремниевые компоненты соответствуют схеме справа
Технические подробности работы транзисторов и взаимодействия отдельных областей — это содержание целого курса колледжа, поэтому мы коснёмся только основ. Хорошая аналогия их работы — это разводной мост над рекой. Автомобили — электроны в транзисторе — хотят перетечь с одной стороны реки на другую, это исток и сток транзистора. Возьмём для примера nMOS-устройство: когда затвор не заряжен, разводной мост поднят и электроны не могут течь по каналу. Когда мы опускаем мост, то образуем дорогу над рекой и автомобили могут свободно перемещаться. То же самое происходит в транзисторе. Зарядка затвора образует канал между истоком и стоком, позволяющий току течь.
Для точного контроля над расположением на кремнии разных областей p и n производители, например Intel и TSMC используют процесс под названием фотолитография. Это чрезвычайно сложный многоэтапный процесс и компании тратят миллиарды долларов на его усовершенствование для того, чтобы создавать более мелкие, быстрые и энергоэффективные транзисторы. Представьте сверхточный принтер, который можно использовать для рисования на кремнии паттернов для каждой области.
Процесс изготовления транзисторов на чипе начинается с чистой кремниевой пластины (подложки). Она нагревается в печи для создания на поверхности пластины тонкого слоя диоксида кремния. Затем на диоксид кремния наносится светочувствительный фоторезистивный полимер. Освещая полимер светом определённых частот, мы можем обнажать полимер в тех областях, где хотим выполнять легирование. Это этап литографии, и он схож с тем, как принтеры наносят чернила на определённые области страницы, только в меньшем масштабе.
Пластина протравливается плавиковой кислотой для растворения диоксида кремния в местах, где был удалён полимер. Затем фоторезист убирается, оставляя только находящийся под ним оксидный слой. Теперь на пластину можно нанести легирующие ионы, которые имплантируются только в местах, где отсутствует оксид.
Этот процесс маскирования, формирования и легирования повторяется десятки раз для медленного построения каждого уровня элементов в полупроводнике. После завершения базового уровня кремния поверх можно создать металлические соединения, соединяющие разные транзисторы. Чуть позже мы подробнее поговорим об этих соединениях и слоях металлизации.
Разумеется, производители чипов не выполняют процесс создания транзисторов под одному. При проектировании нового чипа они генерируют маски для каждого этапа процесса изготовления. Эти маски содержат местоположения каждого элемента миллиардов транзисторов чипа. Несколько чипов группируются вместе и изготавливаются совместно на одном кристалле.
После изготовления пластины она разрезается на отдельные кристаллы, которые помещаются
в корпуса. Каждая пластина может содержать сотни или даже больше чипов. Обычно чем более мощный производится чип, тем больше будет кристалл, и тем меньше чипов производитель может получить с каждой пластины.
Можно подумать, что нам просто стоит производить огромные супермощные чипы с сотнями ядер, но это невозможно. В настоящее время самым серьёзным фактором, мешающим создавать всё более крупные чипы, являются дефекты в процессе производства. Современные чипы содержат миллиарды транзисторов и если хотя бы одна часть одного транзистора сломана, то может быть выброшен весь чип. При увеличении размера процессоров вероятность неисправности чипа повышается.
Продуктивность процессов изготовления своих чипов компании тщательно скрывают, но её можно примерно оценить в 70-90%. Компании обычно изготавливают чипы с запасом, потому что знают, что некоторые части не будут работать. Например, Intel может спроектировать 8-ядерный чип, но продавать его только как 6-ядерный, потому что рассчитывает, что одно или два ядра могут быть сломаны. Чипы с необычно низким количеством дефектов обычно откладываются для продажи по более высокой цене. Этот процесс называется binning.
Один из самых серьёзных маркетинговых параметров, связанных с изготовлением чипов — это размер элементов. Например, Intel осваивает 10-нанометровый процесс, AMD использует для некоторых GPU 7-нанометровый, а TSMC начала работу над 5-нанометровым процессом. Но что означают все эти числа? Традиционно размером элемента называется минимальное расстояние между стоком и истоком транзистора. В процессе развития технологий мы научились уменьшать транзисторы, чтобы на одном чипе их помещалось всё больше. При уменьшении транзисторов они также становятся всё быстрее и быстрее.
Глядя на эти числа, важно помнить, что некоторые компании могут основывать размер техпроцесса не на стандартном расстоянии, а на других величинах. Это значит, что процессы с разным размером у различных компаний могут на самом деле приводить к созданию транзисторов одинакового размера. С другой стороны, не все транзисторы в отдельном техпроцессе имеют одинаковый размер. Проектировщики могут решить ради компромиссов сделать некоторые транзисторы крупнее других. Мелкий транзистор будет быстрее, потому на зарядку и разрядку его затвора требуется меньше времени. Однако мелкие транзисторы могут управлять только очень малым количеством выходов. Если какой-то кусок логики будет управлять чем-то, требующим много мощности, например, контактом вывода, то его придётся сделать намного больше. Такие транзисторы вывода могут быть на порядки величин больше, чем транзисторы внутренней логики.
Снимок кристалла современного процессора AMD Zen. Эта конструкция состоит из нескольких миллиардов транзисторов.
Однако проектирование и изготовление транзисторов — это только половина чипа. Нам необходимы проводники, чтобы соединить всё согласно схеме. Эти соединения создаются при помощи слоёв металлизации поверх транзисторов. Представьте многоуровневую дорожную развязку с въездами, выездами и кучей пересекающихся дорог. Именно это и происходит внутри чипа, только в гораздо меньшем масштабе. У разных процессоров разное количество металлических связующих слоёв над транзисторами. Транзисторы уменьшаются, и для маршрутизации всех сигналов требуется всё больше слоёв металлизации. Сообщается, что в будущем 5-нанометровом техпроцессе TMSC будет использоваться 15 слоёв. Представьте 15-уровневую вертикальную автомобильную развязку — это даст вам представление о том, насколько сложна маршрутизация внутри чипа.
На показанном ниже изображении с микроскопа показана решётка, образованная семью слоями металлизации. Каждый слой плоский и при поднимании вверх слои становятся больше, чтобы способствовать снижению сопротивления. Между слоями есть крошечные металлические цилиндрики, называемые перемычками, которые используются для перехода на более высокий уровень. Обычно каждый слой меняет направление относительно слоя под ним, чтобы снизить нежелательные ёмкостные сопротивления. Нечётные слои металлизации могут использоваться для создания горизонтальных соединений, а чётные — для вертикальных соединений.
Можно понять, что управление всеми этими сигналами и слоями металлизации очень быстро становится невероятно сложным. Чтобы способствовать решению этой проблемы, применяются компьютерные программы, автоматически располагающие и маршрутизирующие транзисторы. В зависимости от сложности конструкции программы даже могут транслировать функции высокоуровневого кода на C вниз до физических расположений каждого проводника и транзистора. Обычно разработчики чипов позволяют компьютерам генерировать основную часть конструкции автоматически, а затем изучают и вручную оптимизируют отдельные критически важные части.
Когда компании хотят создать новый чип, они начинают процесс проектирования со стандартных ячеек, предоставляемых компанией-изготовителем чипов. Например, Intel или TSMC предоставляют проектировщикам такие базовые части, как логические элементы или ячейки памяти. Проектировщики могут комбинировать эти стандартные ячейки в любой чип, который хотят произвести. Затем они отправляют на фабрику — место, где необработанный кремний превращается в рабочие чипы — электрические схемы транзисторов чипа и слоёв металлизации. Эти схемы превращаются в маски, которые используются в описанном выше процессе изготовления. Далее мы посмотрим, как может выглядеть процесс проектирования чрезвычайно простого чипа.
Первой мы видим схему инвертора, который является стандартной ячейкой. Заштрихованный зелёный прямоугольник наверху — это pMOS-транзистор, а прозрачный зелёный прямоугольник внизу — nMOS-транзистор. Вертикальный красный проводник — это поликремниевый затвор, синие области — это металлизация 1, а сиреневые области — металлизация 2. Вход A входит слева, а выход Y выходит справа. Соединения питания и заземления выполнены сверху и снизу на металлизации 2.
Скомбинировав несколько логических элементов, мы получили простой 1-битный арифметический модуль. Эта конструкция может складывать, вычитать и выполнять логические операции с двумя 1-битными входами. Идущие вверх заштрихованные синие проводники это слои металлизации 3. Немного более крупные квадраты на концах проводников — это перемычки, соединяющие два слоя.
Наконец, объединив вместе множество ячеек и примерно 2 000 транзисторов, мы получили простой 4-битный процессор с 8 байтами ОЗУ на четырёх слоях металлизации. Увидев, насколько он сложен, можно только представлять, как трудно проектировать 64-битный процессор с мегабайтами кэша, несколькими ядрами и 20 с лишним этапами конвейера. Учитывая то, что у современных высокопроизводительных ЦП есть до 5-10 миллиардов транзисторов и дюжина слоёв металлизации, не будет преувеличением сказать, что они буквально в миллионы раз сложнее нашего примера.
Это даёт нам понять, почему новый процессор является таким дорогостоящим куском технологий и почему AMD и Intel так долго выпускают новые продукты. Для того, чтобы новый чип прошёл путь от чертёжной доски до рынка, обычно требуется 3-5 лет. Это значит, что самые быстрые современные чипы созданы на технологиях, которым уже несколько лет, и что мы ещё много лет не увидим чипов с современным уровнем технологий изготовления.
В четвёртой и последней статье серии мы вернёмся к физической сфере и рассмотрим современные тенденции в отрасли. Что разрабатывают исследователи, чтобы сделать следующее поколении компьютеров ещё быстрее?
Автор: PatientZero