Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Ошибки
  • Вся правда о многоядерных процессорах. Потоковые процессоры

Вся правда о многоядерных процессорах. Потоковые процессоры

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

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

Используем диспетчер устройств

Узнать нужную информацию можно стандартными средствами Windows. Чтобы открыть утилиту :

В результате вы получите список, состоящий из типов установленных устройств. Там же есть и пункт «Процессоры ». Нажмите на стрелку слева от него, либо дважды щёлкните по его названию. В результате развернётся список из нескольких позиций, каждая из которых соответствует одному потоку команд. Если ваш ЦП поддерживает гиперпараллельность («Hyper Threading »), то, чтобы узнать число реальных ядер, следует поделить количество этих позиций на 2. Если такой технологии нет, делить не нужно.

Через диспетчер задач

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

Windows 7 . В окне программы перейдите на вкладку «Быстродействие ».

Справа вверху вы увидите несколько графиков, озаглавленных как «Хронология загрузки ЦП ». Если график только один, зайдите в меню «» выставьте «По графику на каждый ЦП ». В результате количество этих графиков будет отображать количество потоков. Если процессор поддерживает гиперпараллельность, то, чтобы узнать число физических ядер, кол-во графиков следует поделить на 2.

Windows 10 . В окне программы щёлкните по вкладке «Производительность ».

В правом нижнем углу вы увидите основные характеристики своего ЦП, в том числе количество физических ядер и потоков («логических процессоров »).

Используем программу Everest

Everest – не бесплатная утилита, но, тем не менее, функционала её пробной версии достаточно, чтобы узнать основную информацию о системе.

В окне программы вы увидите множество значков. Нажмите на иконку с надписью «Системная плата ».

Из появившихся значков нажмите на «ЦП ». В открывшемся списке свойств обратите внимание на «Тип ЦП ». Здесь вы и найдёте интересующую вас информацию.

Определяем количество ядер через CPU-Z

Это приложение очень удобно своей компактностью, бесплатностью и простотой интерфейса. Сразу после запуска перед вами открывается вкладка со всеми основными свойствами процессора, среди которых кол-во физических ядер английской версии «Cores ») и потоков («Threads »).

Смотрим документацию

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

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

Большинство процессоров сейчас 2-4 ядерные, но имеются дорогие модели для игровых компьютеров и дата-центров на 6 и даже 8 ядер. Ранее, когда центральный процессор имел всего одно ядро, вся производительность заключалась в частоте, а работа с несколькими программами одновременно могла полностью «повесить» ОС.

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

Способ 1: AIDA64

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

Инструкция выглядит следующим образом:


Способ 2: CPU-Z

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

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

Способ 3: Диспетчер задач

Данный способ подходит только для пользователей ОС Windows 8, 8.1 и 10. Выполните эти действия, чтобы узнать количество ядер таким способом:


Способ 4: Диспетчер устройств

Этот способ подходит для всех версий Windows. Используя его, следует помнить, что на некоторые процессоры от Intel информация может быть выдана неверно. Дело в том, что ЦП от Intel используют технологию Hyper-threading, которая делит одно ядро процессора на несколько потоков, тем самым повышая производительность. Но при этом «Диспетчер устройств» может видеть разные потоки на одном ядре как несколько отдельных ядер.

Пошаговая инструкция выглядит так:


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

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

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

Есть ли возможность запуска параллелизуемого процесса для большего количества потоков, чем ядра? Другими словами, мой процесс завершится быстрее, медленнее или примерно за такое же количество времени, если я запустил его с использованием 4000 потоков вместо 4 потоков?

13 ответов

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

Недавно я занимался тестированием производительности на двухъядерном процессоре, работающем на приложении ASP.NET на Mono, при довольно приличной нагрузке. Мы играли с минимальным и максимальным количеством потоков, и в итоге мы выяснили, что для этого конкретного приложения в этой конкретной конфигурации наилучшая пропускная способность была где-то между 36 и 40 потоками. Все, что за пределами этих границ, хуже. Урок выучен? Если бы я был вами, я бы тестировал с различным количеством потоков, пока не найду нужный номер для вашего приложения.

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

Я согласен с ответом @Gonzalo. У меня есть процесс, который не выполняет операции ввода-вывода, и вот что я нашел:

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

Машина 1.86 - это компьютер macbook с SSD. Другой mac - это iMac с обычным жестким диском (я думаю, это 7200 об/мин). У машины Windows также есть жесткий диск емкостью 7200 об/мин.

В этом тесте оптимальное число было равно числу ядер в машине.

Я знаю, что этот вопрос довольно старый, но все сложилось с 2009 года.

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

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

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

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

Из моего собственного опыта, если у вас много ввода-вывода, много потоков - это хорошо. Если у вас очень интенсивная работа с интенсивной памятью (прочитайте источник 1, прочитайте источник 2, быстро вычислите, напишите), то больше потоков не поможет. Опять же, это зависит от того, сколько данных вы читаете/записываете одновременно (т.е. Используете SSE 4.2 и читаете 256 битовых значений, что останавливает все потоки на своем шаге... другими словами, 1 поток, вероятно, намного проще реализовать и вероятно, почти так же быстро, если не на самом деле быстрее. Это будет зависеть от вашей архитектуры процесса и памяти, некоторые продвинутые серверы управляют отдельными диапазонами памяти для отдельных ядер, поэтому отдельные потоки будут быстрее, если ваши данные будут правильно поданы... вот почему, на некоторых архитектуры, 4 процесса будут работать быстрее, чем 1 процесс с 4 потоками.)

Фактическая производительность будет зависеть от того, сколько добровольного урожая каждого потока будет сделано. Например, если потоки вообще не имеют ввода/вывода NO и не используют системные службы (т.е. Они связаны на 100% cpu), то 1 поток на ядро ​​является оптимальным. Если потоки выполняют все, что требует ожидания, вам придется поэкспериментировать, чтобы определить оптимальное количество потоков. 4000 потоков будет иметь значительные накладные расходы на планирование, поэтому, вероятно, тоже не оптимально.

Ответ зависит от сложности алгоритмов, используемых в программе. Я придумал метод вычисления оптимального количества потоков, выполнив два измерения времени обработки Tn и Tm для двух произвольных чисел потоков n и m. Для линейных алгоритмов оптимальным числом потоков будет N = sqrt ((mn (Tm * (n-1) - Tn * (m-1)))/(nTn-mTm)).

Прочитайте мою статью относительно расчетов оптимального числа для различных алгоритмов: pavelkazenin.wordpress.com

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

Слабое масштабирование: как время решения зависит от количества процессоров для фиксированного размера проблемы на процессор.

Сильное масштабирование: как время решения зависит от количества процессоров для фиксированного общего размера проблемы.

Если вопрос предполагает слабое масштабирование, то достаточно ответить @Gonzalo. Однако, если вопрос предполагает сильное масштабирование, нужно добавить что-то еще. При сильном масштабировании вы принимаете фиксированный размер рабочей нагрузки, поэтому, если вы увеличиваете количество потоков, размер данных, с которыми каждый поток должен работать, уменьшается. На современных процессорах доступ к памяти является дорогостоящим и предпочтительнее поддерживать локальность, сохраняя данные в кэшах. Поэтому вероятное оптимальное количество потоков может быть найдено, когда набор данных каждого потока вписывается в каждый кэш ядра (я не буду вдаваться в подробности обсуждения того, является ли это кеш (L1/L2/L3) системы L1).

Это справедливо даже тогда, когда число потоков превышает количество ядер. Например, предположим там 8 произвольных единиц (или AU) работы в программе, которые будут выполняться на 4-ядерном компьютере.

Случай 1: выполняется с четырьмя потоками, где каждый поток должен заполнять 2AU. Каждый поток занимает 10 секунд для завершения (с большим количеством промахов в кеше ). С четырьмя ядрами общий объем времени будет составлять 10 с (10 с * 4 потока /4 ядра).

Случай 2: выполняется с восемью потоками, где каждый поток должен заполнять 1AU. Каждый поток занимает всего 2 секунды (вместо 5s из-за уменьшения количества промахов в кэше ). С восемью ядрами общий объем времени составит 4 с (2 с * 8 потоков /4 ядра).

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

4000 потоков за один раз довольно высоки.

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

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

Я бы начал наращивать количество потоков для приложения, начиная с 1, а затем переходить к чему-то вроде 100, запускать три-пять проб для каждого количества потоков и строить себе график скорости работы против. количество потоков.

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

Вы не можете знать, пока не проверите.

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

Вы можете использовать man-страницу о команде "ps".

  • ps -aux| wc -l
  • ps -eLf | wc -l

Расчет количества пользовательских процессов:

  • ps --User root | wc -l

Кроме того, вы можете использовать "htop"

Многие люди при покупке процессора стараются выбрать что-нибудь покруче, с несколькими ядрами и большой тактовой частотой. Но при этом мало кто знает, на что влияет количество ядер процессора в действительности. Почему, например, обычный и простенький двухъядерник может оказаться быстрее четырехядерника или тот же "проц" с 4 ядрами будет быстрее "проца" с 8 ядрами. Это довольно интересная тема, в которой определенно стоит разобраться более детально.

Вступление

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

Как бы ни развивался техпроцесс, что "Интел", что "АМД" уперлись в чисто физические ограничения, которые попросту не позволяли выпускать "процы" с тактовой частотой до 10 Ггц. Тогда и было принято решение сфокусироваться не на частотах, а на количестве ядер. Таким образом, началась новая гонка по производству более мощных и производительных процессорных "кристаллов", которая продолжается и по сей день, но уже не столь активно, как это было на первых порах.

Процессоры Intel и AMD

На сегодняшний день "Интел" и "АМД" являются прямыми конкурентами на рынке процессоров. Если посмотреть на выручку и продажи, то явное преимущество будет на стороне "синих", хотя в последнее время "красные" стараются не отставать. У обоих компаний имеется хороший ассортимент готовых решений на все случаи жизни - от простого процессора с 1-2 ядрами до настоящих монстров, у которых количество ядер переваливает за 8. Обычно подобные "камни" используются на специальных рабочих "компах", которые имеют узкую направленность.

Intel

Итак, на сегодняшний день у компании Intel успехом пользуются 5 видов процессоров: Celeron, Pentium, и i7. Каждый из этих "камней" имеет разное количество ядер и предназначенные для разных задач. Например, Celeron имеет всего 2 ядра и используется в основном на офисных и домашних компьютерах. Pentium, или, как его еще называют, "пенек", также используется в дому, но уже имеет гораздо лучшую производительность, в первую очередь за счет технологии Hyper-Threading, которая "добавляет" физическим двум ядрам еще два виртуальных ядра, которые называют потоками. Таким образом, двухъядерный "проц" работает как самый бюджетный четырехъядерник, хотя это не совсем корректно сказано, но основная суть именно в этом.

Что же касается линейки Core, то тут примерно схожая ситуация. Младшая модель с цифрой 3 имеет 2 ядра и 2 потока. Линейка постарше - Core i5 - имеет уже полноценные 4 или 6 ядер, но лишена функции Hyper-Threading и дополнительных потоков не имеет, кроме как 4-6 стандартных. Ну и последнее - core i7 - это топовые процессоры, которые, как правило, имеют от 4 до 6 ядер и в два раза больше потоков, т. е., например, 4 ядра и 8 потоков или 6 ядер и 12 потоков.

AMD

Теперь стоит сказать про AMD. Список "камушков" от данной компании огромен, смысла перечислять все нет, поскольку большинство из моделей уже попросту устарели. Стоит, пожалуй, отметить новое поколение, которое в некотором смысле "копирует" "Интел" - Ryzen. В данной линейке также присутствуют модели с номерами 3, 5 и 7. Главное отличие от "синих" у Ryzen заключается в том, что самая младшая модель уже сразу предоставляет полноценные 4 ядра, а у старшей их не 6, а целых восемь. Кроме этого, и количество потоков меняется. Ryzen 3 - 4 потока, Ryzen 5 - 8-12 (в зависимости от кол-ва ядер - 4 или 6) и Ryzen 7 - 16 потоков.

Стоит упомянуть и о еще одной линейке "красных" - FX, которая появилась в 2012 году, и, по сути, данная платформа уже считается устаревшей, но благодаря тому, что сейчас все больше и больше программ и игр начинает поддерживать многопоточность, линейка Vishera вновь обрела популярность, которая наряду с низкими ценами только растет.

Ну а что касается споров касательно частоты процессора и количества ядер, то, по сути, правильнее смотреть в сторону второго, поскольку с тактовыми частотами уже давно все определились, и даже топовые модели от "Интел" работают на номинальных 2. 7, 2. 8, 3 Ггц. Помимо этого, частоту всегда можно поднять при помощи оверклокинга, но в случае с двухъядерником это не даст особого эффекта.

Как узнать сколько ядер

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

Получить более подробную информацию о том, какие технологии поддерживает ваш "камень", какая у него тактовая частота, номер его ревизии и многое другое можно при помощи специальной и маленькой программки CPU-Z. Скачать ее можно бесплатно на официальном сайте. Есть версия, которая не требует установки.

Преимущество двух ядер

В чем может быть преимущество двухъядерного процессора? Много в чем, например, в играх или приложениях, при разработке которых основным приоритетом была однопоточная работа. Взять хотя бы для примера игру Wold of Tanks. Самые обычные двухъядерники типа Pentium или Celeron будут выдавать вполне приличный результат по производительности, в то время как какой-нибудь FX от AMD или INTEL Core задействуют гораздо больше своих возможностей, а итог будет примерно таким же.

Чем лучше 4 ядра

Чем 4 ядра могут быть лучше двух? Лучшей производительностью. Четырехъядерные "камни" рассчитаны уже на более серьезную работу, где простые "пеньки" или "селероны" попросту не справятся. Отличным примером тут послужит любая программа по работе с 3D-графикой, например 3Ds Max или Cinema4D.

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

Конечно, можно взять и какой-нибудь бюджетный "процик" из семейства Core i3, например, модель 6100, но 2 ядра и 2 дополнительных потока все равно будут уступать полноценному четырехядернику.

6 и 8 ядер

Ну и последний сегмент многоядерников - процессоры с шестью и восемью ядрами. Их основное предназначение, в принципе, точно такое же, как и у ЦП выше, только вот нужны они там, где обычные "четверки" не справляются. Кроме этого, на базе "камней" с 6 и 8 ядрами строят полноценные профильные компьютеры, которые будут "заточены" под определенную деятельность, например, монтаж видео, 3Д-программы для моделирования, рендеринг готовых тяжелых сцен с большим количеством полигонов и объектов и т. д.

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

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

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

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

Двухъядерники незнакомы с такой проблемой, потому как не обладают слишком высокой производительностью и тепловыделением соответственно, а вот многоядерники - да. Самыми "горячими" считаются камни от AMD, особенно серии FX. Например, возьмем модель FX-6300. Температура процессора в программе AIDA64 находится в отметке около 40 градусов и это в режиме простоя. При нагрузке цифра будет расти и если случится перегрев, то комп выключится. Так что, покупая многоядерник, нужно не забывать о кулере.

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

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

Подведение итогов

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

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

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

Таким образом, производственные способности просто нивелируются. Это явление получило название 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).

Лучшие статьи по теме