Потоки процессора что это: для чего они нужны и на что влияют

Содержание

для чего они нужны и на что влияют

Опубликовано 10.06.2018 автор — 3 комментария

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

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

Начнем с того, что каждый современный процессор построен на физических ядрах с определенной частотой. Допустим, 1 ядро имеет тактовую частоту в 3 ГГц, т.е. может выполнить 3 млрд вычислительных операций за секунду (такт). Но современные ОС (Windows, Linux, MacOS) запускают более 3 млрд процессов, т.е. пользователь начинает сталкиваться с таким понятием как прерывание: ЦП физически не успевает обрабатывать все сразу и начинает переключаться на самые приоритетные задачи.

Логика здесь элементарная: присмотреться к многоядерным и многопоточным решениям. Разгон не дает линейного прироста в производительности, иначе такие гиганты как Intel и AMD выпускали бы процессоры на 5-6 и более ГГц.

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

Многопоточность и все о ней

Многие наверняка слышали выражения из серии «2 потока», «4 потока», «8 потоков» и т.д. При этом физических ядер зачастую было в 2 раза меньше.

Эта технология имеет название HyperThreading (Intel) или SMT (AMD).

Многопоточность у красных появилась совсем недавно, с выходом чипов Ryzen на совершенно новом техпроцессе. Что это такое – тема отдельной статьи.

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

Недостаток технологии заключается в следующем:

  • оба потока обращаются к единой кэш-памяти 2 и 3 уровней;
  • тяжелые вычислительные процессы могут вызвать конфликт в системе.

Если очень грубо, то все кирпичи с одного места на другое можно перенести в одной руке (1 поток), либо в двух (2 потока), но человек при этом один (1 ядро) и устает одинаково при любых условиях, хоть его производительность фактически увеличивается вдвое. Иными словами, мы упираемся в производительность ЦП, а конкретней в его частоту.

Знакомы с понятием Turbo Boost? Процесс кратковременно повышает частоту процессора на несколько сотен мегагерц в особо сложных сценариях, чтобы вы не испытывали проблем при обработке сложных данных.

Сколько нужно ядер и потоков современному обывателю?

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

  • По-хорошему, для офисной работы будет вполне достаточно 2-ядерных ЦП, но при этом учитывайте, что одновременно работать с браузером, текстовыми редакторами, почтовым клиентом и проигрывателем, не получится – система попросту не справится. А если использовать топологию 2 ядра/4 потока, то ситуация в корне преображается – рук то больше.
  • Игры требуют уже больше ресурсов. Начнем с того, что современные проекты очень падки на ресурсы чипа. Взять к примеру, ту же GTA V или Watch Dogs 2: они способны выжимать все соки из любого камня, поскольку параллельно отрисовывают сцены игры (скрипты), просчитывают окружение, прорабатывают звук, поведение искусственного интеллекта и не только. И все эти процессы еще нужно синхронизировать надлежащим образом.
  • А если копнуть в задачи типа программирования, рендеринга и профессиональной работы с графики, то видно, что здесь и 4-ядерные/8-поточные чипы начинают захлебываться и работают на износ.

Вместо итогов

Практика показывает, что современный универсальный ПК должен иметь в своем распоряжении как минимум 4 ядра/8 потоков, чего будет достаточно для большинства задач, связанных с обработкой данных. Хотя варианты из серии 6/12 выглядят более обещающими по той причине, что стоят они не намного дороже, а пользы от них больше.

В качестве «золотой» середины можем предложить свежий вариант модели, построенный на обновленной архитектуре Zen2. Он отлично справляется с играми, программами, распараллеливанием и обработкой данных, при этом отлично гонится(одним словом — стал популярным (появился в июле 2019)).

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

 

С уважением Андрей Андреев

Процессоры, ядра и потоки. Топология систем

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

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

Таким образом, производственные способности просто нивелируются. Это явление получило название bottleneck, что в переводе значит «узкое место» или «узкая шея».

Прежде чем говорить о данной проблеме, стоит уточнить само определение этого термина. Сама технология носит название Hyper-threading, в источниках часто встречается аббревиатура HT.

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

Как узнать сколько потоков у процессора

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

Коротко по сути и маленькая предыстория

Технология Hyper-threading дает возможность хранения двух потоков одновременно. Поэтому при использовании операционной системы Windows, процессор на 2 ядра имеет в своем активе 4 потока. Такие вычислители еще часто называют процессорами, поддерживающими Hyper-treading (гипертрейдинг).

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

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

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

Система сама все о себе знает

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

Чтобы узнать подробную информацию в операционной системе Windows существует «Диспетчер задач», который в том числе покажет, сколько ресурсов компьютера используется в данное время.

Этот инструмент удобен, часто бывает полезен и обладает интуитивно понятным интерфейсом. Для того, чтобы открыть это приложение, нужно одновременно зажать клавиши Ctrl+Alt+Delete .

Так это выглядит на Windows 10 . Пользователи Mac OS найдут на своем компьютере утилиту «Принудительное завершение программ», которое легко вызвать при помощи клавиш cmd alt Esc . Она также дает возможность закрыть программу, которая перестала отвечать.
Еще одна популярная операционная система с открытым исходным кодом, Linux, тоже содержит диспетчер задач, только называется он по-другому – «Системный монитор».

Добраться до него помогут 3 простых шага:

  1. Системные утилиты
  2. Системный монитор

или можно воспользоваться командой

gnome-system-monitor .

Функционал «Системного монитора» полностью соответствуют таковым в «Диспетчере задач» Windows и «Принудительному завершению программ» в операционной системе от компании Apple.

Почему так быстрее

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

Количество потоков всегда вдвое больше, нежели количество ядер (при наличии «на борту» технологии HT). 2 ядра равнозначно 4-ем потокам, 4 ядра равнозначно 8-и потокам. Алгоритм просчета не может бить иным. Авторство разработки принадлежит компании Intel, являющейся лидером в производстве процессоров на массовом потребительском рынке.

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

Пошаговое руководство для новичков

Соответственно, чтобы узнать количество потоков, необходимо выяснить количество ядер, содержащихся в процессоре. Для это есть 3 (как минимум) способа:

1. Документация устройства, в которой подробно указаны характеристики.
2. Интернет, где можно ввести модель ноутбука и посмотреть, что находится у него «под капотом».
3. Или же в этом может помочь уже упомянутый ранее «Диспетчер задач», в котором нужно выбрать пункт меню «Производительность».

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

Проанализировав скриншот выше, становится очевидно, что данная электронно-вычислительная машина, то бишь компьютер, содержит 4 ядра и 8 логических процессов (считай – потоков). Когда значения двух параметров одинаковы, это означает, что данный компьютер не поддерживает технологию HT (Hyper-threading).

У многих процессоров Intel есть поддержка технологии под названием Hyper-threading. Данная технология позволяет выполнять сразу 2 потока команд на одном ядре процессора. Таким образом удается более эффективно использовать вычислительную мощность ядра. Но, технология Hyper-threading используется далеко не во всех процессорах Intel. Технология Hyper-threading присутствует в , а также в некоторых новых Pentium и мобильных Core i5.

У процессоров AMD с архитектурой Zen также есть технология, создающая по два потока вычислений на ядро. И у AMD также не все процессоры получают поддержку данной технологии.

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

Способ № 1. Диспетчер задач.

Самый простой способ узнать сколько потоков , это посмотреть в «Диспетчере задач». Для можно воспользоваться классической комбинацией клавиш CTRL-SHIFT-DELETE. Если у вас операционная система Windows 7 или более новая, то это можно сделать еще и с помощью CTRL-SHIFT-ESC.

После открытия «Диспетчера задач» нужно перейти на вкладку «Быстродействие».

Здесь будет отображаться загруженность процессора и оперативной памяти компьютера. В правой верхней части окна будет отображаться хронология загрузки ЦП. Особенностью данного графика является, то что нагрузка отображается отдельно для каждого из потоков процессора. Поэтому подсчитав количество окошек с графиками можно узнать сколько потоков в процессоре. Например, на скриншоте внизу, отображается 8 графиков с хронологией загрузки процессора, следовательно, на компьютере используется процессор с 8 потоками.

Если у вас Windows 8 или Windows 10, то хронология нагрузки на процессор может отображаться одним графиком. В этом случае вам нужно сначала переключиться на отображение хронологии по логическим процессорам (потокам). Для этого нужно кликнуть правой кнопкой мышки и выбрать «Изменить график – Логические процессоры».

После этого в «Диспетчере задач» появятся отдельные графики для каждого потока вашего процессора. Например, на скриншоте внизу отображается 4 графика, следовательно, в используемом процессоре 4 потока.

Кроме этого, в «Диспетчере задач» Windows 8/10 прямым текстом указывается сколько потоков в процессоре. Сразу под графиками есть блок с информацией. Там в строке «Логические процессоры» указано количество потоков процессора.

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

Способ № 2. Программы.

Пожалуй, самой известной программой для получения информации о характеристиках процессора является программа CPU-Z. Данная программа является бесплатной, и вы можете . Если вы хотите узнать сколько потоков в процессоре, то вам нужно запустить CPU-Z на своем компьютере и посмотреть значение «Threads», которое находится в правом нижнем углу программы на вкладке «CPU». На скриншоте внизу видно, что у процессора 4 потока.

Кроме CPU-Z можно использовать и другие программы. Например, вы можете прибегнуть . Данная программа отображает массу технической информации о вашем компьютере.

Среди прочего с ее помощью можно узнать и количество потоков процессора. Для этого нужно перейти в раздел «CPU» и посмотреть значение «Threads».

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

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

Программный способ определения ядер процессора

Одним из простых способов узнать сколько ядер у вашего ЦПУ является применение различных утилит , которые показывают всю информацию о характеристиках компьютера . Наиболее популярными утилитами являются:

  • CPU-Z;
  • Speccy;
  • AIDA64;
  • HWiNFO.

Рассмотрим подробнее утилиту CPU-Z . Загрузить утилиту можно с ее официального сайта www.cpuid.com. Для примера мы возьмем ноутбук Lenovo S110, в котором установлен процессор Intel Atom N2600. Запустив CPU-Z , мы увидим на первой вкладке «CPU » все характеристики процессора Intel Atom N2600.

Опишем все характеристики нашего ЦПУ и информацию о количестве ядер более подробно:

  • Name — в этом текстовом поле отображается имя ЦПУ;
  • Code Name — кодовое название линейки ЦПУ;
  • Package — тип разъема ЦПУ;
  • Technology — технологический процесс, по которому изготавливается ЦПУ;
  • Specification — полное имя процессора;
  • Family — имя семейства ЦПУ;
  • Ext. Family — номер имени семейства ЦПУ;
  • Instructions — наборы инструкций ЦПУ;
  • Clocks –этот блок позволяет узнать частоту чипа и его множитель;
  • Cache –этот блок подробно описывает кеш ЦПУ;
  • Selection — позволяет выбрать процессор, если в системе их несколько;
  • Cores — показывает, сколько ядер имеет ЦПУ;
  • Threads — показывает, сколько потоков у вашего ЦПУ.

Наиболее интересными для нас являются значения «Cores » и «Threads ». Первое показывает число ядер , а второе количество потоков .

Разберем «Threads » подробнее. У производителя ЦПУ Intel есть технология Hyper Threading . Эта технология позволяет одному ядру выполнять два потока вычислений. Наш рассматриваемый двухъядерный CPU Atom N2600 имеет поддержку Hyper Threading , поэтому в текстовом поле «Threads » мы видим цифру четыре . Сама же система Windows видит не число ядер, а число потоков. Поэтому открыв «Диспетчер задач », мы увидим, что Windows видит CPU Atom N2600, как четырехядерный .

Используя CPU с технологией Hyper Threading , вы сможете значительно увеличить быстродействие в различных видах программного обеспечения. Например, четырехядерный процессор Intel Core i7-6700K в играх будет работать как восьмиядерный . Если говорить про CPU от AMD, то у них нет поддержки Hyper Threading, поэтому у них число ядер равняется числу потоков.

Определяем количество ядер по маркировке процессора

Определим количество ядер процессора компании Intel, который еще не установлен в систему.

На каждом процессоре на верхней крышке есть маркировка. Как видно из рисунка выше, указана маркировка «INTEL® CORE™ i7-6700K ». Из этой маркировки понятно, что перед нами CPU Intel Core i7-6700K. Чтобы узнать о количестве его ядер нам необходимо воспользоваться ноутбуком или планшетом, у которого есть доступ в Интернет. Откроем любой браузер и перейдем на официальный сайт INTEL: www.intel.ru.

Должна открыться такая страница.

В нижней части этой страницы есть таблица спецификации продукции, на которой есть наш Intel Core i7-6700K.

Колонка таблицы «Кол-во ядер / Кол-во потоков » показывает, что у Intel Core i7-6700K 4 ядра и восемь потоков.

Подобным образом вы сможете найти информацию о CPU компании AMD на сайте www.amd.com/ru-ru. Например, на странице www.amd.com/ru-ru/products/processors/desktop/fx# вы сможете узнать всю информацию о производительных чипах AMD FX™.

Вывод

В этой статье мы рассмотрели, как просто можно узнать информацию о числе ядер вашего ЦПУ. Особенно полезной информация о количестве ядер будет для любителей новых игр, в которых производительность напрямую зависит от мощности CPU и графической карты. Также эта информация будет полезной для 3D дизайнеров, которые рендерят сложные модели, и любителям конвертировать аудио и видеофайлы. А мы в свою очередь надеемся, что наши читатели без проблем смогут определить число ядер в своем процессоре.

Видео по теме — еще один способ

Всем привет Не в каждом процессоре есть потоки, они есть только у компании Intel и то в более дорогих моделях. У AMD, если я не ошибаюсь, то подобного нет. Но может быть что-то уже изменилось, но вроде нет… Главная проблема с определением потоков заключается в том, что винда эти потоки видит как ядра. Именно поэтому некоторые юзеры, когда у них был Pentium 4 то думали что у них два ядра, ибо там была технология потоков, кстати она называется Hyper-threading… Тогда немного даже шума было вокруг Пеньков, одни говорили что они двухядерные, другие что одноядерные. Кстати, первые двухядерные Пеньки, это линейка Pentium D (D это типа Dual)

Hyper-threading есть в Pentium 4, но его нет в современных Пеньках: этой технологии наделили более крутое семейство процов Intel Core i* — и то не все модели, декстопные Core i5 не имеют потоков. Core i5 это типа золотая середина среди процов i* и там потоков нет, но есть 4 полноценных ядра (но на 1156 сокете есть модель Core i5 с потоками, но там два ядра и четыре потока!). А вот у i3 и i7 уже есть потоки.

Вообще в интернете много отзывов что Hyper-threading это туфта, что это развод и что это не работает. Ну что я могу сказать, откуда такие мысли возникают я не знаю. Даже в те времена когда у меня был Pentium 4, то уже тогда я замечал как падала производительность, когда я в биосе отключал Hyper-threading. Но сегодня то данная технология уже сильно изменилась, ну там внутри ее прилично доработали, хотя название менять не стали. В общем Hyper-threading стал куда лучше

Вот картинка, тут как-то вроде более менее понятно как работают потоки:

Говорят что Intel называет потоками то, что у AMD — ядра. Это я читал о процессоре, который AMD представили как первый восьмиядерник для дома… Типа те 8 ядер AMD это как 8 потоков Core i7.. Ну тут я ничего не скажу, у меня мало было опыта общения с AMD-процами, но уверен что они не так уж плохи, как о них говорят…

Ну так вот, более менее с тем что такое потоки разобрались, теперь давайте я покажу как узнать в Windows 7 сколько у вас именно потоков.

Для всей инфы, которую вам нужно узнать о процессоре, то лучше всего использовать одну единственную утилиту, это CPU-Z. Она во-первых бесплатна, во-вторых очень маленькая и в третьих ее несложно установить, а иногда она запускается даже без установки (если версия портативная). Итак у меня процессор Pentium G3220, вот что мне показала утилита CPU-Z:

Вот видите я там обвел внизу рамкой? Ну так вот, Cores это ядра, а Threads это потоки, все просто. Но у меня потоков в процессоре нет, поэтому два ядра и два потока…

А вот процессор для сокета 1156, Intel Core i5 670:

Данная модель имеет поддержку Hyper-threading и при этом это семейство Core i5, хотя многие пользователи уверены что потоков в Core i5 нет вообще. В принципе они правы, потому что потоки можно встретить у модели i5 на устаревшем сокете 1156… Он то ведь появился еще до 1155… Вот такие дела

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

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

Итак, вам нужно создать файл с расширением nfo. Проще будет создать сперва пустой текстовый документ, а потом его переименовать во что угодно, но главное это заменить расширение txt на nfo, вот например я сделал файл cpu.nfo:

Теперь просто запускаете этот файл. Появится такое сообщение, это нормально, нажимаем ОК:

Потом откроется окно и сразу в нем будет написано какая модель вашего процессора, сколько ядер и сколько логических ядер. Именно логические ядра это и есть потоки! Вот где это написано:

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

Ну все, вроде бы я все нормально и доступно написал и надеюсь что теперь вы сможете узнать сколько в Windows 7 потоков у проца.

На главную! процессор 28.07.2016

virtmachine.ru

Как узнать сколько ядер на компьютере?

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

CPU-Z бесплатная программа для определения количества ядер в процессоре

Существует множество способов, позволяющих узнать сколько ядер содержит установленный процессор на компьютере или ноутбуке. Но самый простой и точный это бесплатная программа, не требующая установки — CPU-Z. Ее размер составляет всего 2,5 мегабайта. Скачать ее можно с официального сайта по ссылке ниже:

Скачать CPU-Z

Для скачивания программы после перехода по ссылке выше нужно прокрутить экран слегка вниз и в левом нижнем углу в разделе «Download» выбрать «ZIP*English«.

Выбор формата программы CPU-Z

В следующем окне нажимаете кнопку «Download«.

Скачивание программы CPU-Z

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

В распакованной папке нужно запустить файл cpuz_x64 или cpuz_x32 в зависимости от разрядности вашей операционной системы.

В нем на самой первой вкладке «CPU» в правом нижнем углу окна напротив слова «Cores» будет стоять цифра, соответствующая количеству ядер в процессоре, установленном на вашем компьютере.

Просмотр количества ядер процессора в программе CPU-Z

Стоит учитывать, что некоторые способы просмотра количества ядер, например через диспетчер устройств, могут показывать не количество ядер процессора, а количество потоков. У многих современных интеловских процессоров имеется всего 2 ядра, работающих в 4 потока. Но программа CPU-Z отдельно показывает точное количество ядер процессора (Cores) и отдельно количество потоков (Threads).

helpadmins.ru

Как узнать количество ядер процессора?

есть несколько вариантов

Разберемся на примере двух процессоров xeon E5450 и xeon E3-1270

1 вариант

для этого нам нужно скачать приложение CPU-Z.

Запускаем приложение и видим окно.

В самом низу видим надпись Core и число рядом. (на рисунке указан цифрой 1) Это количество физических ядер.

рядом мы видим надпись Threads и число рядом (на рисунке указан цифрой 2) Это количество потоков.

Для наглядности 2 скриншота первый скриншот с процесором в котором нет Hyper-threading а во втором есть.

про Hyper-threading читайте здесь.

в итоге получам что в первом всего 4 физических ядра и 4 потока

во втором всего 4 физических ядра и 8 потоков.

Через диспетчер задач и диспетчер устройств нельзя узнать количество ядер!!!

ПОТОМУ ЧТО ВИРТУАЛЬНЫЕ ЯДРА БУДУТ ОТОБРАЖАТЬСЯ ВМЕСТЕ С ФИЗИЧЕСКИМИ!!!

Для примера посмотрите на рисунки ниже.

xeon E5450 (4 ядра 4 потока)

xeon E5450 (4 ядра 4 потока)

xeon E3-1270 (4 ядра 8 потоков)

2 вариант

можно просмотреть через диспетчер задач но только если у вас стоит Windows 8/8.1/10

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

красным выделено количество ядер

синим выделено количество потоков

3 вариант это скачать утилиту speccy

зайти в «центральные процессор» и на первых двух строчках будет написано количество ядер и потоков

Всем привет Не в каждом процессоре есть потоки, они есть только у компании Intel и то в более дорогих моделях. У AMD, если я не ошибаюсь, то подобного нет. Но может быть что-то уже изменилось, но вроде нет… Главная проблема с определением потоков заключается в том, что винда эти потоки видит как ядра. Именно поэтому некоторые юзеры, когда у них был Pentium 4 то думали что у них два ядра, ибо там была технология потоков, кстати она называется Hyper-threading… Тогда немного даже шума было вокруг Пеньков, одни говорили что они двухядерные, другие что одноядерные. Кстати, первые двухядерные Пеньки, это линейка Pentium D (D это типа Dual)

Hyper-threading есть в Pentium 4, но его нет в современных Пеньках: этой технологии наделили более крутое семейство процов Intel Core i* — и то не все модели, декстопные Core i5 не имеют потоков. Core i5 это типа золотая середина среди процов i* и там потоков нет, но есть 4 полноценных ядра (но на 1156 сокете есть модель Core i5 с потоками, но там два ядра и четыре потока!). А вот у i3 и i7 уже есть потоки.

Вообще в интернете много отзывов что Hyper-threading это туфта, что это развод и что это не работает. Ну что я могу сказать, откуда такие мысли возникают я не знаю. Даже в те времена когда у меня был Pentium 4, то уже тогда я замечал как падала производительность, когда я в биосе отключал Hyper-threading. Но сегодня то данная технология уже сильно изменилась, ну там внутри ее прилично доработали, хотя название менять не стали. В общем Hyper-threading стал куда лучше

Вот картинка, тут как-то вроде более менее понятно как работают потоки:


Говорят что Intel называет потоками то, что у AMD — ядра. Это я читал о процессоре, который AMD представили как первый восьмиядерник для дома… Типа те 8 ядер AMD это как 8 потоков Core i7.. Ну тут я ничего не скажу, у меня мало было опыта общения с AMD-процами, но уверен что они не так уж плохи, как о них говорят…

Ну так вот, более менее с тем что такое потоки разобрались, теперь давайте я покажу как узнать в Windows 7 сколько у вас именно потоков.

Для всей инфы, которую вам нужно узнать о процессоре, то лучше всего использовать одну единственную утилиту, это CPU-Z. Она во-первых бесплатна, во-вторых очень маленькая и в третьих ее несложно установить, а иногда она запускается даже без установки (если версия портативная). Итак у меня процессор Pentium G3220, вот что мне показала утилита CPU-Z:


Вот видите я там обвел внизу рамкой? Ну так вот, Cores это ядра, а Threads это потоки, все просто. Но у меня потоков в процессоре нет, поэтому два ядра и два потока…

А вот процессор для сокета 1156, Intel Core i5 670:


Данная модель имеет поддержку Hyper-threading и при этом это семейство Core i5, хотя многие пользователи уверены что потоков в Core i5 нет вообще. В принципе они правы, потому что потоки можно встретить у модели i5 на устаревшем сокете 1156… Он то ведь появился еще до 1155… Вот такие дела

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

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

Итак, вам нужно создать файл с расширением nfo. Проще будет создать сперва пустой текстовый документ, а потом его переименовать во что угодно, но главное это заменить расширение txt на nfo, вот например я сделал файл cpu.nfo.

Потоки и работа с ними

  • Чтение занимает 2 мин

В этой статье

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

Процессы и потоки

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

Примечание

Платформа .NET Framework предоставляет способ изоляции приложений в процессе с помощью доменов приложений. (Домены приложений недоступны в .NET Core.) Дополнительные сведения см. в разделе Домены приложений и потоки в статье Домены приложений.

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

Цели применения нескольких потоков

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

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

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

Как использовать многопоточность в .NET

Начиная с .NET Framework 4, для многопоточности рекомендуется использовать библиотеку параллельных задач (TPL) и Parallel LINQ (PLINQ). Дополнительные сведения см. в разделе Параллельное программирование.

Библиотека параллельных задач и PLINQ полагаются на потоки ThreadPool. Класс System.Threading.ThreadPool предоставляет приложения .NET с пулом рабочих потоков. Также можно использовать потоки из пула потоков. Дополнительные сведения см. в разделе Управляемый пул потоков.

Наконец, можно использовать класс System.Threading.Thread, который представляет управляемый поток. Дополнительные сведения см. в разделе Использование потоков и работа с потоками.

Несколько потоков могут требовать доступ к общему ресурсу. Чтобы сохранить ресурс в неповрежденном состоянии и избежать состояния гонки, необходимо синхронизировать доступ к нему потоков. Вы также можете координировать взаимодействие нескольких потоков. Платформа .NET предоставляет ряд типов для синхронизации доступа к общему ресурсу или координации взаимодействия потоков. Дополнительные сведения см. в разделе Обзор примитивов синхронизации.

Исключения следует обрабатывать в потоках. Необработанные исключения в потоках, как правило, приводят к завершению процесса. Дополнительные сведения см. в статье Исключения в управляемых потоках.

См. также

Указание числа потоков на процессор в IIS

  • Чтение занимает 2 мин

В этой статье

Область применения: Access 2013, Office 2013

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

Метод, используемый для определения и изменения значения по умолчанию для этого параметра, зависит от конфигурации сервера IIS 4.0.

С помощью MDAC 2.1.2.4202.3 (GA) или более поздней установки на сервере IIS, RDS использует те же службы компонентов (или службы транзакций Майкрософт, если вы используете Windows NT) пул потоков, как и скрипты ASP. Значение по умолчанию для количества потоков в процессоре — 10. Чтобы изменить значение по умолчанию, необходимо добавить в реестр серверов следующий ключ:

 
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\MaxPoolThreads

где MaxPoolThreads — это _ DWORD REG. MaxPoolThreads не появляется в реестре, если он не добавлен специально. Допустимые значения варьируются от 5 до рекомендуемого максимума 20. Если значение, указанное ключом реестра, превышает значение ключа PoolThreadLimit (расположено по тому же пути), то используется значение PoolThreadLimit.

Кроме того, если на сервере IIS установленО значение MDAC 2.1 2.1.1.1.3711.11 (GA) или ранее, значение по умолчанию для количества потоков на процессоре составляет 6. Чтобы изменить значение по умолчанию, необходимо добавить в реестр на сервере IIS следующий ключ:

 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCThreads

где ADCThreads — это _ DWORD REG. ADCThreads не отображаются в реестре, если они не будут специально добавлены. Диапазон допустимого значения составляет от 1 до 50. Если значение, указанное ключом реестра, превышает 50, то используется максимальное значение (50).

Сколько ядер/потоков нужно современным играм? Углубленный тест на AMD Ryzen 7 3700X и Ryzen 9 3900X

::>Процессоры >2020 > Сколько ядер/потоков нужно современным играм? Углубленный тест на AMD Ryzen 7 3700X и Ryzen 9 3900X

10-04-2020

Страница 1 Страница 2 Одной страницей

Не так давно у нас вышел цикл геймплейных тестов процессоров AMD с количеством ядер от 6-ти до 12-ти в 24 потока. Там мы изучали эффективность использования современными играми многоядерных CPU, проводя между ними параллели. В комментариях вы неоднократно просили отключить у старших Ryzen часть ядер и потоков, изучив их производительность в актуальных играх. Этим мы и займемся с помощью Ryzen 9 3900X и Ryzen 7 3700X!

Первый состоит из пары CCD-чиплетов с вычислительными ядрами и кристалла cIOD, который отвечает за функции ввода-вывода. Все это соединяется между собой шиной Infinity Fabric второго поколения. На выходе получается 12 ядер в 24 потока с частотой от 3,8 до 4,6 ГГц, суммарный кеш L3 составляет 64 МБ, а TDP – 105 Вт.

У второго под крышкой один CCD и cIOD. Это дает 8 ядер в 16 потоков на скорости 3,6 – 4,4 ГГц, но «только» 32 МБ L3 при тепловом пакете 65 Вт. Важно, что чиплеты с ядрами не имеют прямого связывающего моста, а все межъядерное взаимодействие строится через I/O чиплет, который играет также и роль коммутатора. При тестировании сможем изучить влияние на производительность не только объема кеша, но и расположения ядер в разных чиплетах.

Переходим к тестовому стенду. В его состав входит люксовая материнская плата MSI MEG X570 GODLIKE формата EАТХ. На ее основе можно собрать как мощный игровой компьютер, так и высокопроизводительную рабочую станцию с несколькими видеокартами и кучей накопителей.

Охлаждали процессоры старой-доброй СЖО be quiet! SILENT LOOP 240mm.

Видеокарту взяли топовую – ASUS ROG STRIX GeForce RTX 2080 Ti.

Оперативка представлена красочным 16-гигабайтным комплектом CORSAIR VENGEANCE RGB PRO. Он работал на номинальной частоте 3600 МГц с таймингами 16-18-18-36.

Система, игры и весь сопутствующий софт установили на пару быстрых NVMe-накопителей: ADATA XPG SX8200 Pro объемом 512 ГБ и Seagate FireCuda 520 на 2 ТБ.

За качественное и бесперебойное питание отвечал SeaSonic PRIME TX-750 TITANIUM на 750 Вт. Он имеет сертификацию 80PLUS Titanium и перечень всевозможных защит, не говоря уже о всех необходимых коннекторах.

Пристанищем для «железа» послужил корпус RIOTORO GPX100 MORPHEUS. Благодаря полностью модульной конструкции он имеет широкие возможности индивидуальной настройки, что по достоинству оценят настоящие ПК-энтузиасты.

И куда ж без периферии – кушать ведь хочется всем. Клавиатура CORSAIR K70 RGB MK.2 Low Profile радует качественными материалами, надежными низкопрофильными переключателями CHERRY MX Red, рядом дополнительных кнопок и поддержкой программного обеспечения iCUE. Все это делает ее отличным игровым инструментом.

Мышка CORSAIR Nightsword RGB имеет эргономичный корпус, 8 программируемых клавиш и топовый оптический сенсор PixArt PMW3391. Лучше всего она проявляет себя в играх жанров MOBA и FPS.

С манипулятором прекрасно сочетается фирменный ковер CORSAIR MM350 Champion.

Универсальная гарнитура CORSAIR HS35 совместима с широким парком техники, включая ПК и консоли, хорошо сидит на голове и балует басистым звуком, позволяя раскрывать любые сцены в играх и фильмах.

Дабы в полной мере оценить все красоты виртуальных миров, взяли 27-дюймовый монитор ASUS ROG SWIFT PG279Q. 

Захват видео происходил с помощью внешний системы с AVerMedia Live Gamer Portable 2 Plus.

Перед тестом отметим два важных момента. Во-первых, мы не имитируем какой-либо процессор, а хотим на практике исследовать производительность при разном количестве ядер и потоков. Для этого в BIOS попарно отключали ядра в соседних CCX, параллельно активировав и деактивировав технологию логической многоядерности (SMT). Во-вторых, частоту CPU зафиксировали на отметке 4150 МГц, дабы исключить влияние динамического разгона на результаты тестов.

Переходим к играм, которые запускались в массовом разрешении Full HD в сочетании с минимальными и максимальными настройками графики!

Начнем с Assassins Creed Odyssey на максималках. Переход с 4 потоков на полноценные 4 ядра дает прирост скорости на 14-19%.

При наличии 8 потоков статистика улучшается на 7-29% – играть куда комфортнее. Дальше средняя скорость практически не растет, но с увеличением ядер/потоков просадки становятся меньше. Обратите внимание, что 12 потоков смотрятся лучше, чем 8 полноценных ядер. Кроме того, в паре 8 ядер/16 потоков версия с увеличенным L3 меньше просаживается.

На минималках переход с 4-х потоков на 4 ядра дает бонус производительности 23-52%. Дополнительные 4 потока обеспечивают сверху еще 38-46%, попутно опередив чистые 6 ядер.

У 12-поточной конфигурации показатели 1 и 0,1% Low лучше 8 ядер без SMT. Переезд на 16-потоков дает небольшой прирост по просадкам, причем у варианта с 64 МБ L3 результаты лучше. 

Поток выполнения — это… Что такое Поток выполнения?

Процесс с двумя потоками выполнения на одном процессоре

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

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

Многие современные операционные системы поддерживают как временные нарезки от планировщика процессов, так и многопроцессорные потоки выполнения. Ядро операционной системы позволяет программистам управлять потоками выполнения через интерфейс системных вызовов. Некоторые реализации ядра называют потоком ядра, другие же — лёгким процессом (англ. light-weight process, LWP), представляющим собой особый тип потока выполнения ядра, который совместно использует одни и те же состояния и данные.

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

Отличие от процессов

Потоки выполнения отличаются от традиционных процессов многозадачной операционной системы тем, что:

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

Такие системы, как Windows NT и OS/2, как говорят, имеют «дешёвые» потоки выполнения и «дорогие» процессы. В других операционных системах разница между потоками выполнения и процессами не так велика, за исключением расходов на переключение адресного пространства, которое подразумевает использование буфера ассоциативной трансляции.

Многопоточность

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

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

Другим использованием многопоточности, применяемым даже для однопроцессорных систем, является возможность для приложения реагирования на ввод данных. В однопоточных программах, если основной поток выполнения заблокирован выполнением длительной задачи, всё приложение может оказаться в замороженном состоянии. Перемещая такие длительные задачи в рабочий поток, который выполняется параллельно с основным потоком, становится возможным для приложений продолжать реагировать на действия пользователя во время выполнения задач в фоновом режиме. С другой стороны, в большинстве случаев многопоточность не единственный способ сохранить чувствительность программы. То же самое может быть достигнуто через асинхронный ввод/вывод или сигналы в UNIX.[1]

Операционные системы планируют выполнение потоков одним из двух способов:

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

До конца 1990-х процессоры в настольных компьютерах не имели поддержки многопоточности, так как переключение между потоками, как правило, происходило быстрее, чем полное переключение контекста процесса. Процессоры во встраиваемых системах, которые имеют более высокие требования к поведению в реальном времени, могут поддерживать многопоточность за счёт уменьшения времени на переключение между потоками, возможно, путём распределения выделенных регистровых файлов для каждого потока выполнения, вместо сохранения/восстановления общего регистрового файла. В конце 1990-х идея выполнения инструкций нескольких потоков одновременно, известная как одновременная многопоточность, под названием Hyper-Threading, достигла настольных компьютеров с процессором Intel Pentium 4. Потом она была исключена из процессоров архитектуры Intel Core и Core 2, но позже восстановлена в архитектуре Core i7.

Критики многопоточности утверждают, что увеличение использования потоков имеет существенные недостатки:

Хотя кажется, что потоки выполнения — это небольшой шаг от последовательных вычислений, по сути они представляют собой огромный скачок. Они отказываются от наиболее важных и привлекательных свойств последовательных вычислений: понятности, предсказуемости и детерминизма. Потоки выполнения, как модель вычислений, являются потрясающе недетерминированными, и работа программиста становится одним из обрезков этого недетерминизма.[2]

Процессы, потоки выполнения ядра, пользовательские потоки и файберы

Процесс является «самой тяжёлой» единицей планирования ядра. Собственные ресурсы для процесса выделяются операционной системой. Ресурсы включают память, дескрипторы файлов, разъёмы, дескрипторы устройств и окна. Процессы используют адресное пространство и файлы ресурсов в режиме разделения времени только через явные методы, такие как наследование дескрипторов файлов и сегментов разделяемой памяти. Процессы, как правило, предварительно преобразованы к многозадачному способу выполнения.

Потоки выполнения ядра относятся к «лёгким» единицам планирования ядра. Внутри каждого процесса существует по крайней мере один поток выполнения ядра. Если в рамках процесса могут существовать несколько потоков выполнения ядра, то они совместно используют общую память и файл ресурсов. Если процесс выполнения планировщика операционной системы является приоритетным, то потоки выполнения ядра тоже являются приоритетно многозадачными. Потоки выполнения ядра не имеют собственных ресурсов, за исключением стека вызовов, копии регистров процессора, включая счётчик команд, и локальную память потока выполнения (если она есть). Ядро может назначить по одному потоку выполнения для каждого логического ядра системы (поскольку каждый процессор разделяет сам себя на несколько логических ядер, если он поддерживает многопоточность, либо поддерживает только одно логическое ядро ​​на каждое физическое ядро, если не поддерживает многопоточность), а может выполнять свопинг заблокированных потоков выполнения. Однако потоки выполнения ядра требует гораздо больше времени, чем требуется на свопинг пользовательских потоков выполнения.

Потоки выполнения иногда реализуются в пользовательском пространстве библиотек, в этом случае они называются пользовательскими потоками выполнения. Ядро не знает о них, так что они управляются и планируются в пользовательском пространстве. В некоторых реализациях пользовательские потоки выполнения основываются на нескольких верхних потоках выполнения ядра, чтобы использовать преимущества многопроцессорных машин (модели M:N). В данной статье под термином «поток выполнения» по умолчанию (без квалификатора «ядра» или «пользовательский») имеется в виду «поток выполнения ядра». Пользовательские потоки выполнения, реализованные с помощью виртуальных машин, называют также «зелёными потоками выполнения». Пользовательские потоки выполнения, как правило, можно быстро создавать, и ими легко управлять, но они не могут использовать преимущества многопоточности и многопроцессорности. Они могут блокироваться, если все связанные с ним потоки выполнения ядра заняты, даже если некоторые пользовательские потоки готовы к запуску.

Файберы являются ещё более «лёгкими» блоками планирования, относящимися к кооперативной многозадачности: выполняющийся файбер должен явно «уступить» право другим файберам на выполнение, что делает их реализацию гораздо легче, чем реализацию потоков выполнения ядра ​​или пользовательских потоков выполнения. Файберы могут быть запланированы для запуска в любом потоке выполнения внутри того же процесса. Это позволяет приложениям получить повышение производительности за счет управления планированием самого себя, вместо того чтобы полагаться на планировщик ядра (который может быть не настроен на такое применение). Параллельные среды программирования, такие как OpenMP, обычно реализуют свои задачи посредством файберов.

Сущность потока выполнения и файбера

Одновременность и структуры данных

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

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

Ввод/вывод и планирование

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

Однако использование блокировок системных вызовов для пользовательских потоков выполнения (в отличие от потоков выполнения ядра) и файберов имеет свои проблемы. Если пользовательский поток выполнения или файбер выполняет системный вызов, другие потоки выполнения и файберы процесса не могут работать до завершения этой обработки. Типичный пример такой проблемы связан с выполнением операций ввода/вывода. Большинство программ рассчитаны на синхронное выполнение ввода/вывода. При инициации ввода/вывода делается системный вызов, и он не возвращается до его завершения. В промежутке весь процесс блокируется ядром и не может исполняться, лишая возможности работы другие пользовательские потоки и файберы этого процесса.

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

В SunOS 4.x реализованы так называемые «лёгкие процессы» или LWP. В NetBSD 2.x + и DragonFly BSD реализованы LWP как потоки выполнения ядра (модель 1:1). В SunOS 5.2 и до SunOS 5.8, а также в NetBSD 2 и до NetBSD 4 реализована двухуровневая модель, использующая один или несколько пользовательских потоков выполнения на каждый поток выполнения ядра (модель M:N). В SunOS 5.9 и последующих версиях, а также в NetBSD 5 ликвидирована поддержка пользовательских потоков выполнения, произошёл возврат к модели 1:1.[3] В FreeBSD 5 реализована модель M:N. В FreeBSD 6 поддерживаются обе модели: 1:1 и M:N, и пользователь может выбрать, какую из них он будет использовать в данной программе, используя /etc/libmap.conf. В FreeBSD начиная с версии 7 модель 1:1 стала использоваться по умолчанию, а в FreeBSD 8 и последующих версиях модель M:N не поддерживается совсем.

Использование потоков выполнения ядра упрощает код пользователя, перемещая некоторые из наиболее сложных аспектов многопотоковости в ядро. От программы не требуется планирование потоков выполнения и явных захватов процессора. Пользовательский код может быть записан в привычном процедурном стиле, включая вызовы блокирующего API без лишения доступа к процессору других потоков выполнения. Тем не менее, потоки выполнения ядра ​​может вызвать переключение контекста между потоками выполнения в любое время и тем самым подвергнуть опасности появления ошибок гонки и одновременности, которые могли бы не возникать. На SMP-системах это ещё более усугубляется, потому как потоки выполнения ядра могут в прямом смысле выполняться одновременно на разных процессорах.

Модели

1:1 (потоки выполнения на уровне ядра)

Потоки выполнения, созданные пользователем в модели 1-1, соответствуют диспетчируемым сущностям ядра. Это простейший возможный вариант реализации потоковости. В Windows API этот подход использовался с самого начала. В Linux обычная библиотека C реализует этот подход (через библиотеку потоков POSIX, а в более старших версиях через LinuxThreads). Такой же подход используется ОС Solaris, NetBSD и FreeBSD.

N:1 (потоки выполнения уровня пользователя)

В модели N:1 предполагается, что все потоки выполнения уровня пользователя отображаются на единую планируемую сущность уровня ядра, и ядро ничего не знает о составе прикладных потоков выполнения. При таком подходе переключение контекста может быть сделано очень быстро, и, кроме того, он может быть реализован даже на простых ядрах, которые не поддерживают многопоточность. Однако, одним из главных недостатков его является то, что в нём нельзя извлечь никакой выгоды из аппаратного ускорения на многопоточных процессорах или многопроцессорных компьютерах, потому что только один поток выполнения может быть запланирован на любой момент времени. Эта модель используется в GNU Portable Threads.

M:N (смешанная потоковость)

В модели M:N некоторое число N прикладных потоков выполнения отображаются на некоторое число M сущностей ядра или «виртуальных процессоров». Модель является компромиссной между моделью уровня ядра («1:1») и моделью уровня пользователя («N:1»). Вообще говоря, «M:N» потоковость системы являются более сложной для реализации, чем ядро или пользовательские потоки выполнения, поскольку изменение кода как для ядра, так и для пользовательского пространства не требуется. В M:N реализации библиотека потоков отвечает за планирование пользовательских потоков выполнения на имеющихся планируемых сущностях. При этом переключение контекста потоков делается очень быстро, поскольку модель позволяет избежать системных вызовов. Тем не менее, увеличивается сложность и вероятность инверсии приоритетов, а также неоптимальность планирования без обширной (и дорогой) координации между пользовательским планировщиком и планировщиком ядра.

Реализации

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

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

  • Light Weight Kernel Threads (LWKT) в различных версиях BSD
  • Потоковость MxN
  • Библиотека потоков POSIX (NPTL) для Linux, реализация стандарта POSIX Threads
  • Apple Multiprocessing Services, врсия 2.0 и последующие, использует встроенное микроядро в Mac OS 8.6, в более поздних версиях сделана модификация с целью последующего сопровождения.
  • Windows начиная с Windows 95, Windows NT и после них.

Примеры реализаций потоков на уровне пользователя

  • GNU Portable Threads
  • FSU Pthreads
  • Thread Manager компании Apple
  • REALbasic (включая API для совместного использования потоков)
  • Netscape Portable Runtime (включая реализацию файберов в пользовательском пространстве)

Примеры реализаций смешанных потоков

  • «Scheduler activations» используется в собственной библиотеке приложений потоков POSIX для NetBSD (модель M:N в противоположность модели 1:1 ядра или модели приложений пользовательского пространства)
  • Marcel из проекта PM2
  • ОС для суперкомпьютера Tera/Cray MTA
  • Windows 7

Примеры реализаций файберов

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

  • Библиотека Win32 содержит API для файберов[4] (Windows NT 3.51 SP3 и выше)
  • Ruby как реализация «зелёных потоков»

Поддержка языков программирования

Многие языки программирования поддерживают потоки иначе. Большинство реализаций С и С++ сами по себе не обеспечивают прямой поддержки потоков, но обеспечивают доступ к потокам, предоставляемым операционной системой, через API. Некоторые языки программирования более высокого уровня (как правило, кросс-платформенные), такие как Java, Python, и .NET, предоставляют потоковость разработчику в виде абстрактной специфической платформы, отличающейся от реализации потоков в среде выполнения разработчика. Ряд других языков программирования также пытаются полностью абстрагировать концепцию параллелизма и потоковости от разработчика (Cilk, OpenMP, MPI…). Некоторые языки разрабатываются специально для параллелизма (Ateji PX, CUDA).

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

См. также

Примечания

Литература

  • David R. Butenhof. Programming with POSIX Threads. Addison-Wesley. ISBN 0-201-63392-2
  • Bradford Nichols, Dick Buttlar, Jacqueline Proulx Farell. Pthreads Programming. O’Reilly & Associates. ISBN 1-565-92115-1
  • Charles J. Northrup. Programming with UNIX Threads. John Wiley & Sons. ISBN 0-47-113751-0
  • Mark Walmsley. Multi-Threaded Programming in C++. Springer. ISBN 1-852-33146-1
  • Paul Hyde. Java Thread Programming. Sams. ISBN 0-67-231585-8
  • Bill Lewis. Threads Primer: A Guide to Multithreaded Programming. Prentice Hall. ISBN 0-13-443698-9
  • Steve Kleiman, Devang Shah, Bart Smaalders. Programming With Threads, SunSoft Press. ISBN 0-13-172389-8
  • Pat Villani. Advanced WIN32 Programming: Files, Threads, and Process Synchronization. Harpercollins Publishers. ISBN 0-87-930563-0
  • Jim Beveridge, Robert Wiener. Multithreading Applications in Win32. Addison-Wesley. ISBN 0-20-144234-5
  • Thuan Q. Pham, Pankaj K. Garg. Multithreaded Programming with Windows NT. Prentice Hall. ISBN 0-13-120643-5
  • Len Dorfman, Marc J. Neuberger. Effective Multithreading in OS/2. McGraw-Hill Osborne Media. ISBN 0-07-017841-0
  • Alan Burns, Andy Wellings. Concurrency in ADA. Cambridge University Press. ISBN 0-52-162911-X
  • Uresh Vahalia. Unix Internals: the New Frontiers. Prentice Hall. ISBN 0-13-101908-2
  • Alan L. Dennis. .Net Multithreading. Manning Publications Company. ISBN 1-930-11054-5
  • Tobin Titus, Fabio Claudio Ferracchiati, Srinivasa Sivakumar, Tejaswi Redkar, Sandra Gopikrishna. C# Threading Handbook. Peer Information. ISBN 1-861-00829-5
  • Tobin Titus, Fabio Claudio Ferracchiati, Srinivasa Sivakumar, Tejaswi Redkar, Sandra Gopikrishna. Visual Basic .Net Threading Handbook. Wrox Press. ISBN 1-861-00713-2

Ссылки

Сколько ядер/потоков в Intel Core i3/i5/i7?

Всем привет Значит поговорим о таких процессорах как Intel серии Core I*, это серия так бы сказать производительных процессоров. Есть еще Celeron, Pentium, они тоже не плохие, но конечно менее производительны.

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

РЕКЛАМА

Итак, вернемся к ядрами. Значит ядра и потоки, это основные отличия процессоров серии Core I*. Также еще они отличаются частотой.

Ну давайте расскажу на примере, так бы сказать по простому. Вот идет Pentium и Celeron, там идут просто два ядра. Потом, следующей ступенью идет i3, там уже идет те же два ядра, но уже есть технология Hyper-threading, то есть присутствуют потоки. Получается что i3 это два ядра или 4 потока, сама Windows потоки видит как ядра, поэтому определяется такой процессор как четырехядерный. Дальше идет i5, там уже нет потоков, там просто 4 ядра и все. То есть еще немного мощнее. Ну и последний i7 уже идет с 4 ядрами или 8 потоками. То это есть это максимальная начинка так бы сказать, тут и ядра по максимум и потоки присутствуют.

Вот на этой картинке примерно вы можете понять, в каких моделях сколько идет ядер (HT это Hyper-threading, то есть потоки):

РЕКЛАМА

Помимо всего этого, ну то есть ядер, потоков, также есть отличия в каких-то там инструкциях, ну оно не особо влияет на производительность, но тем не менее стоит учитывать. А вот что влияет и чем еще отличаются, так это частота. Чем дороже модель, тем выше частота. Это я имею ввиду так бы сказать внутренние модели, то есть i3 может быть с частотой как 3.2 ГГц, так и 3.8 ГГц, конечно последний лучше будет.

Кстати, если вы вдруг надумали брать себе комп на платформе Intel, то я советую брать сокет сокет 1151, это оптимальный выбор. Нет, ну конечно можно взять и 2011-3, но оно слишком дорогое и там столько мощи, что вряд ли столько нужно. Дело в том, что если я не ошибаюсь, то 2011-3 поддерживает только процессоры i7, ну то есть самые мощные

В ноутбуках немного все иначе, там есть мобильные процессоры, где меньше ядер. Это сделано для того, чтобы процессор потреблял меньше энергии и есть даже i7, можно даже сказать что урезанный, ибо там только 2 ядра/4 потока, вот такие пироги ребята. Но есть i7 где идут все 4 ядра, но они все равно менее производительны, чем декстопные версии.

Но что делать, как узнать, сколько у вас ядер, потоков? В общем давайте сперва немного подведем итоги. Если у вас стоит i3, то скорее всего у вас 2 ядра/4 потока. Если у вас стоит i5, то скорее всего у вас 4 ядра. Если у вас стоит i7, то скорее всего у вас 4 ядра/8 потоков. Это так бы сказать если взять в купе настольные процессоры (не ноутбучные) серии Intel Core I* и вот самые популярные модели будут иметь именно столько потоков и ядер.

Также я вам советую вот что сделать, это скачать и установить программу CPU-Z. Бывает что ее вообще не нужно устанавливать, а сразу запустить и все. Это супер программка, она маленькая, но показывает всю необходимую инфу о процессоре, сколько потоков, ядер, частоту, поддерживаемые инструкции, обьем кэша и прочее. В общем все что нужно, все это она и показывает, советую одним словом

Как я уже писал, вот у меня стоит Pentium G3220, тут конечно нет потоков (а то был бы получается i3), но вот я запустил прогу CPU-Z и вот какую инфу она мне показала:

РЕКЛАМА

Вот видите, там внизу есть Cores и Threads, ну вот это и есть ядра и потоки. Очень советую установить себе CPU-Z, ибо она вообще кушать не просит, комп вообще не грузит, места почти не занимает, но при этом если нужно то покажет всю актуальную инфу о проце

Что-то я совсем не написал о том, что можно посмотреть еще сколько ядер/потоков и в диспетчере Windows 10. Так что если у вас стоит такая современная винда, то посмотрите, для этого нажмите правой кнопкой по панели задач и выберите там пункт Диспетчер задач:

И вот потом на вкладке Производительность в разделе ЦП будет написано сколько у вас ядер и сколько потоков:

РЕКЛАМА

Если я не ошибаюсь, то логические процессоры это и есть потоки. У меня просто как я уже писал Pentium G3220, в нем нет потоков, поэтому прям точняковски не могу утверждать, но на 99% уверен что это потоки..

Можно даже поискать по модели вашего процессора, если вы ее знаете, то по ней поискать инфу, характеристики и быстро узнать сколько потоков и сколько ядер у вас. Но честно говоря, мне кажется что лучше всего для этих дел использовать именно прогу CPU-Z.

Кстати, не все знают, что эти потоки или технология Hyper-threading была еще в Pentium 4. А до этого вроде бы была только в серверных процессорах Xeon. Ну так вот, дело в том, что на сегодняшний день технология Hyper-threading очень и очень доработана, можно даже сказать что кардинально улучшена. Просто в Intel решили название не изменять, а оставить таким как есть. Так что на самом деле потоки намного улучшились так бы сказать. Это я к тому написал, что есть просто мнение, что потоки это ерунда и что никакой пользы от них нет. Это мнение, как мне кажется, пошло как раз со времен Pentium 4, ибо тогда часто тесты показывали одинаковую производительность как с включенной технологией Hyper-threading, так и с выключенной. Но еще прикол в том, что уж что-что, а во времена Pentium 4 мало какие проги умели распараллеливать работу да два потока, то есть работать в многопоточном режиме.

Мое мнение, что потоки очень хорошо улучшают производительность. Вообще как-то читал, что по производительности потоки Intel равны ядрам AMD, ну что-то типа такого. Просто есть у AMD хороший процессор, это FX-8300, ну так вот он по мощности слабее i7, при этом прилично слабее. Хотя у FX-8300 8 ядер идет, а у i7 4 ядра/8 потоков. Вот такие ребята пирога

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

На главную! процессор 17.11.2016

РЕКЛАМА

Что, черт возьми, такое потоки ЦП?

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

В конце концов, основное объяснение на удивление простое, так что давайте проясним это раз и навсегда.

Итак, что — это поток?

«Нить» относится к двум вещам, но они тесно связаны друг с другом.

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

Однако спецификации, которые вы можете увидеть на странице продукта ЦП или на сайтах AMD или Intel, относятся к потокам в оборудовании.Когда мы говорим о «потоках», здесь главным источником путаницы являются аппаратные потоки.

Аппаратные потоки по своей природе являются инфраструктурными. Проще говоря, аппаратные потоки содержат важную информацию о программном потоке, который необходим ядру для запуска этого программного потока . Вот и все. Они не выполняют фактическую работу (это касается остального ядра ЦП). Они не похожи на «более слабые» или «псевдо» ядра или на что-нибудь еще. Они просто хранят информацию. Остальное ядро ​​обрабатывает остальное (с некоторыми небольшими изменениями, чтобы избежать технических проблем и, конечно, поддерживать производительность).

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

Но, возможно, вы также видели термины «логический процессор» или «виртуальное ядро» или что-то подобное, потенциально в том же контексте, что и аппаратный поток. Это просто взгляд операционной системы (например, Windows, Linux и т. Д.) На аппаратные потоки. Что касается нас, пользователей, на самом деле это одно и то же. Однако не путайте эти два понятия: аппаратные потоки — это вещи, которые реально существуют физически.«Логических процессоров» не существует физически. Операционная система решает запустить определенный программный поток на определенном логическом процессоре, и соответствующий аппаратный поток на определенном ядре запускает этот программный поток. И это конец.

Что делать с SMT / Hyper-Threading?

Упрощенная схема Hyper-Threading из Википедии (группы цветных прямоугольников аналогичны программным потокам)

Итак, если аппаратные потоки фактически ничего не делают сами по себе, почему одновременная многопоточность (называемая Hyper-Threading в Процессоры Intel (вероятно, потому, что Intel любит чувствовать себя особенными) могут повысить производительность?

Короче говоря, SMT / Hyper-Threading влечет за собой одновременное выполнение двух программных потоков на каждое ядро, что дает ядру больше возможностей для работы с .Современные ядра сильны и широки, и архитекторы оборудования очень ими гордятся: один единственный программный поток почти всегда оставляет какое-то мускулистое оборудование, бездействующее. Это похоже на работодателя, у которого слишком много людей для типичной рабочей нагрузки, но иногда эти дополнительные люди могут действительно понадобиться. Сразу две нити? Это отнимает у вас пространство для передышки и делает дела приятными и занятыми.

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

Кстати, иногда вы можете видеть, что аппаратные потоки, добавленные с помощью SMT, называются «гиперпотоками» или чем-то подобным. Чтобы было ясно, нет никакой разницы между аппаратными потоками, уже используемыми без SMT, и потоками, добавленными для SMT — они абсолютно одинаковы.

Заключение

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

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

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

Что означает 8 ядер 16 потоков? — MVOrganizing

Что означает 8 ядер 16 потоков?

У всех центральных процессоров есть потоки, но что именно это означает? Проще говоря, потоки — это то, что позволяет вашему процессору выполнять несколько задач одновременно.Каждое ядро ​​ЦП может иметь два потока. Таким образом, процессор с двумя ядрами будет иметь четыре потока. У процессора с восемью ядрами будет 16 потоков.

Что такое поток и ядро ​​в процессоре?

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

Что означает 2 ядра 4 потока?

Это означает, что ЦП имеет 2 физических ядра, но может обрабатывать 4 потока одновременно с помощью гиперпоточности или одновременной многопоточности (SMT).На самом деле одно физическое ядро ​​может действительно запускать только один поток за раз, но, используя гиперпоточность, ЦП использует стадии ожидания в конвейере для обработки другого потока.

2 ядра лучше 4?

4 ядра помогает процессору выполнять четыре основные инструкции в каждом цикле, а не 2. Если программы оптимизированы для работы на 4 ядрах (представьте, что это 4 процессора в одном), он будет работать намного быстрее, чем на 2-ядерном ЦП. . Различные программы также могут работать на разных ядрах, чтобы распределить нагрузку на процессор.

4 ядра 4 потока лучше, чем 2 ядра 4 потока?

Обычно 4 ядра лучше, потому что, когда 2 потока работают на одном ядре, они конкурируют за одни и те же ресурсы.

Почему у ядер 2 потока?

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

Сколько потоков может выполняться на одном процессоре?

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

Сколько потоков я должен использовать?

В идеале, без ввода-вывода, синхронизации и т. Д., И больше ничего не работает, используйте 48 потоков задачи. На самом деле, использование около 95 потоков может быть лучше, чтобы максимально использовать возможности вашей машины.Потому что: ядро ​​иногда ожидает данных или ввода-вывода, поэтому поток 2 может работать, пока поток 1 не работает.

Сколько потоков может иметь программа?

Каждый процессор имеет 10 ядер, каждое из которых в основном эквивалентно классическому одноядерному процессору. Каждое ядро ​​может одновременно запускать только 1 поток, т.е. гиперпоточность отключена. Таким образом, у вас может быть максимум 20 потоков, выполняющихся параллельно, по одному потоку на процессор / ядро.

Сколько потоков слишком много?

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

Какой поток уровня является общим и может работать в любой операционной системе?

Поток уровня пользователя

Зачем нужны потоки?

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

Где мы используем потоки?

Есть еще одна цель использования Thread в Java — одновременное выполнение нескольких задач. Например, в приложении с графическим пользовательским интерфейсом вы хотите рисовать экраны одновременно с тем, чтобы фиксировать действия пользователя, например нажав клавиши и команду, и вы можете захотеть загрузить или выгрузить что-то из сети.

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

Разница между процессом и потоком:

S.NO Процесс Резьба
1. Процесс означает, что выполняется любая программа. Поток означает сегмент процесса.
6. Процесс потребляет больше ресурсов. Поток потребляет меньше ресурсов.
7. Процесс изолирован. Потоки разделяют память.
8. Процесс называется тяжелым процессом. Нить называется облегченной.

Сколько уникальных потоков создается?

г. Сколько уникальных потоков создается? Ответ: Есть шесть процессов и два потока.

Сколько создается процессов и потоков?

Только SP1 и SSP1 порождают потоки, поэтому создается 2 потока. Если вы посчитаете все основные потоки всех процессов, то будет 7 или 8 потоков, в зависимости от того, считаете ли вы исходный процесс P.Иллюстрация создаваемых процессов и потоков, связанных с кодом.

Почему веб-сервер не должен работать как однопоточный процесс?

Почему веб-сервер не должен работать как однопоточный процесс? Для веб-сервера, который работает как однопоточный процесс, одновременно может обслуживаться только один клиент. Это может привести к потенциально огромному времени ожидания для загруженного сервера.

Спросите Ars: что такое поток ЦП?

В 1998 году Ask Ars был одним из первых элементов недавно запущенной Ars Technica.Теперь, как и тогда, все дело в ваших вопросах и ответах нашего сообщества. Каждую неделю мы будем копаться в нашем пакете вопросов, высказывать свое мнение, а затем использовать мудрость наших читателей. Чтобы задать свой вопрос, перейдите на страницу с полезными советами.

Вопрос: Что такое поток ЦП (например, «многопоточный ЦП», «одновременная многопоточность» и т. Д.)?

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

С точки зрения ЦП поток (сокращение от «поток выполнения») — это просто упорядоченная последовательность инструкций, которая сообщает компьютеру, что делать. В большинстве моих статей об Ars и в моей книге я предпочитаю говорить о «потоках инструкций», а не о «потоках», потому что поток — это более сложная и ориентированная на ОС концепция.Что касается большинства процессоров, они просто выполняют любые потоки инструкций, поступающие в их интерфейс, и им все равно, исходит ли этот поток инструкций от процесса или потока. Могут быть некоторые значения регистров специального назначения, которые различаются между ними, но основные функции процессора не меняются.

Итак, когда кто-то говорит о «многопоточном процессоре», они говорят о процессоре, который может выполнять несколько потоков инструкций одновременно. Процессор может выполнять такой подвиг двумя способами: одновременная многопоточность и использование нескольких ядер.Ни один из этих методов не исключает друг друга, и оба часто используются вместе.

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

Реклама

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

Жизнь нитки

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

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

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

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

ядер против потоков — в чем основные различия?

Читать 4 мин

Было много недоразумений по поводу разницы между ядрами и потоками. Прежде чем переходить к ядрам ЦП против потоков, вам необходимо понять, что такое одноядерный, многоядерный, поток, многопоточность и зачем они нам нужны. Многие компьютерные энтузиасты хотят понять, что важнее для мощного процессора: количество ядер или потоков.Эта статья направлена ​​на то, чтобы пролить свет на однопоточность и многопоточность, одноядерность и многоядерность, а также угрозы и ядра.

Одноядерный процессор против многоядерного

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

Выполнение процесса: одноядерный процессор

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

В отличие от одноядерной обработки, это способ, которым вычислительные задачи разделяются на части, а многоядерный процессор (несколько ядер ЦП) выполняет каждую подзадачу одновременно, как вы можете видеть на рисунке ниже:

Выполнение процесса: многоядерный процессор

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

Поток против многопоточности

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

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

Пользовательские потоки и потоки ядра

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

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

Ядро против потоков

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

Параметры Ядро Потоки
Определение Ядро ЦП — это физический аппаратный компонент. Поток — это виртуальный компонент, который используется для управления задачами.
Процесс ЦП обращается ко второму потоку только тогда, когда информация, отправляемая первым потоком, ненадежна. Несколько вариантов взаимодействия ЦП с несколькими потоками.
Развертывание Это может быть достигнуто с помощью операции чередования. Выполняется за счет использования нескольких процессоров ЦП
Преимущество ЦП увеличивает объем работы, выполняемой за один раз. Потоки минимизируют затраты на развертывание и увеличивают количество откликов графического интерфейса.
Использовать Используется переключение содержимого. Потоки используют несколько процессоров для управления различными процессами.
Блоки обработки Для правильной работы требуется один блок обработки. Для выполнения любой задачи требуется несколько процессоров.
Ограничения Потребляйте больше энергии при увеличении нагрузки В случае одновременного выполнения нескольких процессов мы можем ощутить координацию между ОС, ядром и потоками.
Пример Он может выполнять несколько приложений одновременно. Запуск поисковых роботов в кластере.

Заключительные слова

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

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

Hyper-Threading и все, что вам нужно знать

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

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

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

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

Когда вы запускаете приложение, код этой программы берется с жесткого диска и сохраняется в оперативной памяти (ОЗУ) перед загрузкой в ​​ЦП. Затем ЦП считывает инструкции из ОЗУ для выполнения поставленной задачи. Когда технологические компании называют свои ЦП «двухъядерными», это означает, что в ЦП есть 2 ядра (отдельные блоки обработки).

Intel® указывает количество ядер, которые они используют с i3, i5, i7 и т. Д. Это немного вводит в заблуждение, учитывая, что процессор Intel i7 Core не имеет 7 ядер; он идет с четырьмя.Есть несколько экстремальных процессоров Intel i7 Core, которые могут иметь 6 или 8 ядер. Вы всегда можете вернуться к описанию продукта, если не уверены в количестве ядер в вашем процессоре.

Не уходя слишком далеко от гиперпоточности, важно сначала понять, как ядра обрабатывают данные в ЦП. Когда данные отправляются из ОЗУ в ЦП, они разделяются и направляются в разные ядра.

Представьте себе железнодорожную станцию: такие программы, как Microsoft Word и Excel, представляют собой грузовые перевозки поездов, движущихся через станцию, но железнодорожная станция (ядро) имеет только один набор путей.«Грузы», или программные инструкции, идут последовательно по рельсам. Все просто, правда?

Так как же работает гиперпоточность? Когда вы выполняете гиперпоточность своих ядер, вы, по сути, создаете две дорожки в депо. Вместо того, чтобы перемещаться по одному пути, они будут разделяться и обрабатываться в депо, что сокращает время, в течение которого они перемещаются. Вместо того, чтобы загружать по одной программе в ядро, гиперпоточность позволяет загружать сразу несколько программ. По сути, каждое ядро ​​становится двумя процессорами вместо одного .

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

Теперь, когда вы понимаете, как работает гиперпоточность, преимущества и потенциальное повышение скорости, которое она может дать вашему ПК, довольно очевидны.

Повысит ли гиперпоточность производительность моего компьютера?

Согласно Intel [1], гиперпоточность ваших ядер может привести к увеличению производительности и скорости на 30% при сравнении двух идентичных ПК с одним гиперпоточным процессором.В исследовании, опубликованном на Forbes, гиперпоточность процессора AMD® (Ryzen 5 1600) показала увеличение общей производительности обработки на 17% [2].

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

В эксперименте, проведенном bit-tech.net, гиперпоточный Intel i7 Core сравнивался с однопоточным Intel i7 Core после прохождения нескольких различных тестов [3]. Когда дело дошло до редактирования изображений, многозадачности и энергопотребления, гиперпотоковый аналог оказался хуже, чем однопоточный. Тем не менее, он показал такие же или лучшие результаты, когда дело дошло до кодирования видео Handbrake, общего пользовательского теста ПК и игры в популярную игру Crysis .

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

Как включить гиперпоточность

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

Чтобы включить гиперпоточность, вам сначала нужно войти в настройки BIOS вашей системы. Для тех, кто не знаком, BIOS расшифровывается как Basic Input / Output System.BIOS запускается, когда вы включаете компьютер, соединяя различные компоненты, такие как жесткий диск, ЦП и клавиатуру, в дополнение к управлению потоком данных.

Когда вы узнаете, что ваш ЦП совместим с гиперпоточностью, и научитесь входить в настройки BIOS вашей системы, выберите подходящий хост для вашей системы. Должна быть вкладка конфигурации или меню для выбора. Выберите «Процессор» и нажмите «Свойства». Должно появиться диалоговое окно, в котором вы сможете включить или выключить гиперпоточность.

Некоторые производители и поставщики могут пометить эту опцию как «Логический процессор» или «Включить гиперпоточность». Процесс зависит от производителя. Например, включение гиперпоточности для процессора AMD будет иметь несколько иной набор слов, чем включение гиперпоточности для процессора Intel.

Резюме; один раз в BIOS выберите:

  • Процессор
  • Свойства
  • Логический процессор / Включить гиперпоточность

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

Подходит ли гиперпоточность для игр?

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

Игра в игру

Если вы когда-либо пробовали играть в игры с интенсивной графикой на процессоре Intel i3 Core, то вы, вероятно, знаете, сколько проблем возникает из-за ограниченного количества ядер.Отставание и ореолы — лишь малая часть списка проблем, вызванных недостаточной вычислительной мощностью.

Гиперпоточность Intel i5 и гиперпоточность i3 могут быть чрезвычайно полезны для игр, учитывая, что эти процессоры изначально не обладают большой мощностью. Играя в такие игры, как Crysis , вы заметите резкое улучшение и конкурентное преимущество. Гиперпоточность Intel i7 может быть чрезмерной. Если вы не играете в несколько игр одновременно или не запускаете несколько приложений в фоновом режиме, вам, вероятно, не понадобится такая дополнительная мощность.

Потоковая передача

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

Если вы транслируете потоковую передачу на новейшем процессоре Intel i7 Core, вы, вероятно, не заметите большой разницы. Продвинутые процессоры невероятно быстрые как есть. Однако процессоры с 2 или 4 ядрами могут не дать вам достаточно энергии для игры, даже после гиперпоточности.

Лучшие процессоры для гиперпоточности

Большинство игр класса AAA ориентированы на процессоры с 4 ядрами и более. Если ваша цель — игры, выбирайте AMD Ryzen, Intel i5 или лучше.

Intel i5-8400, который вы можете найти в игровом настольном ПК HP OMEN 870, — отличное место для начала, если у вас ограниченный бюджет. Этот процессор с 6 ядрами и 6 потоками имеет базовую тактовую частоту 3,8 ГГц и тактовую частоту в режиме турбо 4,0 ГГц. Хотя этот процессор не поддерживает разгон, он должен обеспечивать более чем достаточную мощность для игр с максимальными настройками.Intel i7-8700K имеет 6 ядер и 12 потоков, на которых вы можете запускать множество фоновых задач, пока играете. Вы можете найти этот процессор в игровом настольном ПК HP Pavilion. AMD Ryzen 7 2700 в том же ценовом диапазоне, что и Intel i7-8700K, предлагает 8 ядер, 16 потоков и возможности разгона. Компания AMD, о которой часто забывают, производит невероятные процессоры для компьютеров, ноутбуков и специализированных игровых ПК. Если вы заинтересованы в создании игрового ПК с нуля или в покупке готовой системы, вам следует серьезно подумать о процессоре AMD для продвинутых игр.AMD Ryzen 3 2200G — чрезвычайно доступный процессор, учитывая, сколько от него можно получить. Четыре ядра, базовая частота 3,5 ГГц, а также возможности разгона позволяют расширить возможности вашего ПК. Игровой настольный компьютер HP OMEN 875 Obelisk может похвастаться тремя процессорами AMD Ryzen на выбор, чтобы оформить покупку по своему вкусу.

Если вы действительно хотите изо всех сил построить суперкомпьютер, Intel Core i9 7900X находится в особой лиге. Хотя цена определенно отражает его передовые компоненты, его производительность трудно превзойти.Благодаря 10 ядрам и 20 потокам вы можете одновременно выполнять множество задач.

Подходит ли гиперпоточность для игр виртуальной реальности? Игры

VR отнимают у вас уйму вычислительной мощности, и вам будет гораздо лучше, если вы обновите свой процессор, чем пытаетесь перегрузить существующий. Самые популярные VR-игры используют огромные объемы данных, и без высокопроизводительной видеокарты вы не сможете ими пользоваться. Если вы купите ПК с продвинутой видеокартой, подходящей для иммерсивных VR-игр, ваш процессор, вероятно, оборудован поддерживать.Обязательно выберите систему, которая работает с высокой скоростью, или подготовьтесь к созданию собственной системы, если VR-игры являются главным приоритетом. В противном случае вам, возможно, придется изо всех сил пытаться разогнать процессор или гиперпоточить свои ядра, чтобы погрузиться в безумие виртуальной реальности.

Вокруг AMD Zen ходит много разговоров о возможностях виртуальной реальности. Такие компании, как Intel и AMD, в настоящее время готовятся к будущему игр, чтобы доставить невероятные впечатления, как никогда раньше.

Резюме

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

Если вы планируете использовать гиперпоточность ядер в вашем процессоре, убедитесь, что это того стоит и что ваш процессор на это способен. Hyper-threading — это относительно простое обновление ПК, которое легко включить. Если он вам не подходит, вы можете просто зайти в BIOS и снова выключить его.

Вы можете многое получить и не так много потерять, почему бы не попробовать?

Об авторе

Шон Уэйли (Sean Whaley) пишет статьи для HP® Tech Takes. Шон — специалист по созданию контента со степенью литературы в SDSU.Он обладает обширными познаниями в области компьютерного оборудования и программирования.

потоков ЦП: ядра против потоков

ядер против потоков : застряли с ядрами и потоками ЦП ? Хотите узнать о ядрах и потоках? Не можете понять, чем они отличаются по функциям? Мы рассмотрели нашу статью о ядрах и потоках . Узнайте о компонентах процессора и о том, где используются ядра. Как один процессор может выполнять различные задачи с потоками .Что умирает , соотношение ядер , многопоточность и значит в процессоре. И даже посмотрите, как вы можете без проблем находить ядра и потоки вашего собственного CPU / Mobile. Если вас интересуют процессоры, ознакомьтесь с другими статьями по теме на нашей странице.

потоков ЦП: ядра против потоков

Не пропустите: Как проверить, какая материнская плата лучше всего подходит для любых процессоров?

Что такое ЦП?

Слово ЦП означает « Центральный процессор », и это компонент, который выполняет инструкции, данные пользователем в терминах ввода, а результат выражается в терминах вывода.Для обозначения ЦП используется несколько различных терминов, таких как главный процессор, центральный процессор или просто процессор. Цикл ввода-вывода выполняется в электронной схеме, известной как полупроводниковый чип, это мозг вашего компьютера. Теперь функция ЦП — выполнять базовые операции ввода-вывода (I / O), арифметические и логические операции.

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

Термин «ЦП» или «Центральный процессор » был придуман в 1955 году и с тех пор используется в мире технологий, а также в других областях. Мы уже обсудили, что означает ЦП и его функции, но это больше, чем просто процессор. Существуют различные компоненты ЦП, такие как CU (блок управления), AU (арифметический блок), LU (логический блок), флэш-память и многие другие.И термин CPU обычно используется для процессоров, которые расположены в его ядре. Теперь в ЦП есть блоки обработки, более известные как «ядра», которые отвечают за математические вычисления, с которыми вы можете использовать схемы ввода-вывода. Теперь общий план ЦП остался прежним за последние два десятилетия, но с увеличением вычислительной мощности и общего размера процессора.

Меньший по размеру процессор означает, что он будет потреблять меньше энергии и будет более эффективным, что означает, что он будет иметь лучшую производительность, чем предыдущее поколение. Intel i9 10900K имеет 10 ядер , По состоянию на сентябрь 2020 года Intel имеет i9-99900k для публичного использования и 28 ядер . Но даже с этими улучшениями основная функциональность ЦП осталась неизменной: ALU (Arithmetic Logical Unit) выполняет все логические операции и регистры процессора, которые передают операнды в Arithmetic Logical Unit и сохраняют результат. Теперь CU (Control Unit) выбирает или получает выполнение инструкций из памяти, управляя скоординированными операциями, эти операции выполняются из регистра, ALU и других компонентов.

Общие компоненты ЦП

Теперь мы рассмотрим некоторые из основных компонентов ЦП, которые могут помочь понять ЦП:

  • (ALU) Арифметико-логический блок (ALU)
  • Регистры
  • Кэш
  • Шины
  • Часы
  • (CU) Блок управления

Итак, это еще не все компоненты, поскольку мы не будем вдаваться в подробности, но это даст вам представление о том, как они выглядят.

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

Выезд:

Какие ядра?

Теперь давайте углубимся в нашу основную тему. Мы уже знаем, что ЦП содержит ядра, и эти ядра отвечают за обработку инструкций и то, что отображается на вашем экране.Однако, в отличие от современных компьютеров, тогда у компьютеров было только одно ядро, и это тоже ничто по сравнению с тем, что есть сейчас. Приведем пример, НАСА удалось высадить человека на Луну с меньшей вычислительной мощностью, чем то, что средний подросток держит в руке. И у НАСА было всего 32 768 бит ОЗУ по сравнению со 128 ГБ или 1 073 741 274 бит, которые можно найти на любом игровом ПК.

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

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

Теперь вернемся к теме: ядро ​​может выполнять только одну задачу за раз, допустим, оно может только воспроизводить музыку и останавливать все остальные ваши действия. Таким образом, больше ядра означает, что вы можете выполнять больше задач за один раз, как будто я пишу свою статью, а также слушаю свою любимую музыку и обмениваюсь сообщениями в середине, когда я их получаю.И эта способность компьютера выполнять несколько задач одновременно привела к появлению нового термина «, многозадачность, », это означает, что вы выполняете более одной задачи одновременно. Последний процессор Intel имеет 28 ядер, что означает, что вы можете работать над 28 различными задачами или открывать 28 разных окон и работать над ними вместе или постоянно переключаться. Это очень полезно для профессионалов, которым нужно выполнять несколько задач одновременно.

Некоторые общие термины

coreV

coreV — это сокращение от « core Voltage », и это входное напряжение, которое мы обеспечиваем или подаем на наш ЦП.ЦП требуется больше напряжения, чтобы работать интенсивнее, но он будет выделять больше тепла из-за потерь в системе. Теперь мы можем контролировать напряжение ядра или значение coreV из BIOS ( B asic I nput / O utput S ystem). Если вы хотите узнать больше о разгоне процессора и о том, как это делается с помощью BIOS, ознакомьтесь с нашей статьей.

Core Ratio

Теперь «core ratio» или «core ratio limit» — это максимальная частота множителя частоты вашего процессора.Теперь есть разные ядра и нужно с ограничениями крутить соотношение вывода между ними. Например, i5 имеет базовый тактовый сигнал 100 МГц, а максимально допустимая частота составляет 3,50 ГГц (коэффициент умножения равен 36x ). Теперь вы можете изменять скорость всех 4 ядер по отдельности.

Многопоточность

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

Узнайте также: Что такое разгон

Что такое потоки ЦП?

Поток — это виртуальный компонент, который разделяет фактические физические ядра между процессором на другое Vcore (виртуальное ядро). Младший процессор обычно имеет 2 потока на ядро. Теперь потоки создаются приложением, и оно будет управлять потоками, и вы даже ничего не заметите. Чем больше приложений вы открываете, тем больше потоков создается, и как только ядро ​​достигает своего предела потоков, система использует другие идеальные ядра для новых потоков.Теперь мы не будем углубляться в то, как потоки инструментов и идеальные ядра управляются на устройстве, поскольку это зависит от разных приложений и разных процессоров.

Существует еще один термин « multi-threading », означающий, что процессоры могут использовать несколько ядер одновременно. И Intel использует «Hyper-threading», что означает разделение чего-либо на две или более частей или, в данном случае, виртуальное разделение ядра для получения большей функциональности. Они называются « потоков », вы можете виртуально разделить ядро ​​для разных задач, и количество потоков влияет на это.Теперь давайте посмотрим на пример, предположим, что у вас есть процессор с 4 ядрами, и с помощью « multi-threading » вы можете получить 8 виртуальных ядер, которые могут выполнять 8 различных задач, а не только 4.

4 ядра * 2 потока (на ядро) = 8 ядер.

Теперь 8 ядер не будут такими мощными, как реальный 8-ядерный процессор, однако он намного эффективнее 8-ядерных процессоров. Увеличьте количество ядер ЦП с помощью Разгон ЦП

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

Примечание. Если вы видите процессор Intel, например i9, значит, у него нет 9 ядер. Цифра «9» относится к поколению их процессора, но это не совсем точно, так как серии i8 не было, и это всего лишь маркетинговая тактика.

Теперь, когда дело доходит до современных ЦП, существуют микропроцессоры, в которых весь ЦП ограничен одной микросхемой MOS ( Metal Oxide Semiconductor ). Чип, используемый для процессора, представляет собой IC ( Integrated Circuit ) и содержит периферийный интерфейс, память и другие компоненты. «Микроконтроллеры » используются для интегрированных устройств. Сейчас в большинстве современных компьютеров используется процессор « multi-core », который в основном представляет собой сокет или одиночный чип с более чем одним ядром.

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

Но вы не можете создать столько потоков в процессоре, сколько хотите, есть некоторые факторы, которые ограничивают количество потоков. Существует физический предел для создания потоков, и он варьируется от ЦП к ЦП, например, Intel Pentium имеет 4 потока, а i5 — 8 потоков. Теперь первый поток назначен для загрузки анимации, а второй поток назначен для загрузки графического интерфейса пользователя ( Graphical User Interface, ).

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

Ядра против потоков
Ядро Поток
Ядра — это фактические физические компоненты процессора. Потоки — это виртуальные компоненты.
Использует переключение содержимого. Он использует разные ядра для работы разных процессов.
Core требуется только блок обработки сигналов. Потоки требуют нескольких процессоров.
Чем больше ядер, тем больше объем выполняемой работы одновременно. Чем больше потоков, тем выше скорость вычислений.
Core Vs Thread

Как проверить потоки и ядра на ПК?

Использование диспетчера задач

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

  1. Откройте диспетчер задач, одновременно нажав « Ctrl + ALT + Del ». На вашем экране должно появиться новое окно, нажмите на диспетчер задач.
  2. Теперь щелкните « Performance » в верхней части приложения.
  1. Теперь посмотрите вниз и найдите « ядер » и « логических процессоров », также известных как « потоков» .
Как проверить ядра потоков на ПК с помощью TaskManager

Использование монитора ресурсов

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

  1. Откройте диспетчер задач, одновременно нажав « Ctrl + ALT + Del ». На вашем экране должно появиться новое окно, нажмите на диспетчер задач.
  2. Теперь щелкните « Performance » в верхней части приложения.
  3. После этого нажмите « Open Resource Monitor », и должно появиться новое всплывающее окно.
Resource Monitor
  1. Теперь проверьте все ядра справа и посмотрите на нагрузку на них. И посмотрите под потоками, чтобы увидеть количество потоков, запущенных для каждого приложения. Проверьте статус, чтобы увидеть, активен ли поток или мертв / удален.
Потоки ЦП Использование монитора ресурсов

Потоки ЦП Использование CPU-Z

Теперь, если вы не уверены, сколько потоков и ядер имеет ваша система, тогда мы вам поможем.Мы бы посоветовали вам использовать CPU-Z, так как это хороший инструмент. Щелкните здесь, чтобы загрузить CPU-Z. Но вы можете использовать любой из ваших любимых инструментов или поискать в Интернете альтернативы.

После загрузки CPU-Z установите его в своей системе и запустите. Теперь в разделе «CPU» вы найдете « core » и « thread », там вы можете найти количество ядер и потоков.

Как проверить ядра и потоки в мобильном телефоне?

Теперь есть приложение CPU-Z, доступное и для смартфонов, мы можем проверить его с помощью приложения, как и на ПК.Чтобы посетить Play Store, щелкните здесь или здесь, чтобы перейти в App Store. Просто установите приложение и запустите его на своем смартфоне.

Как проверить ядра и потоки в мобильном телефоне?

ПРИМЕЧАНИЕ. ЦП 0 — ЦП 7 — это ядра, а в моем телефоне 8 ядер. Также имейте в виду, что большее количество ядер не означает больше мощности или воли.

Сводка

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

ядер ЦП против потоков — TechSiting

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

Прочтите статью по теме: МТ / с — это то же самое, что и МГц?

В чем разница между ядром и потоком?

Думайте о сердцевине как о рте человека и о нитях как о руках. Рот принимает всю еду, а руки просто помогают организовать «рабочую нагрузку». Поток помогает более эффективно доставлять рабочую нагрузку на ЦП.Чем больше потоков, тем лучше организована очередь работы, что повышает эффективность обработки информации.

Существует много путаницы из-за специфических технологий каждого производителя. Ядра ЦП относятся к фактическому компоненту оборудования. Потоки относятся к виртуальному компоненту, который управляет задачами. Существует множество различных вариантов взаимодействия ЦП с несколькими потоками. В основном ЦП загружает задачи из потока. Он обращается ко второму потоку только в том случае, если информация, отправляемая первым потоком, является медленной или ненадежной (например, промах в кэше).

Вы можете найти ядра и потоки как в процессорах AMD, так и в Intel. Многопоточность и гиперпоточность — это несколько разные концепции. Гиперпоточность — это технология, доступная только для процессоров Intel. Хотя он по-прежнему многопоточен, он использует потоки более эффективно. При этом ядра AMD, а именно новая (новая) линейка продуктов Ryzen решают эту проблему, добавляя больше физических ядер, обеспечивая сопоставимые результаты без доступа к этой технологии.

Многопоточность и гиперпоточность и пропуски кеша

Промахи в кэше — это попытки процессора прочитать память, загруженную в кэш ЦП.Если процессор выходит из строя, он должен получить доступ к информации из различных типов модулей памяти, таких как ОЗУ или постоянное хранилище, что вызывает задержку. Это определенно может снизить производительность вашего процессора. Выполнение двух параллельных потоков позволяет процессору получать информацию, запланированную в параллельном потоке, сводя к минимуму время простоя. Это увеличивает производительность независимо от того, какое приложение вы используете, и повышает производительность по всем направлениям.

Что такое Hyper-Threading

Hyper-threading дебютировал в 2002 году и был попыткой Intel довести параллельные вычисления до потребителей.Это своего рода уловка, поскольку ОС распознает потоки как отдельные ядра ЦП. Когда вы используете Intel Chip, ваш диспетчер задач покажет вам удвоенное количество ядер и будет рассматривать их как таковые. Это позволяет им обмениваться информацией и ускорять процесс декодирования за счет совместного использования ресурсов между ядрами. Intel утверждает, что эта технология может повысить производительность до 30%.

Как работают ядра и потоки ЦП?

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

Одно ядро ​​может работать над одной задачей за раз. Использование нескольких ядер позволяет более плавно запускать различные приложения. Например, если вы планируете запускать видеоигру, для запуска игры потребуется несколько ядер, а на других ядрах можно будет запускать фоновые приложения, такие как Skype, Spotify, Chrome или любые другие, которые вы используете.Многопоточность просто делает обработку более эффективной. Это, конечно, приведет к повышению производительности. Это также заставит процессор потреблять больше энергии, но многопоточность уже включена на микросхемах, так что это не повод для беспокойства. Хотя он потребляет больше энергии, это редко вызывает повышение температуры.

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

Ядер и количество потоков при игре

Ядра всегда будут важнее в играх. Сама по себе игра — не слишком сложная задача для процессора. Даже современные игры могут без проблем работать на четырехъядерном четырехпоточном процессоре, в зависимости от кеш-памяти и тактовой частоты процессора. На самом деле потоки полезны, когда вы выполняете несколько задач. Допустим, вы играете и планируете стримить.Многопоточный или гиперпоточный процессор поможет вам запускать игры с воспроизводимой частотой кадров, а также обрабатывать все задачи кодирования, связанные с записью / потоковой передачей.

Если вы планируете записывать игровые кадры и загружать их на такие сайты, как Twitch.tv или Youtube.com, дополнительные потоки помогут процессору запускать программное обеспечение для обработки 2D-видео (например, Adobe Premiere, OBS, After Effects), поэтому инвестируйте в многопоточную , процессор с поддержкой гиперпоточности имеет смысл, если вы планируете использовать записанные игровые кадры.

При этом мы достигли перепутья в играх. Разработчики AAA продолжают раздвигать границы текущих возможностей ПК и продолжают создавать игры, которые требуют гораздо большей загрузки ЦП. Такие игры, как новый Assassin’s Creed (Odyssey и Origins), уже доводят устаревшие процессоры до предела своих возможностей. Более амбициозный игровой дизайн означает, что игры будут более требовательными к ресурсам и менее оптимизированными. В то время как в киберспортивных играх (таких как Overwatch и League of Legends) многопоточность на самом деле не используется, однопользовательские игры с повествованием становятся все более и более амбициозными.

Заключительный дубль

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

Если ваша рабочая нагрузка связана с интенсивными задачами, такими как редактирование видео, вам необходимы многопоточные процессоры. И Intel, и AMD предоставляют множество многоядерных, многопоточных процессоров потребительского уровня.Линия продуктов Ryzen более ориентирована на стоимость, в то время как Intel держит флагманские чипы, а именно i9. Для игр вы, вероятно, сможете получить стабильные 60+ кадров с четырехъядерным процессором с восемью потоками. Если вы планируете транслировать или записывать игровые кадры, вам обязательно стоит подумать о переходе на шестиядерный или восьмиъядерный процессор, если вы не можете инвестировать в специализированную систему. Вы можете ознакомиться с нашими статьями о лучших процессорах для потоковой передачи или редактирования видео, чтобы найти подходящий для ваших нужд.

Прочтите еще одну статью по теме: GDDR6 VS HBM2 Memory

.

Leave a comment