Процессор: потоки или ядра
Содержание:
- Процессы и потоки
- Выбор процессора
- Что такое процессор (CPU)?
- Волокна и планирование пользовательского режима
- Как узнать сколько ядер в процессоре
- Многоядерность и гиперпоточность
- Что такое потоки и на что влияет их количество
- Отличие от процессов
- Что такое ядра процессора и на что они влияют
- Как узнать сколько потоков у процессора
- Как разогнать процессор
- Что такое ядро и поток
Процессы и потоки
Процесс — это исполнение программы. Операционная система использует процессы для разделения исполняемых приложений. Поток — это основная единица, которой операционная система выделяет время процессора. Каждый поток имеет приоритет планирования и набор структур, в которых система сохраняет контекст потока, когда выполнение потока приостановлено. Контекст потока содержит все сведения, позволяющие потоку безболезненно возобновить выполнение, в том числе набор регистров процессора и стек потока. Несколько потоков могут выполняться в контексте процесса. Все потоки процесса используют общий диапазон виртуальных адресов. Поток может исполнять любую часть программного кода, включая части, выполняемые в данный момент другим потоком.
Примечание
Платформа .NET Framework предоставляет способ изоляции приложений в процессе с помощью доменов приложений. (Домены приложений недоступны в .NET Core.) Дополнительные сведения см. в разделе в статье Домены приложений.
По умолчанию программа .NET запускается с одним потоком, часто называемым основным потоком. Тем не менее она может создавать дополнительные потоки для выполнения кода параллельно или одновременно с основным потоком. Эти потоки часто называются рабочими потоками.
Выбор процессора
Теперь, когда мы узнали все основы и четко понимаем, что такое тактовая частота и техпроцесс или почему количество ядер не стоит путать с количеством потоков, нам осталось выбрать подходящий центральный процессора для нашего компьютера.
К сожалению, здесь тоже всё не так просто.
Вот небольшой пример — если Intel Core i3-8100 будет идеальным решением для офиса (работа в Microsoft Office, 1С, почтовыми программами и т. д.), то он едва ли сможет обеспечить стабильный FPS в современных и требовательных играх.
Как не запутаться в таком обилии и разнообразии различных центральных процессоров и выбрать подходящий процессор именно вам? В этом сложном вопросе вам поможет наша статья «Как выбрать процессор для компьютера? Какой процессор лучше: AMD или Intel?», в которой мы постарались доходчиво разобрать все основные моменты, связанные с выбором центрального процессора.
Что такое процессор (CPU)?
Процессор, что это вообще такое? Зачем он нужен? За какие задачи он отвечает?
Для большинства неопытных и технически неподготовленных пользователей процессором зачастую выступает весь системный блок в сборе. Но это относительно ошибочное суждение, процессор — это нечто, что сокрыто за стенками корпуса и толстым радиатором с вентилятором для его охлаждения.
Процессор или, как его еще называют, центральный процессор (Central Processing Unit) — это электронное устройство (интегральная схема), которое выполняет и обрабатывает машинные инструкции, код программ (машинный язык) и отвечает за все логические операции, которые протекают внутри вашей операционной системы и системного блока.
Без преувеличения, процессор можно назвать мозгом (или сердцем, это кому как больше нравится) любого компьютера, мобильного устройства или другого периферийного устройства. Да-да, слово процессор применимо не только к вашему системному блоку, но и планшету, смарт-холодильнику, игровой приставке, фотоаппарату и другой электронике.
Внешне процессор выглядит как квадратный (или прямоугольный) элемент или плата, в нижней части которой располагается контактная группа для подключения, в вверху находится сам кристалл процессора, который сокрыт под металлической крышкой, чтобы исключить возможность повреждения хрупкого кристалла процессора, а также крышка помогает при отводе тепла с поверхности кристалла на радиатор системы охлаждения.
Кристалл процессора состоит из кремния. Если точнее, полупроводники, из которых состоит процессор, производятся из кремния. На кремневой пластине кристалла в несколько слоёв располагается несколько триллиардов транзисторов (размер которых составляет порядка ~10 нм в зависимости от используемого техпроцесса при производстве), которые отвечают за все логические операции процессора.
На самом деле это только поверхностное описание того, из чего состоит процессор, и оно предназначено, скорее, для визуализации того, что из себя представляет процессор внутри. На самом деле все намного сложнее. К сожалению, просто и доходчиво объяснить все принципы создания и работы процессора не так просто, здесь потребуются знания как элементарной алгебры, так и продвинутой физики и электротехники, да и большинству пользователей это попросту не нужно.
Впоследствии производители процессоров научились располагать на печатной плате, помимо самого кристалла процессора, кристалл видеоядра (видеокарты), что позволило исключить необходимость в отдельной дискретной видеокарте для вывода изображения на монитор.
Подводя итог этого блока статьи и что бы дать простой ответ на такой сложный вопрос «Что такое процессор (CPU)» — процессор это сердце любого современного устройства, которое выполняет все основные операции, будь то простое сложение 2+2, набор текста в Microsoft Word или расчет физической модели в Blender.
Волокна и планирование пользовательского режима
Потоки выполняются на центральном процессоре, а за их переключение отвечает планировщик ядра. В связи с тем что такое переключение это затратная операция. В Windows придумали два механизма для сокращения таких затрат: волокна (fibers) и планирование пользовательского режима (UMS, User Mode Scheduling).
Во-первых, поток с помощью специальной функции может превратится в волокно, затем это волокно может породить другие волокна, таким образом образуется группа волокон. Волокна не видимы для ядра и не обращаются к планировщику. Вместо этого они сами договариваются в какой последовательности они будут обращаться к процессору. Но волокна плохо реализованы в Windows, большинство библиотек ничего не знает о существовании волокон. Поэтому волокна могут обрабатываться как потоки и начнутся различные сбои в программе если она использует такие библиотеки.
Потоки UMS (User Mode Scheduling), доступные только в 64-разрядных версиях Windows, предоставляют все основные преимущества волокон при минимуме их недостатков. Потоки UMS обладают собственным состоянием ядра, поэтому они «видимы» для ядра, что позволяет нескольким потокам UMS совместно использовать процессор и конкурировать за него. Работает это следующим образом:
- Когда двум и более потокам UMS требуется выполнить работу в пользовательском режиме, они сами могут периодически уступать управление другому потоку в пользовательском режиме, не обращаясь к планировщику. Ядро при этом думает что продолжает работать один поток.
- Когда потоку UMS все таки нужно обратиться к ядру, он переключается на специально выделенный поток режима ядра.
Как узнать сколько ядер в процессоре
Основные сведение о компьютере
Перейдите в Свойства компьютера нажав сочетание клавиш Win+Pause&Break. В открывшемся окне напрямую не указывается количество ядер процессора. На примере установленного процессора можно узнать количество ядер непосредственно с его названия (Eight-Core Processor — восьмиядерный процессор). Бывает в названии процессора указывается количество ядер, как Х4 или Х6, в зависимости от модели процессора.
Перейдите в раздел Параметры > Система > О системе. В обновлённом интерфейсе указываются все характеристики компьютера, которые можно увидеть ранее. Непосредственно с названия устройства определяем сколько ядер в установленном в компьютере процессоре.
Приложение сведения о системе
В обновлённом поиске введите Сведения о системе и выберите Запуск от имени администратора. В главном окне открывшего приложения найдите элемент Процессор и посмотрите его значение.
На примере AMD FX(tm)-9370 Eight-Core Processor можно увидеть количество ядер: 4, логических процессоров: 8, хотя в названии процессора указывается значение: 8 физических ядер. Можно предположить, что такие значения указываются из-за своеобразной архитектуры процессора. Но как не странно при правильной оптимизации игровых проектов такой мощности более чем достаточно.
Классический диспетчер задач
Перейдите в диспетчер задач нажав сочетание клавиш Ctrl+Shift+Esc. Классический диспетчер задач в актуальной версии операционной системы можно открыть и другими способами. В открывшемся окне перейдите в закладку Производительность и посмотрите сколько Ядер и Логических процессоров доступно на установленном процессоре.
Стандартная командная строка
В поисковой строке наберите Командная строка, и выберите пункт Запуск от имени администратора. В открывшемся окне выполните команду: WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors.
После выполнения команды пользователю будут выведены значения NumberOfCores — количество ядер и NumberOfLogicalProcessors — количество логических процессоров. Возможно, на только выпущенных процессорах некоторые данные будут неправильно отображаться, но после обновления системы всё встанет на свои места.
Диспетчер устройств в системе
Откройте диспетчер устройств выполнив команду devmgmt.msc в окне Win+R. Теперь перейдите в Процессоры, и посмотрите сколько отображается пунктов (потоков процессора).
В диспетчере устройств можно узнать количество потоков процессора, в случае линейки AMD FX(tm)-9370 количество ядер равно количеству потоков исходя из официальных характеристик устройства (не будем углубляться в подробности построения самого процессора). Здесь отображаются все другие подключённые устройства. Например, можно также узнать, какая видеокарта или процессор стоит на компьютере.
Средство конфигурации системы
О приложении конфигурации системы мы более подробно вспоминали в инструкции: Как зайти в MSConfig Windows 10. Не рекомендуется вносить изменения в конфигурацию системы без ознакомления с описанием каждого параметра.
Выполните команду msconfig в окне Win+R. Перейдите в раздел Загрузка > Дополнительные параметры и после активации пункта Число процессоров можно в ниже представленном списке посмотреть сколько ядер процессора доступно пользователю.
Не применяйте изменения после выбора любого значения, поскольку текущий пункт был создан для ограничения производительности. Вместе со средствами операционной системы можно использовать стороннее ПО. Его использовали для просмотра характеристик компьютера на Windows 10. К самым известным классическим программам относят: CPU-Z, AIDA64 и EVEREST Ultimate Edition.
А также непосредственно современный BIOS материнской платы позволяет ограничить производительность процессора, а значит и можно узнать сколько ядер в установленном процессоре. Для более надёжного и подробного ознакомления с характеристиками процессора рекомендуется посмотреть спецификации на сайте производителя.
Заключение
Существует много способов узнать сколько ядер в процессоре на Windows 10. Стоит различать значения физических ядер и логических потоков. Поскольку сейчас на рынке есть множество процессоров с разными соотношениями ядрам к потокам. Интерес пользователей сейчас притянут к процессорам с увеличенному количеству потоков в два раза.
Многоядерность и гиперпоточность
Ядро – это физически обособленная вычислительная единица процессора, способная в один момент времени выполнять одну последовательность команд. Если ядро одно, а последовательностей требуется выполнять несколько, оно быстро переключается между ними, выполняя задачи поочередно.
Поток (применительно к процессору), или виртуальное ядро – результат реализации вычислений, при котором одно физическое ядро способно программно разделять свою производительность и работать над несколькими последовательностями команд одновременно. Простыми словами, ЦП делает вид для операционной системы и программ, что у него больше ядер, чем есть на самом деле. Убедиться в этом можно, открыв диспетчер устройств или другую программу для мониторинга комплектующих.
Гиперпоточность позволяет распараллеливать вычисления более эффективно – если одно виртуальное ядро завершило работу над своей задачей и находится в режиме ожидания, его ресурсы может использовать другое. В случаях, когда гиперпоточность не поддерживается, эти ресурсы простаивают. Таким образом, поддержка виртуальных ядер может ускорить выполнение некоторых задач, хотя, разумеется, она не так хороша, как наличие дополнительных физических, и удвоения производительности ожидать не стоит.
Иллюстрация концепции потоков/виртуальных ядер:
Рассмотрим следующий упрощенный пример: если двухъядерный процессор с двумя потоками работает с четырьмя последовательностями команд одновременно, а производительность одного ядра для одной последовательности избыточна, то общая производительность будет ниже, чем в случае, если на месте такого процессора будет вариант с двумя ядрами, но с четырьмя потоками, поскольку на переключение между задачами тратится дополнительное время, и часть ресурсов иногда простаивает. А вот если вычислительных ресурсов одного потока недостаточно для выполнения одной последовательности, то виртуальные ядра почти не помогут – нужны дополнительные физические.
Распараллеливание нагрузки при помощи технологии Intel Hyper-Threading
Что такое потоки и на что влияет их количество
Потоки – это виртуальный компонент или код, который разделяет физическое ядро процессора на несколько ядер. Одно ядро имеет до 2 потоков.
Например, если процессор двухъядерный, то он будет иметь 4 потока, а если восьмиядерный – 16 потоков.
Поток создается активным процессом. Каждый раз, когда открывается приложение, оно само создает поток, который будет обрабатывать задачи этого конкретного приложения. Поэтому, чем больше приложений будет открыто, тем больше потоков будет создано.
Существует один поток (код того ядра, выполняющий вычисления, также известный как основной поток) на ядре, который, когда получает информацию от пользователя, создает другой поток и выделяет ему задачу. Аналогично, если он получает другую инструкцию, он формирует второй поток и выделяет ему задачу, создавая таким образом многопоточность.
Единственный факт, который ограничивает создание потоков, – количество основных потоков, предоставляемых физическим процессором. А их количество зависит от ядер.
Потоки стали жизненно важной частью вычислительной мощности, поскольку они позволяют выполнять несколько задач одновременно. Это повышает производительность компьютера, а также позволяет сделать его способным к многозадачности
Благодаря этой технологии становится возможно просматривать веб-страницы, слушать музыку и скачивать файлы в фоновом режиме одновременно.
Отличие от процессов
Потоки отличаются от процессов операционной системы по следующим пунктам:
- процессы обычно независимы, а потоки существуют как подобъекты процесса.
- процессы несут значительно больше информации о состоянии, в то время как несколько потоков внутри процесса совместно используют информацию о состоянии, память и другие вычислительные ресурсы.
- процессы имеют отдельные адресные пространства, а потоки используют его совместно.
- процессы взаимодействуют только через предоставляемые системой механизмы межпроцессного взаимодействия.
- контекстное переключение между потоками в одном процессе обычно быстрее, чем переключение контекста между процессами.
Что такое ядра процессора и на что они влияют
Ядро представляет собой важный компонент ЦП. С его помощью персональный компьютер может обрабатывать массивы информации. Чем больше их используется, тем быстрее будет работать устройство. Если процессор использует несколько ядер, то они связаны между собой логически потоками. Таким образом повышается быстродействие ОС, и пользователь может запускать требовательное программное обеспечение.
К сведению! Ядра CPU позволяют увеличить вычислительную мощность персонального компьютера.
Чем ядра отличаются от потоков или виртуальных ядер
Многие пользователи спрашивают, как включить все процессоры на Виндовс 7. В первую очередь нужно понять, что производительность компьютера не столько зависит от количества используемых ядер, сколько от логических потоков. Таким образом, нужно разобраться, что представляют собой логические потоки и виртуальные ядра, и как они отличаются от физических.
Логический поток представляет собой специальную технологию Hyper Threading. С ее помощью одно физическое ядро разделяет на несколько виртуальных и образует потоки. Таким образом компьютер может обрабатывать в два раза больше задач.
Обратите внимание! Многопоточность улучшает производительность ПК в играх и графических редакторах. Сравнительная таблица:
Сравнительная таблица:
Характеристики | Пояснение |
Заменяют ли виртуальные ядра физические? | Да. Физическое — это реальный аппаратный компонент ЦП. Виртуальное — это способность физического ядра разделяться на несколько независимых потоков, чтобы обрабатывать в два раза больше задач. |
Влияют ли Virtual Core на производительность компьютера? | Влиять они могут только в том случае, если на компьютере установлен процессор с небольшим кэшем 2 и 3 уровня, а также с низкой тактовой частотой. |
Количество используемых Physic Core в диспетчере задач
Как узнать сколько потоков у процессора
Само ядро – это непосредственно тот элемент, который отвечает за математические вычисления, согласно принятому в нем алгоритму. Процессор можно назвать своего рода «коробкой» для ядер, он объединяет их и обеспечивает взаимодействие с остальными компонентами системы.
Коротко по сути и маленькая предыстория
Технология Hyper-threading дает возможность хранения двух потоков одновременно. Поэтому при использовании операционной системы Windows, процессор на 2 ядра имеет в своем активе 4 потока. Такие вычислители еще часто называют процессорами, поддерживающими Hyper-treading (гипертрейдинг).
Дорогие и высокопроизводительные процессоры содержат ядра и потоки. Многие считают, что это смежные понятия, однако это не до конца верно. Впервые потоки появились еще в те времена, когда на рынке технологий царствовал Pentium 4.
Среди некоторых пользователей бытовало мнение, что они отрицательно сказываются на производительности. Это утверждение является несколько ошибочным, ведь дело в оптимизации программного обеспечения.
Программ, которые могли корректно использовать данное преимущество было не много, если вообще были. Эта разработка находилась на стадии, своего рода, полевых исследований.
Система сама все о себе знает
Когда пользователь взаимодействует с конкретными программами компьютера, это вовсе не значит, что больше машина ничего не делает. Есть служебные задачи и фоновые процессы, выполнение которых происходит незаметно на первый взгляд.
Чтобы узнать подробную информацию в операционной системе Windows существует «Диспетчер задач», который в том числе покажет, сколько ресурсов компьютера используется в данное время.
Этот инструмент удобен, часто бывает полезен и обладает интуитивно понятным интерфейсом. Для того, чтобы открыть это приложение, нужно одновременно зажать клавиши Ctrl+Alt+Delete.
Так это выглядит на Windows 10. Пользователи Mac OS найдут на своем компьютере утилиту «Принудительное завершение программ», которое легко вызвать при помощи клавиш cmd alt Esc. Она также дает возможность закрыть программу, которая перестала отвечать.
Еще одна популярная операционная система с открытым исходным кодом, Linux, тоже содержит диспетчер задач, только называется он по-другому – «Системный монитор».
Добраться до него помогут 3 простых шага:
- Меню
- Системные утилиты
- Системный монитор
или можно воспользоваться командой
gnome-system-monitor.
Функционал «Системного монитора» полностью соответствуют таковым в «Диспетчере задач» Windows и «Принудительному завершению программ» в операционной системе от компании Apple.
Почему так быстрее
Поток, обработавший одну порцию данных, ожидает получение другой, а если он не получает, то помогает другому потоку. Таким образом достигается максимальное быстродействие, за счет того, что все ресурсы компьютера используются рационально. Он, в какой-то степени, становится более гибким.
Количество потоков всегда вдвое больше, нежели количество ядер (при наличии «на борту» технологии HT). 2 ядра равнозначно 4-ем потокам, 4 ядра равнозначно 8-и потокам. Алгоритм просчета не может бить иным. Авторство разработки принадлежит компании Intel, являющейся лидером в производстве процессоров на массовом потребительском рынке.
Таким образом, одно физическое реальное ядро состоит из двух виртуальных ядер. Не только ОС, но и программы, которые установлены на устройстве, видят это и используют открытый перед ними потенциал возможностей. Если программа поддерживает многопоточность, то работать она будет намного быстрее.
Пошаговое руководство для новичков
Соответственно, чтобы узнать количество потоков, необходимо выяснить количество ядер, содержащихся в процессоре. Для это есть 3 (как минимум) способа:
1. Документация устройства, в которой подробно указаны характеристики.
2. Интернет, где можно ввести модель ноутбука и посмотреть, что находится у него «под капотом».
3. Или же в этом может помочь уже упомянутый ранее «Диспетчер задач», в котором нужно выбрать пункт меню «Производительность».
Так как узнать, сколько потоков у конкретного процессора подскажут полезные информационные поля под диаграммой, дополнительных программ устанавливать не требуется. Поле «Ядра» сообщает о количестве физических ядер, а поле «Логические процессы» подсказывает сколько логических или же виртуальных ядер содержит компьютер.
Проанализировав скриншот выше, становится очевидно, что данная электронно-вычислительная машина, то бишь компьютер, содержит 4 ядра и 8 логических процессов (считай – потоков). Когда значения двух параметров одинаковы, это означает, что данный компьютер не поддерживает технологию HT (Hyper-threading).
Как разогнать процессор
Проведение оверклокинга, или разгона центрального процессора, может быть целесообразно при наличии устаревшего оборудования и отсутствии средств для покупки нового камня. Обычно проведение процедуры позволяет получить прирост производительности от 10 до 20%. Существует два метода, как провести разгон, – путём увеличения частоты шины FSB или повышения множителя процессора. Современные компьютеры, по общему правилу, поставляются с заблокированным множителем, поэтому самым доступным будет способ изменения частоты системной шины.
Основные советы по разгону:
- Трогать питание ядра при отсутствии опыта не рекомендуется.
- Повышение показателя частоты следует проводить поэтапно, увеличивая за один раз не более чем на 100 МГц.
- Отслеживать температуру, поскольку при повышении частоты увеличивается тепловыделение.
- При решении увеличить питание ядра шаг составляет 0,05В, при этом максимальный предел не должен превышать 0,3В, иначе велика вероятность выхода ЦП из строя.
- После каждого повышения требуется тестировать стабильность работы. При первых сбоях разгон необходимо прекратить.
Упростить процесс разгона можно посредством применения специальных программ, которые самостоятельно контролируют основные параметры, затрагиваемые при оверклокинге.
Процессор – это сердце вашего ПК. Именно здесь идёт администрирование всех процессов машины. От того, насколько эффективно будет работать этот блок, зависит качество работы всего компьютера. А значит, и ваша уверенность и спокойствие полностью зависят от выбора качественной начинки аппаратно-вычислительной машины.
Если у вас есть вопросы к нашим экспертам, можно оставить их ниже.
Что такое ядро и поток
Ядро – упрощенно это физическая единица процессора, способная в определенно взятый момент времени выполнять одну последовательность команд. Если ядро одно, а команд много, ядро переключается между ними, выполняя задачи поочередно в зависимости от приоритета.
Поток его еще называют иногда виртуальным ядром – результат работы современных технологий (в процессорах производства компании Intel – эта технология называется Hyper Threading, а у компании AMD – SMT технологией), когда ядро, с помощью специальных технологий, способно разделять свою производительность. Выражение одно ядро и два потока говорит о том, что физически одно ядро, но это ядро виртуально делится на два и позволяет распараллеливать задачи и решать их одновременно. То есть при наличии двух сравнительно «простых задач» процессор сможет выполнить их в два раза быстрее, чем обычный процессор с одним ядром. Примером таких задач могут быть скачивание фоном файлов, работа антивируса. Технология создания потоков позволяют делать несколько параллельных вычислительных каналов, что позволяет использовать способности компьютеров более эффективно, так как если одно из виртуальных ядер закончило свою работу, то может присоединиться к работе другого ядра. Производительность повыситься, но повышение будет ограниченно, так как используются ресурсы (тактовая частота измеряется в МГц– то есть вычислительная способность) физического ядра, которое у нас одно. Только используя специальные программы, работающие с гиперпотоком и при правильной оптимизации можно прочувствовать прирост в производительности.
Можно сделать вывод, что при работе с «простыми» задачами одноядерный процессор с двумя потоками по производительности сопоставим с «настоящими» двухъядерными процессорами, но если задачи будут «сложными» например архивация, рендеринг видео, то для увеличения производительности стоит задуматься о приобретении процессора с большим количеством ядер. Так как многоядерные процессоры более предпочтительны для серьезных задач чем многопоточные.