Чем отличаются процессорные ядра, логические процессоры и потоки CPU

Россия+7 (910) 990-43-11
Обновлено: 2025-05-05

При выборе процессора необходимо учитывать множество факторов: количество ядер, потоков, тактовую частоту, объём кэш-памяти, возможности разгона, рабочие температуры, тепловыделение (TDP), а также показатель IPC (instructions per cycle). Этот список можно продолжать и продолжать.

Естественно, что все эти характеристики могут запутать, когда речь заходит об их назначении.

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

Что делает каждый из этих компонентов уникальным? Для чего они используются? Сколько вам нужно для ваших рабочих нагрузок?

И самое главное: работают ли потоки или логические процессоры так же, как ядра?

Прежде чем мы начнём, давайте подробнее рассмотрим, что они означают:

Что такое ядра центрального процессора

Ядро ЦП – это, собственно, и есть физическая форма процессора.

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

Обратите внимание, что каждое ядро может одновременно выполнять только одну задачу.

Как работают ядра центрального процессора

Если ядер ЦП недостаточно для количества обрабатываемых задач, происходит снижение производительности.

Это называется накладными расходами на переключение контекста. Чтобы ядро могло обрабатывать разные задачи, одну задачу нужно удалить, а следующую загрузить. Говоря иначе, Context Switch Overhead – это когда ЦП тратит много времени на переключение между задачами, а не на их обработку.

Это станет важным, когда мы посмотрим на потоки чуть ниже.

Что такое тактовая частота ядра?

Тактовая частота ядра является мерой его скорости обработки задач, которая не обязательно является мерой его общей производительности.

Если быть более точным, термин «тактовая частота» относится к количеству циклов вычислений, которые ядро выполняет в секунду. Этот показатель в настоящее время измеряется в гигагерцах: миллиарды циклов в секунду.

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

Один ЦП может обрабатывать больше за цикл, чем другой ЦП, просто из-за своей архитектуры.

Что такое базовая и повышенная тактовая частота?

Базовая тактовая частота ЦП – это минимальная частота, с которой ЦП будет работать в режиме ожидания или при обработке низкоуровневых рабочих нагрузок.

Напротив, тактовая частота Boost – это показатель того, насколько производительность ЦП может быть повышена при выполнении более ресурсоемких задач и процессов.

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

Функция процессоров Intel – Turbo Boost

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

Эта статья подробно рассматривает эту тему, если вы хотите узнать больше.

Лучше иметь больше ядер или меньше, более мощных ядер?

Ответ на этот вопрос зависит исключительно от типа рабочих нагрузок, с которыми будет работать ваш компьютер.

Если вы один из наших постоянных читателей, вы, скорее всего, знакомы с терминами «активные» и «пассивные» рабочие нагрузки.

Активная и пассивная работа для центрального процессора компьютера

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

Типичные примеры активных рабочих нагрузок включают взаимодействие с областью просмотра приложения в режиме реального времени в моушн-дизайне, 3D-моделировании, редактировании видео или играх.

С другой стороны, пассивные рабочие нагрузки – это задачи, которые обычно легко распараллеливаются и которые можно оставить без присмотра. В основном это относится к задачам рендеринга, таким как рендеринг CPU или GPU, рендеринг 3D, рендеринг видео.

Активные рабочие нагрузки

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

Пассивные рабочие нагрузки

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

Что такое потоки процессора

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

Но, что это за «потоки»?

Поток в процессоре – это набор данных, который отправляется из приложения в ЦП для обработки.

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

Помните о накладных расходах на переключение контекста, о которых мы говорили в разделе «Ядра»?

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

Это позволяет оптимизировать процесс постановки задач в очередь и более эффективно использовать реальное ядро.

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

Что такое гиперпоточность?

Гиперпоточность в процессорах Intel и SMT (одновременная многопоточность) в процессорах AMD – это названия процесса разделения физических ядер на виртуальные, что позволяет одному ядру более эффективно обрабатывать несколько потоков.

Как работает гиперпоточность в современных процессорах

По сути, это способ планирования потоков, которые будут выполняться ядром без простоев. Это достигается путём подготовки потока к обработке во время выполнения другого потока.

На самом деле, Hyperthreading и SMT – это не одновременная обработка двух потоков одним физическим ядром, а эффективный способ подготовки двух потоков к оптимизированной обработке – по одному за раз.

Все ли процессоры поддерживают Hyperthreading или SMT?

Большинство современных процессоров поддерживают технологию Hyperthreading или SMT, что позволяет им запускать два потока на ядро.

Однако есть и такие модели, как Intel Celeron или AMD Ryzen 3 начального уровня, которые не обладают этой технологией. В таких процессорах работает только один поток на ядро.

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

Являются ли потоки такими же быстрыми, как ядра?

Потоки не могут сравниться по скорости с ядрами. Однако технология гиперпоточности или SMT (Simultaneous Multi-Threading) позволяет более эффективно планировать задачи, используя те части ядра, которые в данный момент не заняты другой задачей.

В лучшем случае, производительность потоков может быть примерно на 50% выше, чем у физического ядра.

Вам нужен ЦП с поддержкой Hyperthreading или SMT?

Это зависит от характера вашей деятельности.

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

Если вы выполняете активные задачи, такие как 3D-моделирование или игры, в течение обычного дня, то, вероятно, не будете использовать все свои ядра. Это связано с тем, что такие задачи сложно распараллелить, и обычно они выполняются только на одном или двух ядрах.

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

Что такое логические процессоры

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

Что такое логические процессоры

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

Таким образом, это произведение (умножение) количества физических ядер на количество потоков, которые может обрабатывать каждое ядро.

Допустим, у вас есть 8-ядерный 8-поточный процессор. Количество логических процессоров у вас будет 8. Это значение является произведением количества физических ядер (8) и количества потоков, которые они могут обрабатывать (1).

Но что, если ваш процессор поддерживает гиперпоточность?

Что ж, тогда каждое ядро может обрабатывать два потока, поэтому 8-ядерный процессор будет иметь 8×2 = 16 логических процессоров.

Как узнать, сколько логических процессоров у вашего процессора?

Если вы хотите узнать, сколько логических процессоров имеет ваш ЦП, просто откройте диспетчер задач в ОС Windows (нажмите одновременно клавиши Ctrl + Shift + Esc) и откройте вкладку Производительность, затем выделите вкладку ЦП и посмотрите на нижнюю правую часть окна.

Прямо под количеством ядер ЦП будет количество логических процессоров.

Логические процессоры и ядра в диспетчере задач Windows

Логические процессоры против физических ядер

Что важнее: логические процессоры или физические ядра?

Ответ очевиден: физические ядра.

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

Логические процессоры (или потоки) в лучшем случае способны увеличить производительность на 50% в задачах, которые хорошо поддаются параллелизму, таких как рендеринг на CPU.

Однако физические ядра могут обеспечить 100% прирост производительности в подобных задачах.

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

Выводы

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

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

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

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

Однако, когда у вас есть две руки (два потока), вторая рука может класть еду в рот, пока первая ищет следующую порцию.

Теперь я чувствую голод…


5.0/4