Содержание
У многих процессоров Intel есть поддержка технологии под названием Hyper-threading. Данная технология позволяет выполнять сразу 2 потока команд на одном ядре процессора. Таким образом удается более эффективно использовать вычислительную мощность ядра. Но, технология Hyper-threading используется далеко не во всех процессорах Intel. Технология Hyper-threading присутствует в процессорах Core i3, Core i7, а также в некоторых новых Pentium и мобильных Core i5.
У процессоров AMD с архитектурой Zen также есть технология, создающая по два потока вычислений на ядро. И у AMD также не все процессоры получают поддержку данной технологии.
Самый простой способ узнать сколько потоков в вашем процессоре, это посмотреть в «Диспетчере задач». Для открытия «Диспетчера задач» можно воспользоваться классической комбинацией клавиш CTRL-SHIFT-DELETE. Если у вас операционная система Windows 7 или более новая, то это можно сделать еще и с помощью CTRL-SHIFT-ESC.
После открытия «Диспетчера задач» нужно перейти на вкладку «Быстродействие».
Здесь будет отображаться загруженность процессора и оперативной памяти компьютера. В правой верхней части окна будет отображаться хронология загрузки ЦП. Особенностью данного графика является, то что нагрузка отображается отдельно для каждого из потоков процессора. Поэтому подсчитав количество окошек с графиками можно узнать сколько потоков в процессоре. Например, на скриншоте внизу, отображается 8 графиков с хронологией загрузки процессора, следовательно, на компьютере используется процессор с 8 потоками.
Если у вас Windows 8 или Windows 10, то хронология нагрузки на процессор может отображаться одним графиком. В этом случае вам нужно сначала переключиться на отображение хронологии по логическим процессорам (потокам). Для этого нужно кликнуть правой кнопкой мышки и выбрать «Изменить график – Логические процессоры».
После этого в «Диспетчере задач» появятся отдельные графики для каждого потока вашего процессора. Например, на скриншоте внизу отображается 4 графика, следовательно, в используемом процессоре 4 потока.
Кроме этого, в «Диспетчере задач» Windows 8/10 прямым текстом указывается сколько потоков в процессоре. Сразу под графиками есть блок с информацией. Там в строке «Логические процессоры» указано количество потоков процессора.
Пожалуй, самой известной программой для получения информации о характеристиках процессора является программа CPU-Z. Данная программа является бесплатной, и вы можете скачать ее с официального сайта. Если вы хотите узнать сколько потоков в процессоре, то вам нужно запустить CPU-Z на своем компьютере и посмотреть значение «Threads», которое находится в правом нижнем углу программы на вкладке «CPU». На скриншоте внизу видно, что у процессора 4 потока.
Кроме CPU-Z можно использовать и другие программы. Например, вы можете прибегнуть к бесплатной программе Speccy. Данная программа отображает массу технической информации о вашем компьютере.
Среди прочего с ее помощью можно узнать и количество потоков процессора. Для этого нужно перейти в раздел «CPU» и посмотреть значение «Threads».
Посмотрите также
Главная » Уроки и статьи » Железо
На рынке компьютерных комплектующих присутствует немало процессоров, у которых число потоков больше числа физических ядер. В некоторых задачах эти «виртуальные ядра» могут дать существенный прирост в производительности, в других они практически бесполезны.
Многоядерность и гиперпоточность
Ядро — это физически обособленная вычислительная единица процессора, способная в один момент времени выполнять одну последовательность команд. Если ядро одно, а последовательностей требуется выполнять несколько, оно быстро переключается между ними, выполняя задачи поочередно.
Поток (применительно к процессору), или виртуальное ядро – результат реализации вычислений, при котором одно физическое ядро способно программно разделять свою производительность и работать над несколькими последовательностями команд одновременно. Простыми словами, ЦП делает вид для операционной системы и программ, что у него больше ядер, чем есть на самом деле. Убедиться в этом можно, открыв диспетчер устройств или другую программу для мониторинга комплектующих.
Гиперпоточность позволяет распараллеливать вычисления более эффективно – если одно виртуальное ядро завершило работу над своей задачей и находится в режиме ожидания, его ресурсы может использовать другое. В случаях, когда гиперпоточность не поддерживается, эти ресурсы простаивают. Таким образом, поддержка виртуальных ядер может ускорить выполнение некоторых задач, хотя, разумеется, она не так хороша, как наличие дополнительных физических, и удвоения производительности ожидать не стоит.
Иллюстрация концепции потоков/виртуальных ядер:
Рассмотрим следующий упрощенный пример: если двухъядерный процессор с двумя потоками работает с четырьмя последовательностями команд одновременно, а производительность одного ядра для одной последовательности избыточна, то общая производительность будет ниже, чем в случае, если на месте такого процессора будет вариант с двумя ядрами, но с четырьмя потоками, поскольку на переключение между задачами тратится дополнительное время, и часть ресурсов иногда простаивает. А вот если вычислительных ресурсов одного потока недостаточно для выполнения одной последовательности, то виртуальные ядра почти не помогут – нужны дополнительные физические.
Распараллеливание нагрузки при помощи технологии Intel Hyper-Threading
Немного истории
Когда-то процессоры были одноядерными и однопоточными. Если требовалось эффективно распараллеливать вычисления (в серверном сегменте, рабочих станциях) использовались материнские платы с несколькими процессорными разъемами. Соответственно, материнке требовалась возможность соединять все процессоры с другими комплектующими (например, оперативной памятью). По сравнению с современной реализацией, возникали дополнительные задержки, возрастали энергозатраты.
Развитие архитектуры началось с гиперпоточности, а в дальнейшем на одном кристалле производители стали размещать и несколько физических ядер. Сейчас оба основных производителя центральных процессоров для ПК (Intel и AMD) выпускают модели с двумя и более физическими ядрами, как с поддержкой виртуальных ядер, так и без нее.
Потоки или ядра?
Центральный процессор – один из ключевых компонентов системы, влияющих на ее производительность в целевых задачах, а также на удобство использования компьютера. Часто у пользователей, желающих собрать систему, возникает вопрос: на что ориентироваться при выборе ЦП? Стоит ли переплачивать за дополнительные потоки/виртуальные ядра?
Ответ зависит от предполагаемых сценариев использования. В большинстве игр прирост производительности от гиперпоточности окажется минимальным или даже нулевым, а вот добавление физических ядер скажется на частоте кадров явно положительно. Разумеется, если движок игры способен распараллеливать вычисления на такое количество ядер. Многие игры, выпущенные в предыдущие годы, способны работать только с 2-4 ядрами — остальные будут простаивать или заниматься фоновыми программами.
Наибольшую выгоду виртуальные ядра приносят в рабочих задачах, подверженных эффективному распараллеливанию. К ним относятся, например, архивация файлов, обработка фотографий, рендеринг видео, моделирование. Таким образом, польза дополнительных потоков для компьютера, который будет использоваться в первую очередь для игр или медиа, сомнительна. Впрочем, если параллельно с играми будут выполняться и другие задачи, такие как стриминг, запись/обработка видео, скачивание/раздача файлов при помощи торрент-клиента, антивирусная проверка, она возрастает. В подобных ситуациях виртуальные ядра помогают снять фоновую нагрузку с физических.
Впрочем, кратного роста вычислительной мощи ждать все равно не стоит, и для типичных домашних сценариев использования переплата за виртуальные ядра часто будет неоправданной. Другое дело – если компьютер используется для профессиональной деятельности, и применяются программы, хорошо работающие с гиперпоточностью – прирост в производительности при правильной оптимизации может составлять десятки процентов.
Подытожим: если речь идет о домашнем игровом или мультимедийном компьютере, не стоит ждать чудес от виртуальных ядер, и, если за них придется доплатить ощутимую сумму, лучше рассмотреть вариант с дополнительными физическими, или вложить деньги в другие комплектующие. Если же система будет использоваться для работы – прирост может быть значительным, поэтому стоит ознакомиться с тестами гиперпоточных ЦП для конкретного вида задач.
Дата: 26.01.2019Автор/Переводчик: Zio
2018-06-10Опубликовано 10.06.2018 авторАндрей Андреев — 2 комментария
before—>p, blockquote<dp>1,0,0,0,0—>
Если провести сравнение процессоров разных поколений, то можно заметить одну интересную тенденцию: многопоточность – штука полезная и здорово повышает суммарную производительность системы.
p, blockquote<dp>2,0,0,0,0—>
Начнем с того, что каждый современный процессор построен на физических ядрах с определенной частотой. Допустим, 1 ядро имеет тактовую частоту в 3 ГГц, т.е. может выполнить 3 млрд вычислительных операций за секунду (такт). Но современные ОС (Windows, Linux, MacOS) запускают более 3 млрд процессов, т.е. пользователь начинает сталкиваться с таким понятием как прерывание: ЦП физически не успевает обрабатывать все сразу и начинает переключаться на самые приоритетные задачи.
p, blockquote<dp>3,0,0,0,0—>
Логика здесь элементарная: присмотреться к многоядерным и многопоточным решениям. Разгон не дает линейного прироста в производительности, иначе такие гиганты как Intel и AMD выпускали бы процессоры на 5–6 и более ГГц.
p, blockquote<dp>4,0,1,0,0—>
Польза от повышения частоты есть, но она нивелируется увеличенным энергопотреблением и сокращением срока службы ЦП.
p, blockquote<dp>5,0,0,0,0—>
Многопоточность и все о ней
h2<dp>1,0,0,0,0—>
Многие наверняка слышали выражения из серии «2 потока», «4 потока», «8 потоков» и т.д. При этом физических ядер зачастую было в 2 раза меньше.
p, blockquote<dp>6,0,0,0,0—>
Эта технология имеет название HyperThreading (Intel) или SMT (AMD).
p, blockquote<dp>7,0,0,0,0—>
Многопоточность у красных появилась совсем недавно, с выходом чипов Ryzen на совершенно новом техпроцессе. Что это такое – тема отдельной статьи.
p, blockquote<dp>8,0,0,0,0—>
Цель функции заключается в том, что на 1 ядро может одновременно обрабатывать несколько потоков данных. Пока первый поток простаивает, а второй занимается вычислением, запущенное приложение может воспользоваться вакантной логической мощью для своих целей. В результате, прерывания случаются гораздо реже, а вы не ощущаете тормозов и прочих неудобств при работе.
p, blockquote<dp>9,1,0,0,0—>
Недостаток технологии заключается в следующем:
p, blockquote<dp>10,0,0,0,0—>
- оба потока обращаются к единой кэш-памяти 2 и 3 уровней;
- тяжелые вычислительные процессы могут вызвать конфликт в системе.
Если очень грубо, то все кирпичи с одного места на другое можно перенести в одной руке (1 поток), либо в двух (2 потока), но человек при этом один (1 ядро) и устает одинаково при любых условиях, хоть его производительность фактически увеличивается вдвое. Иными словами, мы упираемся в производительность ЦП, а конкретней в его частоту.
p, blockquote<dp>11,0,0,0,0—>
Знакомы с понятием Turbo Boost? Процесс кратковременно повышает частоту процессора на несколько сотен мегагерц в особо сложных сценариях, чтобы вы не испытывали проблем при обработке сложных данных.
p, blockquote<dp>12,0,0,0,0—>
Сколько нужно ядер и потоков современному обывателю?
h2<dp>2,0,0,0,0—>
Как я уже сказал выше, современные ОС падки на ресурсы процессора, поскольку отнимают часть мощностей на собственные службы, интерфейс, красивости и функции защиты в реальном времени. Но при этом пользователь хочет еще и работать с комфортом.
p, blockquote<dp>13,0,0,0,0—>
- По-хорошему, для офисной работы будет вполне достаточно 2‑ядерных ЦП, но при этом учитывайте, что одновременно работать с браузером, текстовыми редакторами, почтовым клиентом и проигрывателем, не получится – система попросту не справится. А если использовать топологию 2 ядра/4 потока, то ситуация в корне преображается – рук то больше.
- Игры требуют уже больше ресурсов. Начнем с того, что современные проекты очень падки на ресурсы чипа. Взять к примеру, ту же GTA V или Watch Dogs 2: они способны выжимать все соки из любого камня, поскольку параллельно отрисовывают сцены игры (скрипты), просчитывают окружение, прорабатывают звук, поведение искусственного интеллекта и не только. И все эти процессы еще нужно синхронизировать надлежащим образом.
- А если копнуть в задачи типа программирования, рендеринга и профессиональной работы с графики, то видно, что здесь и 4‑ядерные/8‑поточные чипы начинают захлебываться и работают на износ.
p, blockquote<dp>14,0,0,1,0—>
Вместо итогов
h2<dp>3,0,0,0,0—>
Практика показывает, что современный универсальный ПК должен иметь в своем распоряжении как минимум 4 ядра/8 потоков, чего будет достаточно для большинства задач, связанных с обработкой данных. Хотя варианты из серии 6/12 выглядят более обещающими по той причине, что стоят они не намного дороже, а пользы от них больше.
p, blockquote<dp>15,0,0,0,0—>
В качестве «золотой» середины можем предложить свежий AMD Ryzen 5 2600, построенный на обновленной архитектуре Zen+. Он отлично справляется с играми, программами, распараллеливанием и обработкой данных, при этом отлично гонится.
p, blockquote<dp>16,0,0,0,0—>
Надеемся, что вы почерпнули для себя полезную информацию, которая пригодится при подборе процессора для будущей системы. Следите за дальнейшими обновлениями, чтобы не пропустить новые статьи об анатомии ЦП.
p, blockquote<dp>17,0,0,0,0—> p, blockquote<dp>18,0,0,0,0—> p, blockquote<dp>19,0,0,0,1—>
С уважением Андрей Андреев
after—></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp></dp>Используемые источники:
- https://comp-security.net/сколько-потоков-в-процессоре/
- https://linchakin.com/posts/processor-threads-or-cores/
- https://infotechnica.ru/pro-kompyuteryi/o-protsessorah/pro-potoki/