Найти в Дзене
Mizhgunit

Больше ядер = лучше?

Обычно при выборе процессора, все в первую очередь обращают внимание на количество ядер. Чем их больше - тем процессор дороже и быстрее, все ведь логично? Но почему старые Xeon с 20 ядрами стоят так дешево, ведь больше ядер - лучше? И как тогда объяснить, что самые быстрые игровые процессоры - это 6-ядерники? Давайте разбираться. Вот вы можете сказать, что такое «ядро»? Это вычислительный модуль, который, по сути, и является процессором. 10-ядерный CPU система видит не как 1 процессор с 10 ядрами, а как 10 отдельных процессоров. Что это нам дает? А то, что ядра можно сравнить с количеством цилиндров в двигателе автомобиля. Чем их больше - тем, как правило, круче мотор. Однако старый V12 выдаст меньше мощности, чем современный 4-цилиндровый двигатель с лютым наддувом, и к процессорам такая логика тоже применима, И количество ядер - это один из факторов, помимо них, есть еще эффективность архитектуры процессора (как правило, чем новее - чем выше, измеряется в количестве исполняемых инстр
Оглавление

Обычно при выборе процессора, все в первую очередь обращают внимание на количество ядер. Чем их больше - тем процессор дороже и быстрее, все ведь логично?

Но почему старые Xeon с 20 ядрами стоят так дешево, ведь больше ядер - лучше? И как тогда объяснить, что самые быстрые игровые процессоры - это 6-ядерники? Давайте разбираться.

Тайна ядер

Вот вы можете сказать, что такое «ядро»? Это вычислительный модуль, который, по сути, и является процессором. 10-ядерный CPU система видит не как 1 процессор с 10 ядрами, а как 10 отдельных процессоров. Что это нам дает?

Так система видит 8-ядерный 16-поточный процессор, то есть она видит 16 отдельных процессоров.
Так система видит 8-ядерный 16-поточный процессор, то есть она видит 16 отдельных процессоров.

А то, что ядра можно сравнить с количеством цилиндров в двигателе автомобиля. Чем их больше - тем, как правило, круче мотор. Однако старый V12 выдаст меньше мощности, чем современный 4-цилиндровый двигатель с лютым наддувом, и к процессорам такая логика тоже применима,

На скорость работы влияет много факторов

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

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

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

-2

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

Что это значит на практике?

Для примера возьмем два процессора - AMD FX 8100 и Intel Core i3 6100. Первый представляет из себя 8-ядерник (правда, с 4 блоками FPU, которые обслуживают сразу по два ядра), второй имеет только 2 ядра с многопоточностью (4 потока).

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

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

Ну что за некро-примеры, аффтар, можно на современном железе?

Можно. Зачем? Простите.

Итак, у нас есть игра - допустим, условный Hogwarts Legacy, движок которого способен адекватно распределить нагрузку только на 6 ядер. Под эту игру мы соберем два условных компьютера, у которых будет отличаться только процессор, в первом случае, это будет 6-ядерный Ryzen 5 9600X, во втором - 16-ядерный Ryzen 9 9950X. Разница в "сухой" производительности у них 2.5-кратная, однако при запуске игры мы увидим одинаковый FPS.

-3

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

Но если мы запустим программу для 3D-моделирования, то тут 9950X буквально улетит вперед, ибо та же Cinema 4D легко утилизирует хоть 64 ядра. Подозреваю, у вас возникла мысль из разряда "а что, если..."

Нет, если мы поставим два 28-ядерных Xeon'а, и сравним их с тем же Ryzen, то обнаружим, что последний (несмотря на в 3.5 раза меньшее число ядер), все еще впереди. Тут как раз и стоит вспомнить про архитектуру, которая у 9950X намного эффективнее, чем у старых Xeon.

Ну и как тогда выбирать процессор, на какие параметры смотреть?

Ответ лаконичен и прост - ни на какие. Буквально. Сухие цифры позволяют сравнить только, еще раз, ТОЛЬКО процессоры одного производителя в рамках одного же поколения. Чисто по циферкам, мы можем сравнить Ryzen 9 9900 и 9950X, или i5 13600K и i9 13900K, но если попробуем сравнить, например, i7-7700 и i7-14700, то сравнение получится не информативным.

По циферкам, i7-7700 имеет на 20% меньшую частоту и всего в 5 раз меньшее число ядер, и по логике, он должен быть в 7 раз медленнее своего нового собрата. На практике, он медленнее всего в 4 раза - погрешность всего-то на 150%. И чем больше разница между архитектурами, в зависимости от конкретных архитектур - тем больше будет погрешность. Если говорить еще проще, то сравнивать два процессора по характеристикам - это как пытаться понять мощность двигателя чисто по его внешнему виду.

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

Сейчас только так можно купить железку, которая точно подойдет под ваши задачи. И относится это не только к процессорам, но и к видеокартам, оперативной памяти, и так далее. Не верьте в мифы!

Наука
7 млн интересуются