Процессор (центральное процессорное устройство; eng. central processing unit либо сокращённо ЦПУ, ЦП, CPU) – это вычислительный блок сервера. Сложная микросхема, состоящая из нескольких компонентов, компактно размещённых на кремниевой подложке. Обрабатывает данные, следуя заложенным в архитектуру инструкциям. Получает от пользовательских программ запрос на решение той или иной задачи и последовательности её выполнения. После отправляет готовый результат вычислений.
Например, программа «Калькулятор» даёт указание процессору взять 2 числа — 3 и 5 — выполнить операцию умножения, отправить результат обратно.
Процессор отдаёт программе готовый ответ, пользователь видит в окошечке калькулятора число 15. Остальные задачи, невзирая на сложность, выполняются по такому же алгоритму.
Основа любого процессора — архитектура набора команд (Instruction Set Architecture, ISA). Это прослойка, которая даёт пользовательским программам инструменты для работы с низкоуровневыми инструкциями. Архитектуры отличаются набором инструкций, доступных ЦП. Определяют формат их кодирования.
Блок управления (eng. Control Unit или сокращённо CU) управляет потоками данных внутри ЦП, координирует совместную работу всех компонентов. «Ведёт» поступившие данные от входящего запроса до завершения вычислений и отправки готового результата обратно.
Чем занимается CU:
Блок управления — «мозг» ЦП. Он заставляет остальные детали процессора функционировать в связке, координирует работу так, чтобы свободные вычислительные мощности не простаивали напрасно.
Цикл выполнения инструкций начинается с фазы выборки. На этом этапе ЦП извлекает инструкции из памяти. Блок управления привязывает адреса памяти к соответствующим выполняемым инструкциям. Инструкция загружается в регистр команд.
После фазы выборки ЦП переходит к фазе декодирования, интерпретируя инструкции, полученные из памяти. Задаёт условия, необходимые для совершения операции. Идентифицирует операнды (все объекты, над которыми будут проведены вычисления). Этот этап подготавливает ЦП к непосредственному выполнению инструкции.
Arithmetic Logic Unit, или сокращённо ALU, занимается арифметическими и логическими операциями. Выполняет широкий спектр элементарных вычислений. Блок управления засылает задачу для вычисления, набор инструкций и сценарий их обработки. АЛУ манипулирует этими данными, выполняя задание.
Функции ALU:
CU — это самостоятельный блок, оперирует целым набором инструкций, полученных от пользователя. ALU — вычислитель, который решает отдельные задачи по запросу и отдаёт обратно готовый результат.
Команды относятся к инструкциям, которые нужно выполнить процессору для решения задачи. Информация записывается в память, считывается из неё и по необходимости сохраняется/удаляется. Есть несколько типов памяти. Чем ближе хранилище к ядру процессора, тем выше скорость обработки, но ниже ёмкость. Кроме прочего, CPU обязан корректно выстраивать иерархию памяти: ключевую информацию держать поближе к ядру, а малозначимую — выносить на периферию.
Уровни памяти:
При движении по иерархии от ядра к периферии каждый уровень содержит больше памяти, но требует больше времени для доступа. Цель иерархии — отсортировать информацию по количеству запросов. Чем выше частота обращений, тем ближе к ядру она хранится. Так ЦП может обрабатывать максимальное количество запросов к памяти за единицу времени.
Это инструкции, которые инициируют выполнение другой последовательности команд, отклонившись от сценария по умолчанию. Сообщают ЦП о необходимости выполнить код с нового адреса памяти. Это можно использовать для изменения логики программы в зависимости от текущего состояния системы.
Экстраординарное выполнение относится к специализированным инструкциям или режимам, которые расширяют возможности ЦП за пределы базового набора арифметических и логических операций. Может включать векторные инструкции для параллельной обработки, криптографию (шифрование данных), специализированные инструкции аппаратной обработки мультимедиа и многое другое.
.jpg)
Ускоритель — это аппаратный блок, который разгружает ЦП, выполняя определённые задачи вместо него. Отличается узкой специализацией, адаптирован под выполнение определённого типа вычислений. Например, рендеринга графики (GPU) или нейроморфного моделирования (NPU). Актуальные тенденции в развитии серверного оборудования включают в себя многоядерность, а также интеграцию с ИИ и нейросетями.
Многоядерность — это метод повышения производительности, основанный на размещении нескольких физических ядер ЦП на одном кристалле. Каждое ядро решает свою задачу, обрабатывая отдельный набор инструкций. Дробление сложных задач на большое количество простых этапов, которые обрабатываются параллельно, позволило повысить производительность серверного оборудования, не поднимая тактовую частоту. А значит, избегая излишнего нагрева и энергопотребления.
Концепция многоядерности оказалась настолько успешной, что сегодня распространилась на вычислительные системы всех типов — от настольных ПК и ноутбуков до мобильных устройств.
На аппаратном уровне ЦП представляет собой интегральную схему (чип). Миллионы и миллиарды крошечных электрических деталей-транзисторов объединяют в функциональные блоки и напаивают послойно на кремниевую пластину. Транзистор — фундаментальный строительный блок процессора. Действует как переключатель, контролируя потоки электрического тока внутри процессора, позволяя ему выполнять элементарные вычисления.
Компоненты стандартного серверного CPU:
В комплект также входят контактные площадки, соединяющие процессор с элементами материнской платы.
Есть 2 способа повысить производительность процессора — улучшить аппаратную часть или оптимизировать схему расположения блоков на кристалле. Поскольку возможности традиционного «кремния» практически упёрлись в потолок, а разработка новых экзотических материалов продвигается слишком медленно, вендорам пришлось сосредоточиться на втором варианте.
В компьютерной архитектуре конвейерная обработка — это метод разбиения крупной задачи на более мелкие, которые можно выполнять параллельно. Конвейер — это серия блоков задач, соединенных в цепочку, в которой каждый блок передает свои выходные данные следующему в последовательности. Инструкции входят с одного конца и выходят с другого.
Самый простой пример — сборочная линия автомобиля. В начало конвейерной цепи поступает каркас авто, который за несколько этапов «обрастает» запчастями и деталями. Причём на каждом этапе работа делается не с нуля, а с момента логического завершения предыдущего. В итоге процессор выполняет задачи предсказуемо и упорядочено.
Этапы типичного конвейера ЦП:
Конвейерная обработка не сокращает время выполнения отдельной инструкции, но увеличивает количество инструкций, которые обрабатываются параллельно. И укорачивает задержку между завершенными инструкциями, т. е. «пропускную способность». За счёт этого и достигается преимущество в скорости.
Суперскалярная архитектура — это метод параллельных вычислений, разработанный для выполнения нескольких процессов одновременно в течение одного такта. Ускоряет работу обычного «конвейера», параллельно прогоняя сразу несколько конвейерных команд через блоки управления в ядрах процессора. Использует параллелизм на уровне команд для повышения пропускной способности.
Простыми словами:
Чтобы провернуть такой трюк, задействуют все простаивающие вычислительные мощности. Например, при выполнении инструкции, извлекающей значение из памяти, АЛУ будет простаивать. На суперскалярной архитектуре это время занято вычислением параллельного процесса.
Преимущества суперскалярной архитектуры:
Из-за недостатков — особая чувствительность к качеству низкоуровневого кода.
Философия CISC — выполнить максимальное количество операций в рамках одной инструкции. Или, говоря проще, одна команда — несколько действий. Задача — сократить количество инструкций, нужных для работы программ. Цель — упростить порог вхождения для программистов.
Из других плюсов — несколько режимов адресации. Разработчику становится проще создать свой набор инструкций под предпочтительный язык высокого уровня.
Особенности процессоров CISC:
CISC-архитектура позволяет процессору выполнить задачу с минимальным количеством низкоуровневого кода. Команды выбранного языка высокого уровня не нужно конвертировать в язык ассемблера. Из недостатков — снижение эффективности на высоконагруженных системах (например, серверы). Не поддерживает конвейерную обработку инструкций.
Каноничные примеры архитектуры — хорошо нам знакомые x86 и x86-64.
В противовес CISC ориентируется на небольшие высокооптимизированные наборы инструкций. Реализуется принцип 1 команда = 1 действие. Команды в RISC короче. Инструкции простые, выполняются по одной за такт.
Преимущества архитектуры:
Из-за таких особенностей решение задачи требует большего количества инструкций. Процессорам RISC требуется больше места для хранения дополнительных инструкций, что увеличивает расход регистровой и кэш-памяти.
Возводит концепцию RISC в абсолют. Команды предельно минималистичны. Использованы только базово необходимые инструкции. Каждая выполняет только одну операцию низкого уровня.
Сильные стороны MISC — феноменальная скорость и отказоустойчивость. Но за это приходится платить скудной функциональностью. Архитектуре не хватает универсальности. Её область применения ограничена специализированным оборудованием, где эффективность и отказоустойчивость имеют первостепенное значение. Например, космос, авиация, военная промышленность.
Как видно из названия, VLIW (very long instruction word) — это архитектура очень длинных командных слов. Процессоры на её основе пытаются добиться параллелизма на уровне команд, кодируя максимальное количество операций в один командный запрос. Но в отличие от CISC, всю работу по планированию и оптимизации VLIW-процессор сваливает на компилятор.
Из ожидаемых преимуществ: потенциально высокая производительность, низкий порог вхождения для разработчиков ПО. Вместе с тем возникает «бутылочное горлышко» в виде самого компилятора. Если он работает неэффективно, система становится перегруженной и неповоротливой.
Чтобы сократить время доступа к памяти, часто используемую информацию нужно хранить поближе к ядру. Это ускоряет отклик, повышает общую производительность системы. В ограниченную регистровую память влезают только базовые инструкции. Остальное пишется в кэш.
Раньше существовал только один уровень cash-памяти. Современные «камни» оснащены трёхуровневым кэшем: L1, L2 и L3. С каждым слоем растёт ёмкость, но падает скорость. Причём у каждого ядра своя персональная кэш-память. Нужный объём всегда в наличии и не засоряется посторонними запросами.
DSP (eng. digital signal processor) — это узкоспециализированный тип процессора. Обрабатывает цифровые и аналоговые сигналы в реальном времени. Оснащён набором специфических инструкций, поэтому справляется с такими задачами быстрее и с меньшими затратами энергии, чем обычный настольный или серверный CPU.
DSP находят применение в:
Часто оборудование на базе DSP используется в качестве ускорительных блоков для разгрузки ЦП при работе со сложными специфическими задачами.
Выражено в общем количестве электроэнергии, потребляемой во время работы. Измеряется в ваттах (Вт). Показатель зависит от архитектуры, тактовой частоты, нагрузки, а также заложенных производителем энергосберегающих технологий (DVFS, Power Gating, C-states, Cache Hierarchy Optimization, Task Scheduling and Power Management).
Умение переключать неиспользуемые мощности в спящий режим, динамическое изменение нагрузки, оптимизация иерархии кэша и перенаправление простых задач на энергоэффективные ядра позволяет современным процессорам оставаться «холодными» и потреблять минимально необходимое количество энергии.
Так называют температурный диапазон, при котором чип способен отрабатывать в штатных условиях. «Запекание» приводит к деградации кристалла. Поэтому в каждом CPU заложен механизм защиты от перегрева.
Тепловое дросселирование (или более привычный нам термин «троттлинг») — это искусственное занижение тактовой частоты процессора. Включается автоматически, предотвращая перегрев и потенциальное повреждение. Если система работает медленно, не спешите ругать «камушек». Возможно, его потенциал не раскрывается на 100% из-за слабого охлаждения.
Чем выше энергопотребление процессора, тем сильнее он греется. Во время работы чипы выделяют тепло, которое необходимо эффективно рассеивать, чтобы предотвратить перегрев и троттлинг. Большая часть вычислительного оборудования использует стандартные варианты охлаждения:
В отдельных случаях, например, для высоконагруженных серверов или интегральных схем специального назначения, используют иммерсионное охлаждение. Вычислительное оборудование полностью погружают в резервуар с диэлектрической жидкостью, чтобы максимально увеличить площадь и эффективность теплоотдачи.
Температуру микропроцессора измеряют с помощью встроенных термодатчиков и внешних инструментов контроля температуры. Современные материнские платы считывают температуры в режиме реального времени, что позволяет использовать автоматический контроль температуры процессора. Система сама регулирует интенсивность обдува радиатора охлаждения, оптимизируя воздушный поток в системе.
Необязательно быть опытным автолюбителем и досконально разбираться в устройстве ДВС, чтобы успешно пользоваться колёсным транспортом каждый день. Такая же история и с процессорами. Не волнуйтесь, если ваши знания в теме носят лишь поверхностный характер. IT-инженеры ittelo.ru отлично разбираются в проблемах железа. Опишите задачи, которые нужно решить, и ориентировочный бюджет, а мы предложим топ-варианты в выбранной ценовой категории.