Принцип работы современного компьютерного процессора


Как разрабатываются и создаются процессоры? Часть 1: Фундаментальные основы архитектуры процессоров

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

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

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

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

Программы представляют собой набор низкоуровневых инструкций. Их называют языком ассемблера (assembly language), и они являются одной из частей архитектуры набора команд (ISA). Процессоры запрограммированы на распознавание и выполнение этих инструкций. Самыми распространенными архитектурами набора команд являются x86, MIPS, ARM, RISC-V и PowerPC. Каждая из них отличается друг от друга написанием кода, по аналогии с языками программирования.

Эти архитектуры можно разбить на две категории: архитектуры с фиксированной длиной и переменной длиной. RISC-V является архитектурой с фиксированной длиной, и это означает, что по количеству битов можно понять можно определить тип инструкции. Ее полная противоположность — это x86: архитектура с переменной длиной, в которой каждая инструкция может быть закодирована совершенно по-разному и с разным количеством битов в каждой части. Именно поэтому декодер инструкций на процессорах с архитектурой x86 является самой сложной деталью всего устройства.

Инструкции с фиксированной длиной декодируются легче и быстрее, но у таких архитектур существует лимит поддерживаемых инструкций. Так, самые распространенные процессоры на RISC-V с открытым доступом поддерживают около 100 инструкций, а x86 является закрытой архитектурой, поэтому никто не знает точного количества поддерживаемых инструкций. Многие считают, что это число достигает нескольких тысяч, но это лишь догадки. Тем не менее, несмотря на такую разницу, процессоры на обеих архитектурах выполняют одни и те же функции.

Как разрабатываются и создаются процессоры? Часть 1: Фундаментальные основы архитектуры процессоров

Примеры инструкций архитектуры RISC-V. Инструкция opcode справа занимает 7 бит, что, в свою очередь, определяет ее тип. Каждая инструкция состоит из битов, которые отвечают за то, какие регистры и функции будут выполняться. Так инструкции ассемблера превращаются в бинарный код, который процессор способен считывать.

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

Первым таким шагом является перенос инструкции из памяти в сам процессор. На второй стадии инструкция декодируется, чтобы процессор смог понять, что это за инструкция. Типов инструкций много — от арифметических действий до инструкций памяти. После того, как процессор определил тип инструкции, он достает необходимые операнды из памяти или внутренних регистров. Объясняется это просто — вы не можете сложить числа A и B, если не знаете их значений. Стоит также упомянуть, что, так как многие современные процессоры 64-битные, то размер значения данных тоже будет составлять 64 бита.

Как разрабатываются и создаются процессоры? Часть 1: Фундаментальные основы архитектуры процессоров

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

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

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

Как разрабатываются и создаются процессоры? Часть 1: Фундаментальные основы архитектуры процессоров

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

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

Современные процессоры, кроме внеочередного выполнения инструкций, обладают также суперскалярной архитектурой. Это означает, что процессор может выполнять сразу несколько инструкций на каждом из этапов пайплайна. Для того, чтобы это было возможно, процессору необходимо иметь несколько копий каждого этапа пайплайна. Таким образом, если процессор видит две доступные для исполнения инструкции, между которыми нет никакой зависимости друг от друга, то он сможет одновременно выполнить обе. Такая технология называется одновременной многопотоковостью (SMT), более известной как гиперпотоковость (Hyper-Threading). Процессоры Intel и AMD поддерживают двухстороннюю одновременную многопотоковость, в то время как IBM разработала чипы, поддерживающие уже восьмистороннюю многопотоковость.

Как разрабатываются и создаются процессоры? Часть 1: Фундаментальные основы архитектуры процессоров

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

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

Почти в каждом процессоре есть три уровня кэша — это называется иерархией памяти. Кэш 1 уровня (L1) самый быстрый и самый маленький, 3 уровня (L3), наоборот, крупнейший и медленный, а кэш 2 уровня (L2) — «золотая середина» между ними. Выше кэша в иерархии памяти стоят маленькие регистры, в которых сохраняется одиночное значение данных во время работы процессора. Эти регистры по скорости даже опережают кэш. Регистры используются, когда компилятор переводит высокоуровневые программы в язык ассемблера.

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

Как разрабатываются и создаются процессоры? Часть 1: Фундаментальные основы архитектуры процессоров

В большинстве процессоров каждое ядро оснащено двумя кэшами первого уровня: один предназначен для данных, а другой — для инструкций. Кэш первого уровнязачастуюоколо 100 КБ в размере, хотя это число может отличаться в зависимости от процессора. Обычно на каждое ядро приходится по кэшу второго уровня, хотя в некоторых архитектурах процессоров может кэш может быть разделен между двумя ядрами. Размер этого кэша составляет уже несколько сотен килобайт. Самым большим (несколько десятков мегабайт) является кэш 3 уровня, который делится сразу между всеми ядрами процессора.

Новые статьи:  Компьютер перезагружается сам по себе

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

Вторым важнейшим элементом процессора является блок предсказания ветвлений. Разветвленные инструкции являются чем-то вроде команды “если”, только в контексте процессора. Одна часть инструкций будет выполняться, если условие верно, а другая — если условие ложно. Пример: необходимо сравнить два числа, иесли числа равны, то выполнить одну функцию, а если нет — то другую. Ветвления довольно распространены изачастуюсоставляют около 20% всех инструкций программы.

На бумаге разветвленные инструкции звучат довольно просто, но для процессоров их выполнение может быть довольно проблематичным. Поскольку процессор может выполнять 10-20 инструкций одновременно, ему важно понимать, какие именно нужно обработать. Процессору может понадобиться 5 циклов, чтобы определить, является ли инструкция разветвленной, а затем до 10 циклов для того, чтобы определить верна она или нет. В это же время, процессор может начать выполнять десятки дополнительных инструкций, даже не зная правильно ли их выполнение.

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

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

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

В последние несколько десятилетий процессоры развились до невероятных высот. Благодаря умелому использованию многих элементов процессоров, производителям удалось поднять производительность на новый уровень. Увы, но эти самые производители держат все принципы работы своих технологий в строжайшем секрете, поэтому трудно понять, как работают мельчайшие детали. К счастью, большинство фундаментальных основ работы процессоров остаются неизменными, стандартизированным и общеизвестными. Если Intel вдруг внезапно решит каким-то волшебным образом увеличить скорость работы кэша, либо AMD добавит более продвинутый блок предсказания ветвлений, знайте — обе компании стараются добиться одной и той же цели.

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

Как устроен центральный процессор

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

У процессора есть:

Тактовая частота процессора

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

Разрядность процессора

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

Размерность технологического процесса

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

Сокет (разъем)

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

    • PGA (Pin Grid Array) – корпус квадратной или прямоугольной формы, штырьковые контакты
    • BGA (Ball Grid Array) – шарики припоя
    • LGA (Land Grid Array) – контактные площадки

    Кэш-память процессора

    Кэш-память процессора является одной из ключевых характеристик, на которую стоит обратить внимание при выборе. Кэш-память – массив сверхскоростной энергозависимой ОЗУ. Является буфером, в котором хранятся данные, с которыми процессор взаимодействует чаще или взаимодействовал в процессе последних операций. Благодаря этому уменьшается количество обращений процессора к основной памяти. Этот вид памяти делится на три уровня: L1, L2, L3. Каждый из уровней отличается по размеру памяти и скорости, и задачи ускорения у них отличаются. L1 — самый маленький и быстрый, L3 — самый большой и медленный. К каждому уровню процессор обращается поочередно (от меньшего к большему), пока не обнаружит в одном из них нужную информацию. Если ничего не найдено, обращается к оперативной памяти.

    Энергопотребление и тепловыделение

    Чем выше энергопотребление процессора, тем выше его тепловыделение. TDP (Thermal Design Power) – параметр, указывающий на то количество тепла, которое способна отвести охлаждающая система от определенного процессора при наибольшей нагрузке. Значение представлено в ваттах при максимальной температуре корпуса процессора. ACP (Average CPU Power) – средняя мощность процессора, показывающая энергопотребление процессора при конкретных задачах.

    Рабочая температура процессора

    Наивысший показатель температуры поверхности процессора, при котором возможна нормальная работа (54-100 °С). Этот показатель зависит от нагрузки на процессор и от качества отвода тепла. При превышении предела компьютер либо перезагрузится, либо просто отключится. Это очень важная характеристика процессора, которая напрямую влияет на выбор типа охлаждения.

    Множитель и системная шина

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

    Встроенное графическое ядро

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

    Количество ядер (потоков)

    Многоядерность одна из важнейших характеристик центрального процессора, но в последнее время ей уделяют слишком много внимания. Не так давно процессоры были одноядерными, их производительность на то время была достаточно хорошой, и не требовала увеличения мощности, когда процессоры уже уперлись в какой-то “потолок”. На замену одноядерным пришли процессоры с 2, 4 и 8 ядрами. Если 2 и 4-ядерные вошли в обиход очень быстро, процессоры с 8 ядрами пока не так востребованы. Для использования офисных приложений и серфинга в интернете достаточно 2 ядер, 4 ядра требуются для САПР и графических приложений, которым просто необходимо работать в несколько потоков. Что касается 8 ядер, очень мало программ поддерживают так много потоков, а значит, такой процессор для большинства приложений просто бесполезен. Обычно, чем меньше потоков, тем больше тактовая частота. Из этого следует, что если программа, адаптированная под 4 ядра, а не под 8, на 8-ядерном процессе она будет работать медленнее. Но этот процессор отличное решение для тех, кому необходимо работать сразу в большом количестве требовательных программ одновременно. Равномерно распределив нагрузку по ядрам процессора можно наслаждаться отличной производительностью во всех необходимых программ. В большинстве процессоров количество физических ядер соответствует количеству потоков: 8 ядер – 8 потоков. Но есть процессоры, где благодаря Hyper-Threading, к примеру, 4-ядерный процессор может обрабатывать 8 потоков одновременно.

    Как это работает

    Сам процессор представляет собой небольшую квадратную пластину (чип), внутри которой находятся миллионы транзисторов. Если говорить о том, как работает процессор Intel или его конкурент AMD, нужно посмотреть, как устроены эти чипы. Первый микропроцессор появился еще в далеком 1971 году. Он мог выполнять только простейшие операции сложения и вычитания с обработкой всего лишь 4 бит информации, т. е. имел 4-битную архитектуру. Современные процессоры, как и первый, основаны на транзисторах и обладают куда большим быстродействием. Изготавливаются они методом фотолитографии из определенного числа отдельных кремниевых пластинок, составляющих единый кристалл, в который как бы впечатаны транзисторы. Схема создается на специальном ускорителе разогнанными ионами бора. Во внутренней структуре процессоров основными компонентами являются ядра, шины и функциональные частицы, называемые ревизиями. Если посмотреть, как работает процессор, нужно четко представлять себе, что любая команда имеет две составляющие – операционную и операндную. Операционная часть указывает, что должна выполнить в данный момент компьютерная система, операнда определяет то, над чем должен работать именно процессор. Кроме того, ядро процессора может содержать два вычислительных центра, которые разделяют выполнение команды на несколько этапов:

      • Выработка
      • Дешифрование
      • Выполнение команды
      • Обращение к памяти самого процессора
      • Сохранение результатов

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

      История создания. Дальнейшее развитие процессоров

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

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

      Проще всего создать процессор, оптимизированный под одну-единственную задачу. В рамках этой задачи можно достичь пика производительности для данной элементной базы. Но в связи с универсальностью происходят потери в производительности. Борьба противоположных требований, при всей своей простоте, является основным фактором влияния. Другим фактором, является удобство применения процессора для разработки приложений. При разработке любого сложного проекта на каком-то этапе сама технология производства оказывается делом первостепенной важности. Качественная реализация проекта оказывается невозможной без применения специальных средств для контроля за качеством производимых программных продуктов. Именно в этом заключаются корни популярности объектно-ориентированного подхода в языках высокого уровня. В той же мере и на уровне машинных кодов удобство системы команд может оказывать большое влияние на качество работы. Чем удобнее окажется процессор для разработчиков, тем больше будет выпущено программных продуктов именно для этой платформы, и тем привлекательней окажется эта платформа для конечных пользователей. Процессор должен обладать максимальной производительностью, при этом он должен сохранять свою относительную универсальность, обеспечивающую массовость производства. Также процессор должен быть достаточно удобен для разработки сложных приложений. С учетом всех этих требований можно рассматривать ныне существующие модели, оценивать их перспективность и, до некоторой степени, предсказывать их дальнейшее развитие.

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

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

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

      Закон Мура устарел, а Apple совершила революцию. Вот как работает процессор в вашем компьютере

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

      Что вообще такое микропроцессор и при чем тут транзисторы

      Понятным языком можно сказать так: процессор представляет собой чип внутри устройства, который производит практически все вычисления. А эти вычисления основываются на применении транзисторов. Если упростить, то чем больше транзисторов на одной плате, тем лучше (то есть производительнее) весь CPU.

      Intel 4004

      Для сравнения: первым микропроцессором считается Intel 4004 (1971 года выпуска). В нем установлено 2300 транзисторов. В этом году Apple представила систему на чипе A15 Bionic — на нем основывается последнее поколение iPhone. В A15 транзисторов уже 15 млрд.

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

      Старомодные транзисторы

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

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

      Иллюстрация примера с краном и током

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

      Почему так важен «чистый» кремний, как на него наносят транзисторы и при чем тут закон Мура

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

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

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

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

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

      В конце концов пришли к технологии EUV — сверхжесткого ультрафиолетового излучения на длине волны 13,5 нанометра. Эта технология настолько сложная и уникальная, что сегодня в мире ей на достаточно высоком уровне занимается только одна компания — ASML. Она поставляет другим производителям электроники станки, которые и «печатают» компоненты системы на кремниевых дисках с требуемой точностью.

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

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

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

      Если объяснять еще проще, то чем меньше цифра перед словом «нанометровый», тем лучше. Процессоры, изготовленные по 5-нанометровому техпроцессу (на момент публикации материала считается передовым решением), ощутимо мощнее и в сравнении с теми, что базируются на 7-нанометровом. Через год-два производители планируют перейти на 3-нанометровый техпроцесс. Кроме того, у перехода на меньший техпроцесс есть еще одно преимущество: каждый транзистор начинает потреблять меньше электроэнергии, тем самым улучшая энергоэффективность всего устройства.

      Что такое «система на чипе»

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

      В какой-то момент стало понятно, что чипы уже стали настолько миниатюрными, что под одной такой защитной крышкой вполне может уместиться не только сам CPU, но и другие компоненты — например, графический чип (GPU), отвечающий за вывод картинки на экран, а еще модули беспроводной связи и модемы. Решение, когда все критически важные для работы компьютера компоненты находятся вместе на одной интегральной схеме совсем рядом друг с другом, называется «система на чипе», или «система на кристалле» (System-on-a-Chip, SoC).

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

      Еще несколько лет назад дело обстояло так: существуют мощные процессоры (что графические, что центральные) для настольных компьютеров, которые производят гиганты вроде AMD и Intel, а есть относительно слабые «системы на чипе» (когда все компоненты собраны вместе) на базе ARM-архитектуры для мобильных переносных девайсов — и эти два мира долго практически никак не пересекались.

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

      Будущее — за ARM? И при чем тут Apple

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

      Такой подход назвали RISC (Reduced Instruction Set Computing), то есть компьютер с ограниченным набором команд. С совершенствованием технологий RISC начали развивать двумя способами — так появились архитектуры x86 и ARM. Первая рассчитана на «взрослые» и производительные компьютеры с процессорами от тех же Intel или AMD, которые умеют исполнять инструкции на базе технологии CISC (Complex Instruction Set Computing, то есть вычислительная машина со сложным набором команд), вторая — на относительно небольшие мобильные устройства с низким потреблением энергии, исполняющие усовершенствованные и более простые инструкции RISC.

      Фото: habr.com

      Если еще немного упростить: говорим CISC — имеем в виду «классические» процессоры от компаний Intel или AMD, говорим RISC — подразумеваем варианты мобильных «систем на чипе», как у Apple или Samsung. Чтобы сделать процессор с x86-архитектурой, производителю необходимо самому придумать и нарисовать все транзисторы и соединения между ними. Это сложно и дорого. С ARM ситуация иная: любая компания может купить лицензию и сделать свой процессор с этой архитектурой, изменив компоновку и добавив другие модули.

      Сложность в том, что программы, созданные для CISC (то есть x86, больших настольных процессоров), не способны прочитаться RISC-чипами (ARM, мобильные варианты) из-за разного набора инструкций. Поэтому до недавнего времени просто так запустить на компьютере программу, созданную для смартфона, не получалось.

      Решение Apple перейти в компьютерах на ARM-чипы, схожие с применяющимися в iPhone и понимающие инструкции для RISC-процессоров, называют революционным благодаря тому, что компания отыскала программный способ заставить их читать софт, созданный для старых процессоров Intel под архитектуру x86. То есть компьютеры Apple последнего поколения с фирменными чипами M1 на ARM-архитектуре универсальны и берут лучшее от двух миров: производительность, энергоэффективность и возможность чтения программ, созданных для устройств обоих типов.

      Пойдут ли по такому пути другие гиганты вроде Intel и AMD? Пока однозначно утверждать это нельзя. Все же их «классические» CPU показывают не меньшую, а то и бо́льшую пиковую производительность. Кроме того, их процессоры в массовом сегменте, как правило, предназначены для компьютеров под управлением операционной системы Windows, а схожую работу по оптимизации ОС таким образом, чтобы она могла читать программы для обеих архитектур, в Microsoft еще не провели.


Оставьте комментарий