Найти в Дзене
Народный ДОобЗОР

Как выбрать процессор для сервера или ПК? Обзор важных параметров

Оглавление

Здравствуйте, мои дорогие подписчики! (если ещё не подписчики - самое время сделать это!). Настала пора затронуть достаточно болезненную тему - как выбрать процессор для игрового компьютера (или офисного), сервера, или рабочей станции. В этой статье я дам рекомендации по выбору такого элемента "железа", расскажу про все самые важные характеристики ЦПУ.

Итак, прежде всего надо понять, что процессор занимается вычислениями. Чем больше вычислений может выполнить процессор за единицу времени - тем он быстрее и шустрее. Так как любые математические операции связаны с данными, их надо откуда-то брать и куда-то складывать. Как Вы уже могли догадаться, речь про оперативную память: действительно, процессор взаимодействует с ОЗУ, куда подгружаются данные с SSD или HDD (жёсткого диска).

Но надо понимать, что по сравнению даже со скоростным NVME-накопителем, ОЗУ обладает бОльшей скоростью чтения/записи, процессор работает намного быстрее. Оперативная память всегда была, есть, и будет достаточно слабым звеном в компьютерной цепочке обработки информации. Многие сейчас могут подумать: причём тут ОЗУ, ведь для процессора самое главное - количество ядер/потоков и его частота? И они будут отчасти правы. Я же считаю, что для вычислительного устройства наиболее важным является размер его Кэш-памяти.

Структура взаимодействия процессора с данными
Структура взаимодействия процессора с данными

Если не вдаваться в детали алгоритмов работы, можно смело утверждать, что Кэш-память - это сверхскоростная память небольшого объёма (до нескольких сотен Мб), предназначенная для сверхбыстрого обеспечения процессора требуемыми для вычисления данными.

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

Виды и объём кэш-памяти процессора

Существует кэш первого уровня L1, кэш второго уровня L2 и третьего - L3.

Кэш первого уровня L1 - это самый быстрый вид кэш-памяти, установлен рядом с вычислительным ядром и имеет размер в пределах 64кб (в большинстве случаев).

Кэш второго уровня L2 - находится сразу за кэшем L1, чуть-чуть медленнее, но зато имеет объём до 1Мб (как правило). Также работает на отдельно взятое ядро.

Кэш третьего уровня L3 - самый большой кэш (до 256Мб), работает на весь процессор, является самым медленным кэшем, но всё ещё в десятки раз быстрее, чем оперативная память.

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

Сколько нужно ядер?

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

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

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

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

Поэтому, если Вы выбираете процессор и у Вас куча денег - можете брать тот, где ядер побольше) Но смысла это будет иметь мало. Я же предлагаю трезво оценить потребность в ядрах. Например, современные игры (и те, которые выйдут в свет до 2025-2026 годов включительно) не будут использовать больше, чем 8 ядер. Поэтому, для бытового ПК достаточно 8-ядерного процессора. Скажу больше, в 90% случаев будет хватать даже 6-ядерного.

Добавьте описание
Добавьте описание

Да, есть исключения. Например, программы для видеомонтажа, специальные САПР для проведения расчетов или моделирования физических процессов, которые умеют работать и с 16, и с 32 ядрами. То есть, надо чётко понимать, умеет ли ПО, которое Вы планируете использовать, работать с большим количеством ядер.

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

Про многопоточность

Когда мы видим, что 4-ядерный процессор имеет 8 потоков, многие себе представляют двойное ускорение производительности, но это совершенно не так. Забегая вперёд могу сказать, что если мы представим себе два процессора, на первом будет 4 ядра и 4 потока, а на втором 4 ядра и 8 потоков, то у 8-поточной версии прирост производительности в лучшем случае будет составлять 30%, по отношению к 4-поточному. А теперь давайте подробнее (но "на пальцах").

Каждое ядро выполняет последовательно математические операции, которые ему поручает операционная система в виде задач. Задачи могут быть разные с точки зрения рационального использования ресурсов ядра: в одном случае, задача будет сводиться к тому, чтобы сложить 2+2, а в другом случае - каждое число из столбца таблицы на 200 строчек умножить на 8.

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

Так вот многопоток (гипертрейдинг) - это программно-аппаратное разделение одного физического ядра на два виртуальных потока. Когда мы используем 4-ядерный процессор без гипертрейдинга (значит, потока тоже 4), операционная система "видит" 4 исполнителей для своей задачи. Если же потоков 8 - то и исполнителей она видит 8, а значит, может раздать бОльшее число заданий.

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

Таким образом, многопоточность позволяет рационально использовать вычислительный ресурс ядра. Иными словами, браузер с 8-ю вкладками, в каждой из которых воспроизводится видео, будет одинаково быстро работать на 8-ядерном процессоре с 8 потоками, и на 4-ядерном процессоре с 8 потоками. Разница лишь в том, что 8-ядерный процессор будет нагружен на 50%. Это может быть не криминально с точки зрения бытового иррационализма, но в профессиональной сфере это выльется в копеечку, особенно если речь идёт не про один ПК, а про десятки.

А что там с тактовой частотой?

Вот тут как раз всё максимально просто: чем выше частота, тем больше операций за единицу времени выполнит каждое ядро. Всё. Единственное, что надо понимать, что бессмысленно брать процессор с тактовой частотой под 5ГГц, снабжая его дешёвенькой оперативной памятью с частотой 2133 МГц. Данные в процессор будут поступать оооооочень медленно, и он не будет нагружен с такой памятью даже на 40%.

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

Возьму старый Core i7-7700 за 5 000р, вместо Core i3-12100 за 10 000р

Ага, и будет сумасшедшая разница в производительности. Не стану ходить вокруг да около, а просто приведу сравнение их характеристик:

Сравнение i7-7700 и i3-12100
Сравнение i7-7700 и i3-12100

И вроде даже как одинаковое количество ядер/потоков и не сильно отличаются частоты. Кэш, правда, у i3 ощутимо побольше, но в остальном-то плюс-минус... Да вот только этот плюс-минус отыгрывает на приросте производительности у i3 аж на 55% в бенчмарке (программа для оценки производительности):

Сравнение процессоров в бенчмарке
Сравнение процессоров в бенчмарке

А знаете, в чём прикол? В том, что i3 у нас двенадцатого поколения, а i7 - седьмого. За эти 5 поколений изменился техпроцесс и архитектура, а также поменялся набор инструкций (кстати, это не точно, так как мне не удалось найти доподлинной информации).

Если не вдаваться в глубокие детали, то смело можно утверждать, что более новые модели процессоров становятся производительнее, имеют более высокую энергоэффективность, поддерживают новые инструкции и правила. По сути дела, инструкции - это микропрограммное обеспечение, которое определяет логику работы ЦПУ. Справедливости ради, оба обозреваемых процессора поддерживают Intel® SSE4.1, Intel® SSE4.2, Intel® AVX2.

Также изменился тип поддерживаемой ОЗУ, что повлекло за собой и возросшие скорости общения с ней:

i3 12 поколения намного быстрее работает с оперативной памятью, почти в два раза
i3 12 поколения намного быстрее работает с оперативной памятью, почти в два раза

Естественно, что отправив "разгружать машины" оба наших процессора, i3-12100 справится с этим намного быстрее.

Встроенное видеоядро -

немаловажный бонус, который может пригодиться при сборке ПК для решения офисных задач, без запуска крутых игр. Кстати, последние модели процессоров со встроенным видеоядром позволяют вполне себе комфортно поиграть даже в серьёзные игры. Посудите сами, AMD Ryzen 5 5600G (стоимостью всего лишь от 10 000р.) может спокойно выдать 37 FPS в Metro Exodus, а в онлайн играх по типу World Of Tanks - выше 100 FPS.

Если же собирается игровой компьютер, наличие встроенного видеоядра в большинстве сценариев не даёт никаких преимуществ. Напротив, если процессор выбирается для сервера или NAS, ЦПУ очень важно иметь встроенное графическое ядро. При первоначальной установке ОС и настройке BIOS всё равно придётся подключать монитор, а держать ради этого отдельную видеокарту в ряде случаев нецелесообразно. Более того, ряд операционных систем попросту откажутся загружаться, если не обнаружат устройство вывода графики.

встроенное графическое ядро в процессоре Intel
встроенное графическое ядро в процессоре Intel

Говоря про серверные процессоры (такие как AMD Epyc или Intel Xeon), следует упомянуть, что видеоядро требуется не всегда. В зависимости от сокета и материнской платы, вывод графики может быть реализован средствами чипсета, либо через видеодрайвер в виде отдельного чипа. Также есть варианты, при которых используется "бытовая" схема для подключения монитора: серверный процессор содержит в себе встроенное графическое ядро.

Тип поддерживаемой оперативной памяти

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

Если мы ведём речь про выбор процессора для NAS или домашнего сервера, нам может потребоваться контроль чётности ЕСС в оперативной памяти. Обязательно поговорим о нём в статье, посвящённой ОЗУ. Пока лишь упомяну, что ЕСС позволяет аппаратно исправлять ошибки данных, которые могут возникать по ряду причин. Ярким примером такой ошибки является "синий экран смерти", который многие из Вас наблюдали.

Синий экран смерти Windows - возникла ошибка в оперативной памяти
Синий экран смерти Windows - возникла ошибка в оперативной памяти

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

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

Возвращаясь к характеристикам процессора, следует понимать, что не любой процессор сможет дать полную нагрузку пропускной способности DDR4. Модуль DDR4 Kingston FURY Beast 32 ГБ имеет пропускную способность 25600 Мб/сек и будет избыточен для процессора AMD Ryzen 5 1500X, который поддерживает лишь скорость 42.671 Гб/с для двухканального режима. То есть, максимальная скорость обмена с одной плашкой ОЗУ составит не более 21335 Мб/с.

Количество линий PCI

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

К примеру, AMD Ryzen 7950X поддерживает до 28 линий PCI, а более старый 5950X лишь 24 линии. Напротив, все серверные CPU имеют намного больше интерфейсных связей. Тот же Intel Xeon E5-2650 v3 располагает 40 линиями PCI, а AMD Epyc 7551p имеет целых 128 линий.

Подведём итоги по параметрам

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

  • Большой объём кэш памяти положительно сказывается на быстродействии. Если процессор выбирается для сервера - кэша должно быть как можно больше (в общем случае).
  • Большое количество ядер определяет возможность выполнения нескольких задач параллельно (например, запуск нескольких приложений). Если предполагается повысить производительность при работе с каким-то отдельным ПО (или в игре), необходимо убедиться в том, что такое ПО может работать с большим количеством ядер. В противном случае, ядра будут простаивать.
  • Многопоточность позволяет повысить эффективность доступных ресурсов. При выполнении операций, в которых процессор "быстро считает" и "долго ждёт данные из ОЗУ" ядро начинает простаивать. Гипертрейдинг позволяет рационально использовать это время простоя.
  • Чем выше тактовая частота, тем большее количество операций будет выполнено за единицу времени. В то же время, процессоры с более высокими частотами, как правило, менее энергоэффективны.
  • Более новые (свежие) модели процессоров имеют современную архитектуру, могут располагать более свежим набором инструкций, что положительно сказывается на производительности и энергоэффективности.
  • Встроенное видеоядро позволит сэкономить при решении офисных задач, не требующих дорогостоящей видеокарты. При построении сервера разумно также отдать предпочтение процессорам со встроенной графикой, чтобы осуществлять первоначальную настройку машины.
  • Не стоит забывать о версии DDR-памяти, которую поддерживает процессор. Если требуется контроль чётности ЕСС, следует уточнить в спецификациях процессора поддержку такой технологии.
  • Количество доступных PCI-линий определяет возможность установки дополнительных периферийных устройств, таких как видеокарты, скоростные NVME-накопители, и прочие слоты расширения.

Intel vs AMD

Не сочтите за попытку столкнуть фанатов этих двух гигантов, выскажу лишь своё мнение:

  • При сборке игрового ПК, я бы отдал предпочтение процессорам от Intel.
  • При сборке ПК для решения профессиональных задач, связанных с многопотоковой обработкой данных, я бы выбрал AMD Ryzen.
  • Для сборки домашнего сервера, я бы выбрал однозначно AMD Ryzen, так как они поддерживают ECC-память.
  • Для сборки профессионального сервера, я бы выбирал AMD Epyc, если требуется упор на производительность. Если же в приоритете гибкость системы и надёжность, тогда рекомендую смотреть в сторону Intel Xeon.
  • Для бюджетных и ультрабюджетных сборок (до 25 000р), я бы однозначно выбирал AMD.

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

А на этом у меня всё, с Вами был Народный ДОобЗОР, всем пока!)