Что такое транзистор в процессоре

Обновлено: 03.07.2024

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

Вместо микросхем в 40-е годы XX века использовались электромеханические реле, дополненные вакуумными лампами. Лампы выполняли роль диода, регулировать состояние которого можно было за счет понижения или повышения напряжения в цепи. Выглядели такие конструкции так: Для работы одного исполинского компьютера нужны были сотни, иногда тысячи процессоров. Но, при этом, вы не смогли бы запустить на таком компьютере даже простенький редактор, как NotePad или TextEdit из штатного набора Windows и macOS. Компьютеру банально не хватило бы мощности.

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

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

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

Из школьного курса информатики вы, наверняка, помните, что компьютер «понимает» человеческий язык за счет комбинаций всего двух состояний: «включено» и «выключено». В понимании машины это состояние "0" или "1".

Задача компьютера заключается в том, чтобы представить электрический ток в виде чисел.

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

С начала 60-х транзисторы стали изготавливать из кремния, что позволило не только делать процессоры компактнее, но и существенно повысить их надежность.

В зависимости от подаваемого напряжения, транзистор может быть либо открыт, либо закрыт. Если напряжение недостаточное для преодоления потенциального барьера (того самого на стыке p и n пластин) – транзистор будет находится в закрытом состоянии – в состоянии «выключен» или, говоря языком двоичной системы – "0".

При достаточно напряжении транзистор открывается, а мы получаем значение «включен» или "1" в двоичной системе.

Такое состояние, 0 или 1, в компьютерной индустрии назвали «битом».

Т.е. мы получаем главное свойство того самого переключателя, который открыл человечеству путь к компьютерам!

В первом электронном цифровом вычислителе ЭНИАК, а проще говоря – первом компьютере, использовалось около 18 тысяч ламп-триодов. Размер компьютера был сопоставим с теннисным кортом, а его вес составлял 30 тонн.

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

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

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

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

1964 год IBM System/360. Компьютер, совместимый с универсальным программным кодом. Набор инструкций для одной модели процессора мог использоваться и для другой.

70-e годы. Появление первых микропроцессоров. Однокристальный процессор от Intel. Intel 4004 – 10 мкм ТП, 2 300 транзисторов, 740 КГц.

1973 год Intel 4040 и Intel 8008. 3 000 транзисторов, 740 КГц у Intel 4040 и 3 500 транзисторов при 500 кГц у Intel 8008.

1974 год Intel 8080. 6 мкм ТП и 6000 транзисторов. Тактовая частота около 5 000 кГц. Именно этот процессор использовался в компьютере Altair-8800. Отечетсвенная копия Intel 8080 – процессор КР580ВМ80А, разработанный Киевским НИИ микроприборов. 8 бит.

1976 год Intel 8080. 3 мкм ТП и 6500 транзисторов. Тактовая частота 6 МГц. 8 бит.

1976 год Zilog Z80. 3 мкм ТП и 8500 транзисторов. Тактовая частота до 8 МГц. 8 бит.

1978 год Intel 8086. 3 мкм ТП и 29 000 транзисторов. Тактовая частота около 25 МГц. Система команд x86, которая используется и сегодня. 16 бит.

1980 год Intel 80186. 3 мкм ТП и 134 000 транзисторов. Тактовая частота – до 25 МГц. 16 бит.

1982 год Intel 80286. 1,5 мкм ТП и 134 000 транзисторов. Частота – до 12,5 МГц. 16 бит.

1982 год Motorola 68000. 3 мкм и 84 000 транзисторов. Этот процессор использовался в компьютере Apple Lisa.

1985 год Intel 80386. 1,5 мкм тп и 275 000 транзисторов.Частота – до 33 МГц в версии 386SX.

Казалось бы, продолжать список можно было бы до бесконечности, но тут инженеры Intel столкнулись с серьезной проблемой.

На дворе конец 80-х. Еще в начале 60-х один из основателей компании Intel Гордон Мур формулировал так называемый «Закон Мура». Звучит он так:

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

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

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

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

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

Процессор Intel i486 состоял уже из 1,2 млн транзисторов, а максимальная частота его работы достигла 50 МГц.

В 1995 году к разработке присоединяется компания AMD и выпускает самый быстрый на тот момент i486-совместимый процессор Am5x86 на 32-битной архитектуре. Изготавливался он уже по 350 нанометровому техпроцессу, а количество установленных процессоров достигло 1,6 млн штук. Тактовая частота повысилась до 133 МГц.

Но гнаться за дальнейшим наращиванием количества установленных на кристалле процессоров и развитии уже утопической архитектуры CISC (Complex Instruction Set Computing) чипмейкеры не решились. Вместо этого американский инженер Дэвид Паттерсон предложил оптимизировать работу процессоров, оставив лишь самые необходимые вычислительные инструкции.

Так производители процессоров перешли на платформу RISC (Reduced Instruction Set Computing]. Но и этого оказалось мало.

В 1991 году выходит 64-битный процессор R4000, работающий на частоте 100 МГц. Через три года появляется процессор R8000, а еще через два года – R10000 с тактовой частотой вплоть до 195 МГц. Параллельно развивался рынок SPARC-процессоров, особенностью архитектуры которых стало отсутствие инструкций умножения и деления.

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

Вот лишь некоторые из появившихся с период с 1980 по 1995 год архитектур: SPARC;ARM;PowerPC;Intel P5;AMD K5;Intel P6.

В их основе лежала платформа RISC, а в некоторых случаях и частичное, совмещенное использование CISC-платформы. Но развитие технологий вновь подталкивало чипмейкеров продолжить наращивание процессоров.

В августе 1999 года на рынок выходе AMD K7 Athlon, изготовленный по 250 нанометровому техпроцессу и включающий 22 млн транзисторов. Позднее планку подняли до 38 млн процессоров. Потом до 250 млн.

Увеличивался технологический процессор, росла тактовая частота. Но, как гласит физика, всему есть предел.

В 2007 году Гордон Мур выступил с весьма резким заявлением:

Закон Мура скоро перестанет действовать. Устанавливать неограниченное количество процессоров до бесконечности невозможно. Причина тому — атомарная природа вещества.

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

И пока производители полупроводников грозятся запустить многослойные транзисторы, проводя параллель с 3DNand памятью, у упершейся в стену архитектуры x86 еще 30 лет назад появился серьезный конкурент.

«Закон Мура» признан недействительным еще с 2016 года. Об этом официально заявил крупнейший производитель процессоров Intel. Удваивать вычислительную мощность на 100% каждые два года чипмейкеры больше не состоянии.

И теперь у производителей процессоров есть несколько малоперспективных вариантов.

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

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

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

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

Решение вполне имеет право на жизнь, и таким образом монополистам удастся доить потребителя еще пару десятков лет, но, в конце концов, технология опять-таки упрется в потолок.

Сегодня же, понимая стремительное развитие ARM-архитектуры, Intel провела негромкий анонс чипов семейства Ice Lake. Процессоры будут изготавливаться по 10-нанометровому технологическому процессу и станут основой для смартфонов, планшетов и мобильных устройств. Но произойдет это в 2019 году.

Итак, архитектура x86 появилась в 1978 году и относится к типу платформы CISC. Т.е. сама по себе она предполагает наличие инструкций на все случаи жизни. Универсальность – главный конек x86.

Но, в тоже время, универсальность сыграла с этими процессорами и злую шутку. У x86 есть несколько ключевых недостатков:

сложность команд и откровенная их запутанность;

высокое потребление энергии и выделение теплоты.

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

В тоже время разработкой ARM (Arcon Risk Machine) занимаются сразу несколько компания. Еще в 1985 году в качестве основы для дальнейшего развития архитектуры разработчики выбрали платформу RISC.

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

Более того, ARM изначально создавался исключительно как конкурент x86. Разработчики ставили задачу построить архитектуру, более эффективную чем x86.

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

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

В общем, пришло время разобраться с этим вопросом!

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

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

Что такое транзистор в процессоре смартфона? Как он работает и зачем вообще нужен?

Итак, для создания транзистора мы берем немножко песка (условно какую-то часть одной песчинки) и делаем из него микроскопическую основу:

основа для транзистора процессора

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

легирование кремниевого транзистора

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

создаем затвор на транзисторе

как транзистор контролирует подачу тока

описание транзистора процессора смартфона

Для закрепления материала немножко поиграемся с этим транзистором.

На входе транзистора подаем ток, на выходе - 0

транзистор выдает единицу

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

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

Предположим, у нас есть современный смартфон, процессор которого выполнен по 7-нм техпроцессу. Что внутри такого процессора имеет размер 7 нанометров? Предлагаю вам выбрать правильный вариант ответа:

  • Длина транзистора
  • Ширина транзистора
  • Расстояние между двумя транзисторами
  • Длина затвора
  • Ширина затвора
  • Расстояние между затворами соседних транзисторов

длина канала транзистора

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

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

Другими словами, нужно умножать каждую сторону квадратного транзистора на 0.7, чтобы его площадь уменьшилась вдвое:

Повторюсь, до определенного момента эта цифра означала длину канала (или длину затвора), так как эти элементы уменьшались пропорционально размеру транзистора.

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

Например, в 250-нм техпроцессе длина затвора составляла 190 нанометров, но транзисторы не были упакованы настолько плотно по сравнению с предыдущим техпроцессом, чтобы называть его 190-нанометровым (по размеру затвора). Это не отражало бы реальную плотность.

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

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

К примеру, в 100-нм техпроцессе ячейка из 6 транзисторов занимала, скажем, 100 000 нанометров (это условная цифра из головы). Компания упорно работала над уменьшением размеров транзисторов или увеличением плотности их размещения и через пару лет добилась того, что в новом процессоре эта же ячейка занимает уже 50 000 нм.

Не важно, уменьшился ли размер транзисторов или просто удалось упаковать их более плотно (за счет сокращения слоя металла и других ухищрений), можно смело говорить, что количество транзисторов на кристалле выросло в два раза. А значит мы умножаем предыдущий техпроцесс (100 нм) на 0.7 и получаем новенький процессор, выполненный по 70-нм техпроцессу.

Однако, когда мы дошли до 22-нанометрового техпроцесса, уменьшать длину затвора уже было нереально, так как электроны проходили бы сквозь этот затвор и транзисторы постоянно бы пропускали ток.

пример fitFET транзистора

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

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

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

В любом случае, важно запомнить простое правило и пользоваться им при анализе характеристик смартфона:

Разница техпроцесса в 0.7 раз означает двукратное увеличение количества транзисторов

Продолжая аналогию, в 5-нм процессоре должно вмещаться в 2 раза больше транзисторов, чем в 7-нанометровом! Если вас не очень удивляет этот факт, обязательно почитайте на досуге мою заметку об экспоненциальном развитии технологий.

Сложно в это поверить, но современный процессор является самым сложным готовым продуктом на Земле – а ведь, казалось бы, чего сложного в этом куске железа?

image

Как и обещал – подробный рассказ о том, как делают процессоры… начиная с песка. Все, что вы хотели знать, но боялись спросить )


Я уже рассказывал о том, «Где производят процессоры» и о том, какие «Трудности производства» на этом пути стоят. Сегодня речь пойдет непосредственно про само производство – «от и до».

Производство процессоров

Когда фабрика для производства процессоров по новой технологии построена, у нее есть 4 года на то, чтобы окупить вложенные средства (более $5млрд) и принести прибыль. Из несложных секретных расчетов получается, что фабрика должна производить не менее 100 работающих пластин в час.

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

Уроки химии

Давайте рассмотрим весь процесс более подробно. Содержание кремния в земной коре составляет порядка 25-30% по массе, благодаря чему по распространённости этот элемент занимает второе место после кислорода. Песок, особенно кварцевый, имеет высокий процент содержания кремния в виде диоксида кремния (SiO2) и в начале производственного процесса является базовым компонентом для создания полупроводников.

image

Первоначально берется SiO2 в виде песка, который в дуговых печах (при температуре около 1800°C) восстанавливают коксом:

Данные реакции с использованием рецикла образующихся побочных кремнийсодержащих веществ снижают себестоимость и устраняют экологические проблемы:
2SiHCl3 SiH2Cl2 + SiCl4
2SiH2Cl2 SiH3Cl + SiHCl3
2SiH3Cl SiH4 + SiH2Cl2
SiH4 Si + 2H2

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

image

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

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

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

image

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

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

Фотолитография


Проблема решается с помощью технологии фотолитографии — процесса избирательного травления поверхностного слоя с использованием защитного фотошаблона. Технология построена по принципу «свет-шаблон-фоторезист» и проходит следующим образом:
— На кремниевую подложку наносят слой материала, из которого нужно сформировать рисунок. На него наносится фоторезист — слой полимерного светочувствительного материала, меняющего свои физико-химические свойства при облучении светом.
— Производится экспонирование (освещение фотослоя в течение точно установленного промежутка времени) через фотошаблон
— Удаление отработанного фоторезиста.

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

image

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

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

Как изолировать области, не требующие последующей обработки? Перед литографией на поверхность кремниевой пластины (при высокой температуре в специальной камере) наносится защитная пленка диэлектрика – как я уже рассказывал, вместо традиционного диоксида кремния компания Intel стала использовать High-K-диэлектрик. Он толще диоксида кремния, но в то же время у него те же емкостные свойства. Более того, в связи с увеличением толщины уменьшен ток утечки через диэлектрик, а как следствие – стало возможным получать более энергоэффективные процессоры. В общем, тут гораздо сложнее обеспечить равномерность этой пленки по всей поверхности пластины — в связи с этим на производстве применяется высокоточный температурный контроль.

image

Так вот. В тех местах, которые будут обрабатываться примесями, защитная пленка не нужна – её аккуратно снимают при помощи травления (удаления областей слоя для формирования многослойной структуры с определенными свойствами). А как снять ее не везде, а только в нужных областях? Для этого поверх пленки необходимо нанести еще один слой фоторезиста – за счет центробежной силы вращающейся пластины, он наносится очень тонким слоем.

image

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

image

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

image

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

image

Там, где диэлектрик был убран, ионы проникают в слой незащищенного кремния – в противном случае они «застревают» в диэлектрике. После очередного процесса травления убираются остатки диэлектрика, а на пластине остаются зоны, в которых локально есть бор. Понятно, что у современных процессоров может быть несколько таких слоев — в таком случае на получившемся рисунке снова выращивается слой диэлектрика и далее все идет по протоптанной дорожке — еще один слой фоторезиста, процесс фотолитографии (уже по новой маске), травление, имплантация… ну вы поняли.

Характерный размер транзистора сейчас — 32 нм, а длина волны, которой обрабатывается кремний — это даже не обычный свет, а специальный ультрафиолетовый эксимерный лазер — 193 нм. Однако законы оптики не позволяют разрешить два объекта, находящиеся на расстоянии меньше, чем половина длины волны. Происходит это из-за дифракции света. Как быть? Применять различные ухищрения — например, кроме упомянутых эксимерных лазеров, светящих далеко в ультрафиолетовом спектре, в современной фотолитографии используется многослойная отражающая оптика с использованием специальных масок и специальный процесс иммерсионной (погружной) фотолитографии.

image

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

image

Финишная прямая

Ура – самое сложное позади. Осталось хитрым способом соединить «остатки» транзисторов — принцип и последовательность всех этих соединений (шин) и называется процессорной архитектурой. Для каждого процессора эти соединения различны – хоть схемы и кажутся абсолютно плоскими, в некоторых случаях может использоваться до 30 уровней таких «проводов». Отдаленно (при очень большом увеличении) все это похоже на футуристическую дорожную развязку – и ведь кто-то же эти клубки проектирует!

image

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

image

На следующем этапе процессор упаковывается в подложку (на рисунке – процессор Intel Core i5, состоящий из CPU и чипа HD-графики).

image

Привет, сокет!

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

image

image

Сокет (разъём центрального процессора) — гнездовой или щелевой разъём, предназначенный для установки центрального процессора. Использование разъёма вместо прямого распаивания процессора на материнской плате упрощает замену процессора для модернизации или ремонта компьютера. Разъём может быть предназначен для установки собственно процессора или CPU-карты (например, в Pegasos). Каждый разъём допускает установку только определённого типа процессора или CPU-карты.

image

На завершающем этапе производства готовые процессоры проходят финальные испытания на предмет соответствия основным характеристикам – если все в порядке, то процессоры сортируются в нужном порядке в специальные лотки – в таком виде процессоры уйдут производителям или поступят в OEM-продажу. Еще какая-то партия пойдет на продажу в виде BOX-версий – в красивой коробке вместе со стоковой системой охлаждения.

image

The end

Теперь представьте себе, что компания анонсирует, например, 20 новых процессоров. Все они различны между собой – количество ядер, объемы кэша, поддерживаемые технологии… В каждой модели процессора используется определенное количество транзисторов (исчисляемое миллионами и даже миллиардами), свой принцип соединения элементов… И все это надо спроектировать и создать/автоматизировать – шаблоны, линзы, литографии, сотни параметров для каждого процесса, тестирование… И все это должно работать круглосуточно, сразу на нескольких фабриках… В результате чего должны появляться устройства, не имеющие права на ошибку в работе… А стоимость этих технологических шедевров должна быть в рамках приличия… Почти уверен в том, что вы, как и я, тоже не можете представить себе всего объема проделываемой работы, о которой я и постарался сегодня рассказать.

Ну и еще кое-что более удивительное. Представьте, что вы без пяти минут великий ученый — аккуратно сняли теплораспределительную крышку процессора и в огромный микроскоп смогли увидеть структуру процессора – все эти соединения, транзисторы… даже что-то на бумажке зарисовали, чтобы не забыть. Как думаете, легко ли изучить принципы работы процессора, располагая только этими данными и данными о том, какие задачи с помощью этого процессора можно решать? Мне кажется, примерно такая картина сейчас видна ученым, которые пытаются на подобном уровне изучить работу человеческого мозга. Только если верить стэнфордским микробиологам, в одном человеческом мозге находится больше «транзисторов», чем во всей мировой IT-инфраструктуре. Интересно, правда?

image
BONUS

Хватило сил дочитать до этого абзаца? ) Поздравляю – приятно, что я постарался не зря. Тогда предлагаю откинуться на спинку кресла и посмотреть всё описанное выше, но в виде более наглядного видеоролика – без него статья была бы не полной.

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

Ну вот. вы только что сломали мою любимую кнопку для введения в заблуждение. С пятницей! :)


Успехов!


В англоязычной литературе микропроцессор часто называют CPU (central processing unit, [единым] модулем центрального процессора). Причина такого названия кроется в том, что современный процессор представляет собою единый чип. Первый микропроцессор в истории человечества был создан корпорацией Intel в далеком 1971 году.

Роль Intel в истории микропроцессорной индустрии



Речь идет о модели Intel 4004. Мощным он не был и умел выполнять только действия сложения и вычитания. Одновременно он мог обрабатывать всего четыре бита информации (то есть был 4-битным). Но для своего времени его появление стало значительным событием. Ведь весь процессор поместился в одном чипе. До появления Intel 4004, компьютеры базировались на целом наборе чипов или дискретных компонентов (транзисторов). Микропроцессор 4004 лег в основу одного из первых портативных калькуляторов.

Далее процессоры начали развиваться и обрастать мощью. Каждый, кто хоть немного знаком с историей микропроцессорной индустрии, помнит, что на смену 8088 пришли 80286. Затем настал черед 80386, за которым следовали 80486. Потом были несколько поколений «Пентиумов»: Pentium, Pentium II, III и Pentium 4. Все это «интеловские» процессоры, основанные на базовой конструкции 8088. Они обладали обратной совместимостью. Это значит, что Pentium 4 мог обработать любой фрагмент кода для 8088, но делал это со скоростью, возросшей примерно в пять тысяч раз. С тех пор прошло не так много лет, но успели смениться еще несколько поколений микропроцессоров.



С 2004 года Intel начала предлагать многоядерные процессоры. Число используемых в них транзисторов возросло на миллионы. Но даже сейчас процессор подчиняется тем общим правилам, которые были созданы для ранних чипов. В таблице отражена история микропроцессоров Intel до 2004 года (включительно). Мы сделаем некоторые пояснения к тому, что означают отраженные в ней показатели:

Существует непосредственная связь между тактовой частотой, а также количеством транзисторов и числом операций, выполняемых процессором за одну секунду. Например, тактовая частота процессора 8088 достигала 5 МГЦ, а производительность: всего 0,33 миллиона операций в секунду. То есть на выполнение одной инструкции требовалось порядка 15 тактов процессора. В 2004 году процессоры уже могли выполнять по две инструкции за один такт. Это улучшение было обеспечено увеличением количества процессоров в чипе.

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

Логика микропроцессора



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

Микропроцессор способен выполнять определенный набор машинных инструкций (команд). Оперируя этими командами, процессор выполняет три основные задачи:

  • C помощью своего арифметико-логического устройства, процессор выполняет математические действия: сложение, вычитание, умножение и деление. Современные микропроцессоры полностью поддерживают операции с плавающей точкой (с помощью специального арифметического процессора операций с плавающей точкой)
  • Микропроцессор способен перемещать данные из одного типа памяти в другой
  • Микропроцессор обладает способностью принимать решение и, на основании принятого им решения, «перепрыгивать», то есть переключаться на выполнение нового набора команд
  • Address bus (адресную шину). Ширина этой шины может составлять 8, 16 или 32 бита. Она занимается отправкой адреса в память
  • Data bus (шину данных): шириной 8, 16, 32 или 64 бита. Эта шина может отправлять данные в память или принимать их из памяти. Когда говорят о «битности» процессора, речь идет о ширине шины данных
  • Каналы RD (read, чтения) и WR (write, записи), обеспечивающие взаимодействие с памятью
  • Clock line (шина синхронизирующих импульсов), обеспечивающая такты процессора
  • Reset line (шина стирания, шина сброса), обнуляющая значение счетчика команд и перезапускающая выполнение инструкций

На данной диаграмме не отображены линии управления дешифратора команд, которые можно выразить в виде следующих «приказов»:

  • «Регистру A принять значение, поступающее в настоящий момент от шины данных»
  • «Регистру B принять значение, поступающее в настоящий момент от шины данных»
  • «Регистру C принять значение, поступающее в настоящий момент от арифметико-логического устройства»
  • «Регистру счетчика команд принять значение, поступающее в настоящий момент от шины данных»
  • «Адресному регистру принять значение, поступающее в настоящий момент от шины данных»
  • «Регистру команд принять значение, поступающее в настоящий момент от шины данных»
  • «Счетчику команд увеличить значение [на единицу]»
  • «Счетчику команд обнулиться»
  • «Активировать один из из шести буферов сортировки» (шесть отдельных линий управления)
  • «Сообщить арифметико-логическому устройству, какую операцию ему выполнять»
  • «Тестовому регистру принять тестовые биты из АЛУ»
  • «Активировать RD (канал чтения)»
  • «Активировать WR (канал записи)»

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

Память микропроцессора



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

Выше мы писали о шинах (адресной и данных), а также о каналах чтения (RD) и записи (WR). Эти шины и каналы соединены с памятью: оперативной (ОЗУ, RAM) и постоянным запоминающим устройством (ПЗУ, ROM). В нашем примере рассматривается микропроцессор, ширина каждой из шин которого составляет 8 бит. Это значит, что он способен выполнять адресацию 256 байт (два в восьмой степени). В один момент времени он может считывать из памяти или записывать в нее 8 бит данных. Предположим, что этот простой микропроцессор располагает 128 байтами ПЗУ (начиная с адреса 0) или 128 байтами оперативной памяти (начиная с адреса 128).

Модуль постоянной памяти содержит определенный предварительно установленный постоянный набор байт. Адресная шина запрашивает у ПЗУ определенный байт, который следует передать шине данных. Когда канал чтения (RD) меняет свое состояние, модуль ПЗУ предоставляет запрошенный байт шине данных. То есть в данном случае возможно только чтение данных.

Из оперативной памяти процессор может не только считывать информацию, он способен также записывать в нее данные. В зависимости от того, чтение или запись осуществляется, сигнал поступает либо через канал чтения (RD), либо через канал записи (WR). К сожалению, оперативная память энергозависима. При отключении питания она теряет все размещенные в ней данные. По этой причине компьютеру необходимо энергонезависимое постоянное запоминающее устройство.

Более того, теоретически компьютер может обойтись и вовсе без оперативной памяти. Многие микроконтроллеры позволяют размещать необходимые байты данных непосредственно в чип процессора. Но без ПЗУ обойтись невозможно. В персональных компьютерах ПЗУ называется базовой системой ввода и вывода (БСВВ, BIOS, Basic Input/Output System). Свою работу при запуске микропроцессор начинает с выполнения команд, найденных им в BIOS.

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

Инструкции микропроцессора



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

Приведем список слов-команд языка ассемблера для условного простого процессора, который мы рассматриваем в качестве примера к нашему повествованию:

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

Работа микропроцессора на примере вычисления факториала

Математические вычисления


Рассмотрим работу микропроцессора на конкретном примере выполнения им простой программы, которая вычисляет факториал от числа «5». Сначала решим эту задачку «в тетради»:

факториал от 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120

На языке программирования C этот фрагмент кода, выполняющего данное вычисление, будет выглядеть следующим образом:

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

Компилятор C транслирует (то есть переводит) этот код в набор инструкций языка ассемблера. В рассматриваемом нами процессоре оперативная память начинается с адреса 128, а постоянная память (которая содержит язык ассемблера) начинается с адреса 0. Следовательно, на языке данного процессора эта программа будет выглядеть так:


// Предположим, что a по адресу 128// Предположим, что F по адресу 1290 CONB 1 // a=1;1 SAVEB 1282 CONB 1 // f=1;3 SAVEB 1294 LOADA 128 // if a > 5 the jump to 175 CONB 56 COM7 JG 178 LOADA 129 // f=f*a;9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a=a+1;13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // loop back to if17 STOP

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

Будем считать эти порядковые номера кодами машинных команд (opcodes). Их еще называют кодами операций. При таком допущении, наша небольшая программа в постоянной памяти будет представлена в таком виде:


// Предположим, что a по адресу 128// Предположим, что F по адресу 129Addr машинная команда/значение0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Как вы заметили, семь строчек кода на языке C были преобразованы в 18 строчек на языке ассемблера. Они заняли в ПЗУ 32 байта.

Декодирование



Разговор о декодировании придется начать c рассмотрения филологических вопросов. Увы, далеко не все компьютерные термины имеют однозначные соответствия в русском языке. Перевод терминологии зачастую шел стихийно, а поэтому один и тот же английский термин может переводиться на русский несколькими вариантами. Так и случилось с важнейшей составляющей микропроцессорной логики «instruction decoder». Компьютерные специалисты называют его и дешифратором команд и декодером инструкций. Ни одно из этих вариантов названия невозможно назвать ни более, ни менее «правильным», чем другое.

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

Рассмотрим работу дешифратора команд на примере инструкции ADD, выполняющей действие сложения:

  • В течение первого цикла тактовой частоты процессора происходит загрузка команды. На этом этапе дешифратору команд необходимо: активировать буфер сортировки для счетчика команд; активировать канал чтения (RD); активировать защелку буфера сортировки на пропуск входных данных в регистр команд
  • В течение второго цикла тактовой частоты процессора команда ADD декодируется. На этом этапе арифметико-логическое устройство выполняет сложение и передает значение в регистр C
  • В течение третьего цикла тактовой частоты процессора счетчик команд увеличивает свое значение на единицу (теоретически, это действие пересекается с происходившим во время второго цикла)

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

Микропроцессоры: производительность и тенденции

Микропроцессоры развиватся стремительно


Количество транзисторов в процессоре является важным фактором, влияющим на его производительность. Как было показано ранее, в процессоре 8088 на выполнение одной инструкции требовалось 15 циклов тактовой частоты. А чтобы выполнить одну 16-битную операцию, уходило и вовсе порядка 80 циклов. Так был устроен умножитель АЛУ этого процессора. Чем больше транзисторов и чем мощнее умножитель АЛУ, тем больше всего успевает сделать процессор за один свой такт.

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

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

64-битные процессоры


Хотя массовое распространение 64-битные процессоры получили лишь несколько лет назад, они существуют уже сравнительно давно: с 1992 года. И Intel, и AMD предлагают в настоящее время такие процессоры. 64-битным можно считать такой процессор, который обладает 64-битным арифметико-логическим устройством (АЛУ), 64-битными регистрами и 64-битными шинами.

Основная причина, по которой процессорам нужна 64-битность, состоит в том, что данная архитектура расширяет адресное пространство. 32-битные процессоры могут получать доступ только к двум или четырем гигабайтам оперативной памяти. Когда-то эти цифры казались гигантскими, но миновали годы и сегодня такой памятью никого уже не удивишь. Несколько лет назад память обычного компьютера составляла 256 или 512 мегабайт. В те времена четырехгигабайтный лимит мешал только серверам и машинам, на которых работают большие базы данных.

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

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

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

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