Процессор: потоки или ядра
На рынке компьютерных комплектующих присутствует немало процессоров, у которых число потоков больше числа физических ядер. В некоторых задачах эти «виртуальные ядра» могут дать существенный прирост в производительности, в других они практически бесполезны.
Ядро — это физически обособленная вычислительная единица процессора, способная в один момент времени выполнять одну последовательность команд. Если ядро одно, а последовательностей требуется выполнять несколько, оно быстро переключается между ними, выполняя задачи поочередно.
Поток (применительно к процессору), или виртуальное ядро – результат реализации вычислений, при котором одно физическое ядро способно программно разделять свою производительность и работать над несколькими последовательностями команд одновременно. Простыми словами, ЦП делает вид для операционной системы и программ, что у него больше ядер, чем есть на самом деле. Убедиться в этом можно, открыв диспетчер устройств или другую программу для мониторинга комплектующих.
Гиперпоточность позволяет распараллеливать вычисления более эффективно – если одно виртуальное ядро завершило работу над своей задачей и находится в режиме ожидания, его ресурсы может использовать другое. В случаях, когда гиперпоточность не поддерживается, эти ресурсы простаивают. Таким образом, поддержка виртуальных ядер может ускорить выполнение некоторых задач, хотя, разумеется, она не так хороша, как наличие дополнительных физических, и удвоения производительности ожидать не стоит.
Иллюстрация концепции потоков/виртуальных ядер:
Рассмотрим следующий упрощенный пример: если двухъядерный процессор с двумя потоками работает с четырьмя последовательностями команд одновременно, а производительность одного ядра для одной последовательности избыточна, то общая производительность будет ниже, чем в случае, если на месте такого процессора будет вариант с двумя ядрами, но с четырьмя потоками, поскольку на переключение между задачами тратится дополнительное время, и часть ресурсов иногда простаивает. А вот если вычислительных ресурсов одного потока недостаточно для выполнения одной последовательности, то виртуальные ядра почти не помогут – нужны дополнительные физические.
Распараллеливание нагрузки при помощи технологии Intel Hyper-Threading
Функции CPU
Какие функции выполняет центральный процессор CPU? Главная функция ― управление всеми операциями компьютера: от простейших сложений чисел на калькуляторе до запуска компьютерных игр. Если рассматривать основные функции центрального процессора подробнее, CPU:
- получает данные из оперативной памяти, выполняет с ними арифметические и логические операции, передаёт их на внешние устройства,
- формирует сигналы, необходимые для работы внутренних узлов и внешних устройств,
- временно хранит результаты выполненных операций, переданных сигналов и других данных,
- принимает запросы от внешних устройств и обрабатывает их.
Для чего нужны многоядерные процессоры
Многоядерным процессором называется центральный микропроцессор, который содержит два или более вычислительных ядер в одном корпусе или на одном кристалле процессора.
Первый микропроцессор был разработан корпорацией Intel в 1997 году и носил название Intel 4004. Он работал на тактовой частоте 108 кГц и состоял из 2300 транзисторов. Со временем требования к вычислительной мощности процессоров начали расти. Продолжительное время ее увеличение происходило за счет повышения тактовой частоты. Однако, на определенном этапе развития микротехники, разработчики столкнулись с рядом физических барьеров, связанных с приближением технологических процессов изготовления к размерам атома кремния, из которого изготавливается ядро.
Таким образом, разработчики пришли к мысли создания многоядерного процессора. В многоядерных чипах работают два или более ядер одновременно, тем самым позволяя при меньшей тактовой частоте обеспечивать большую производительность, за счет параллельного выполнения двух и более независимых потоков заданий.
Производительность одного и нескольких ядер в играх
Когда самыми распространенными были одноядерные процессоры, игры разрабатывались именно для них — они никак не использовали мощь дополнительных ядер, и покупать многоядерные CPU ради увеличения производительности было незачем. Но эти времена давно в прошлом.
Взрывная популярность двух- и четырехъядерных процессоров позволила разработчикам игр эффективно разделить вычислительные процессы и добиться куда более интересных результатов, чем раньше. Стоит отметить, что очень важную роль в этом процессе сыграли консоли — в 2013 Microsoft и Sony выпустили Xbox One и PlayStation 4, которые используют восьмиядерные чипсеты AMD. Вскоре после этого четырехъядерные процессоры стали «золотым стандартом» на ПК, а топовые восьмиядерные — идеальным выбором геймеров.
Впрочем, мощность каждого из ядер до сих пор остается более важной, чем их количество. Достаточно взглянуть на результаты внутриигровых тестов флагманских Intel Core i9-9900K и AMD Ryzen 9 3950X — хоть у последнего и вдвое больше ядер, первый немного выигрывает за счет их прозводительности.
Таким образом, если вы хотите любой ценой получить самый мощный игровой ПК, в данный момент лучшим выбором является платформа Intel. С другой стороны, AMD предлагает куда более сбалансированные процессоры, которые отлично себя показывают во всех задачах (в играх они уступают совсем немного) и стоят заметно дешевле.
Если же вы хотите собрать не слишком дорогой компьютер, то стоит обратить внимание на шестиядерные CPU — например, Intel Core i5-9600K и AMD Ryzen 5 3600X.
Ну и, конечно, не стоит думать, что четырехъядерные процессоры совсем для игр не годятся — это вполне себе бюджетный вариант, который прослужит еще пару лет. Но и только — не стоит ждать от них хорошей производительности в играх, которые будут выпускать для консолей следующего поколения.
Если же говорить о CPU с восемью ядрами и более, они используются в дорогих ПК, но только в связке с достаточно мощной видеокартой. Нет никакого смысла в сочетании i9-9900K и GeForce GTX 1660 — для него понадобится что-то уровня хотя бы RTX 2070.
Отдельно нужно сказать о стриминге и записи видео во время игр. Если вы хотите заниматься этими вещами и стать новым Shroud или хотя бы Lirik, то в идеале вам понадобится отдельный ПК с мощным восьмиядерным CPU для кодирования видео в реальном времени. Если возможности купить второй дорогой компьютер нет, нужно выбирать CPU с восемью или более ядрами для первого — ему придется одновременно работать и с игрой, и с программой для стриминга / записи, а это необыкновенно сложная комбинация (впрочем, многое зависит от выбранной игры — если она совсем не «прожорлива» по отношению к CPU, может хватить и четырех ядер).
Технические характеристики процессора
Хотя все процессоры выполняют одни и те же — инструкции процесса, — спецификации процессора различаются в зависимости от варианта его использования. Давайте обсудим несколько основных характеристик, о которых вам следует знать.
32- и 64-битные процессоры
Есть два основных типа процессоров: 32-битные и 64-битные. Эти числа относятся к тому, сколько бит может быть передано одновременно между разными частями ЦП. Чем выше количество битов, тем быстрее будет процессор.
Тактовая частота
Тактовая частота означает, сколько инструкций процессор может обработать в секунду. Обычно они представлены в гигагерцах (ГГц), и вы часто будете видеть это число в спецификациях процессора. Чем выше тактовая частота, тем быстрее будет работать процессор.
В большинстве случаев сравнивать тактовую частоту необходимо только при оценке процессоров одного поколения. Это потому, что, хотя тактовая частота является фактором, влияющим на скорость процессора, есть и другие компоненты, которые имеют такое же значение.
L2 / L3 кэш
Память L2 и L3 — это место, где ЦП хранит обычно используемые данные. Вместо того, чтобы обращаться к ОЗУ каждый раз, когда ЦП необходимо обработать инструкцию, ЦП может хранить некоторые инструкции, которые часто возникают внутри себя. Кэш работает быстрее, чем ОЗУ, потому что он является частью процессора, чем больше у вас кеша, тем быстрее будет ваш процессор.
Основные характеристики ядер ЦП
Ядро – физический элемент процессора (не путать с логическими ядрами — потоками), который влияет на производительность системы в целом.
Каждое изделие построено на определенной архитектуре, что говорит об определенном наборе свойств и возможностей, присущих линейке выпускаемых чипов.
Основная отличительная особенность – техпроцесс, т.е. размер транзисторов, используемых в производстве чипа. Показатель измеряется в нанометрах. Именно транзисторы являются базой для ЦП: чем больше их размещено на кремниевой подложке – тем мощнее конкретный экземпляр чипа.
Возьмем к примеру 2 модели устройств от Intel – Core i7 2600k и Core i7 7700k. Оба имеют 4 ядра в процессоре, однако техпроцесс существенно отличается: 32 нм против 14 нм соответственно при одинаковой площади кристалла. На что это влияет? У последнего можно наблюдать такие показатели:
- базовая частота – выше;
- тепловыделение – ниже;
- набор исполняемых инструкций – шире;
- максимальная пропускная способность памяти – больше;
- поддержка большего числа функций.
Иными словами, снижение техпроцесса = рост производительности. Это аксиома.
Технические особенности
Загруженность ядер зависит от занятости устройства. Каждый элемент способен самостоятельно, если при настройках BIOS или ПО.
Определить количество комплектующих можно несколькими способами:
- В инструкции к компьютеру (описаны все технические характеристики центрального процессора)
- Диспетчер устройств (в списке есть детальная информация о комплектации компьютера)
- Программы (CPU-Z, AIDA64).
В многоядерном устройстве работают все элементы, но на разной частоте, чтобы вычисления были максимально эффективными. Каждая компьютерная программа оптимизирована под определенное количество ядер. Превышение числа элементов не увеличит функциональность больше максимума.
Включить все комплектующие можно в самом Windows или в BIOS. Второй вариант нужно использовать, только если ПК работает нестабильно. Так как BIOS у разных производителей и моделей неодинаковый, необходимо разбираться с каждым случаем отдельно. Такую процедуру может проделать только компьютерный специалист.
1 элемент двухъядерного процессора будет работать самостоятельно, только при запуске ОС. После полного включения компьютера, начинает функционировать второе ядро.
Что выбирать: ядра или потоки?
Поскольку ядра – это физические «мозговые центры», занимающиеся вычислениями, то за общую производительность центрального процессора отвечают именно они. Поэтому количеством ядер, ну и еще частотой процессора определяется его производительность.
Но и количество потоков также заслуживает внимания. Разберем на примере:
Двухъядерный процессор с двумя потокам нагружается операционной системой четырьмя параллельными последовательностями команд, например, от открытых игр и программ. Команды так и останутся в четырех «очередях», и ядра будут попеременно производить вычисления из каждой. При этом производительность ядра зачастую избыточна для обработки одной команды. Поэтому часть вычислительного потенциала ядра, а значит и процессора останется в резерве.
Если же взять аналогичный процессор с двумя ядрами, но уже на четыре потока, то все четыре очереди будут задействованы одновременно, по максимуму загружая ядра. Следовательно, задачи будут решены быстрее, а простоя вычислительных мощностей удастся избежать.
На практике это дает нам возможность одновременно запускать несколько программ: работать с документами, слушать музыку, общаться в мессенджерах и выполнять поиск в браузере. При этом программы будут работать эффективно, быстро, без торможений и зависаний.
В производственных масштабах для комплектации рабочих станций или серверов также следует отдать предпочтение большему количеству потоков при равных числах ядер. За исключением особых случаев, таких как работа с 1С, когда решающую роль играет тактовая частота, и ряда других приложений, активно использующих TCP/IP стек. В этих случаях распараллеливание вызывает существенную задержку при обработке пакетов .
Таким образом, чем больше ядер будет в процессоре, тем выше его производительность и скорость выполнения различных задач. А удвоенное количество потоков позволяет повысить эффективность процессора и задействовать его технический потенциал на полную.
В заключении интересное видео от компании Intel о том, как они создают микрочипы.