Как включить однопоточный режим процессора

Обновлено: 04.07.2024

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

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

Начнем с того, что каждый современный процессор построен на физических ядрах с определенной частотой. Допустим, 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? Процесс кратковременно повышает частоту процессора на несколько сотен мегагерц в особо сложных сценариях, чтобы вы не испытывали проблем при обработке сложных данных.

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

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


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

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

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

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

Здравствуй, хабра-человек.
Как известно, Microsoft очень хорошо потрудилась над своим последним детищем по имени Windows 7 и внесла много различных нововведений, об одном из которых я и хочу рассказать. Особенно актуально, я думаю, это будет для владельцев ноутбуков и нетбуков, но и пользователи настольных систем так же могут получить профит.
Как известно, самое большое новшество в «семерке» (после GUI) — это переработанная подсистема ACPI. Тут и нормальная поддержка многоядерных систем, и управление питанием устройств, мониторинга аппаратных средств, да и много чего еще, но одна очень интересная возможность остается за кадром — речь идет об энергопотреблении и управлении ядрами многоядерных/многопроцессорных систем.

Windows 7 позволяет управлять электропитанием процессоров, а так же назначать политики активности/простоя ядер.
При работе на многоядерных процессорах производится постоянная ротация потоков между ядрами и система переносит поток с более загруженных на менее загруженные ядра, что обеспечивает равномерную загрузку всех ядер, но и не менее равномерное энергопотребление, приводит к потере производительности и повышению энергопотребления, а это сказывается в первую очередь на сроке работы от аккумулятора. Сегодня я попытаюсь «восстановить справедливость» штатными средствами ОС.

В Windows 7 и Windows 2008 R2, была реализована функция «Processor performance core parking» или по нашему — «Система парковки ядра», которая оставляет выполнение процесса на том ядре, на котором он начался, до полного его завершения. Такой подход позволяет получить более динамичную систему и значительно снизить потребление энергии.
В отличии от штатного режима работы, когда процессы постоянно переносятся с одного ядра на другое, равномерно загружая ЦП, Система парковки позволяет подключать ядра по мере необходимости, стараясь сложить все задачи на минимальное количество ядер (в идеале на одно).

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

И так, как же добиться такой фичи?

Для начала в реестр необходимо добавить следующие ключи
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\5d76a2ca-e8c0-402f-a133-2158492d58ad]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\a55612aa-f624-42c6-a443-7397d064c04f]
"Attributes"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\ea062031-0e34-4ff1-9b6d-eb1059334028]
"Attributes"=dword:00000000

После этого идем в

Панель управления -> Электропитание -> Настройка плана электропитания -> Изменить дополнительные параметры питания -> Управление питанием процессора
  • Минимальное число ядер в состоянии простоя (Processor performance core parking min cores) — Установить 25% для четырех ядерного процессора (одно ядро) — или 50% для двух ядерного процессора.
  • Разрешить состояния снижения питания (Allow Throttle States) – Включить.
  • Отключение простоя процессора (Processor idle disable) — Включить состояние простоя.
  • Переопределение ядра приостановки ядра производительности процессора (Processor performance core parking core override) – Отключено.
  • Максимальное число ядер в состоянии простоя (Processor performance core parking max cores) — Установить 100% (использовать все ядра)

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


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


Доброго времени!

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

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

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

Так вот, задав определенные настройки электропитания, можно ограничить работу функции парковки ядер и повысить общую производительность (в некоторых случаях до 20%!). На мой взгляд есть смысл попробовать потратить 3-5 мин. на "эксперимент"!

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

Как настроить тонко электропитание процессора

Чтобы не быть голословным о повышении производительности, приведу один небольшой тест быстродействия в WinRAR (офиц. сайт архиватора). На скриншоте ниже: в левой части приведена общая скорость до оптимизации настроек; справа — после. Даже невооруженным глазом видно, что в тестах ЦП начинает работать быстрее (что положительно сказывается и в реальных задачах, тех же играх, например) .


Разница в производительности

Примечание : рекомендую вам запустить тест в WinRAR сначала до оптимизации настроек (и запомнить общую скорость), и затем провести тест после оптимизации. Далее просто сравнить эти числа, в ряде случаев удается выжать из ЦП еще 10-20%!

Важный момент!

Как уже сказал выше, в первую очередь этот вопрос касается многоядерных процессоров (4 ядра и выше). Чтобы узнать количество ядер своего ЦП — просто запустите утилиту CPU-Z, и посмотрите в нижнюю часть окна: в графе Cores увидите кол-во ядер (пример ниже).

CPU-Z — 4 Cores (4 ядра, 8 потоков)

1) И так, начать нужно с настройки реестра.

Тут дело в том, что Windows по умолчанию скрывает часть настроек электропитания. Чтобы их открыть для редактирования, необходимо внести определенные изменения в реестр. Проще всего это сделать с помощью уже готового файла настроек, который нужно просто запустить и согласиться с добавлением параметров в системный реестр. Вот подготовленный файл: core_parking (нужно извлечь его из архива и запустить. Архив запакован с помощью WinRAR, актуален для Windows 7-10) .


Редактор реестра — настройки успешно внесены в реестр

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

2) Настройка схемы электропитания

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


Настройка текущей схемы электропитания

Далее нужно открыть дополнительные настройки питания.


Изменить дополнительные параметры питания

Теперь самое главное (см. скриншот ниже):

  1. минимальное число ядер в состоянии простоя: рекомендуется выставить значение в 99% (почему-то если выставить 100% — Windows часто отправляет одно ядро "отдыхать");
  2. разрешить состояние снижения питания: переведите в режим выкл. (не дает процессору экономить энергию);
  3. отключение простоя процессора: переведите режим в откл.;
  4. минимальное состояние процессора: 100% (незначительно ускоряет работу ЦП (кстати, в некоторых случаях позволяет уменьшить писк от дросселей )) .
  5. политика охлаждения системы: активная (более эффективно охлаждает ЦП);
  6. максимальное состояние процессора: 100% (очень сильно влияет на производительность! Обязательно выставите на 100%);
  7. максимальное число ядер в состоянии простоя: 100% (противоречивая опция. Если выставить что-то отличное от 100% — то грузятся почему-то не все ядра, несмотря на то что активны все. ).


Дополнительные параметры электропитания

Сохраните настройки и перезагрузите компьютер!

3) Еще раз о режиме питания (касается в первую очередь ноутбуков)

После перезагрузки компьютера (ноутбука) — обратите внимание на режим питания (кликните по батарейке в трее). Выставите производительность на 100%!


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

Питание ноутбука // менеджер ноутбука

4) Тестирование быстродействия

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


Тестирование — WinRAR / Кликабельно

Дополнение!

Чтобы посмотреть, как идет нагрузка на ядра ЦП — откройте "Диспетчер задач" (Ctrl+Shift+Esc) и перейдите во вкладку "Производительность" . Далее щелкните правой кнопкой мышки по графику загрузки ЦП и в меню выберите "Изменить график/Логические процессы" . См. скрин ниже.


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

В результате у вас будет не один график, а несколько, в зависимости от количества ядер (потоков).


Все ядра загружены

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


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


PS

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


Некоторые уже наверное слышали, что одним из источников фризов в Battlefield 4 (и не только в этой игре) является технология от Интел «Парковка ядер». Из за того что в Windows 7 эта технология работает, скажем так — не лучшим образом. Она снижает производительность процессора.

Есть на просторах интернета, такая программа как UnparkCPU, и решить проблему падения производительности многие пытаются именно с помощью её. И в результате её использования многие, возможно видели положительный результат, в производительности вашего ПК. Но знаете ли Вы, что UnparkCPU не совсем корректно реализует отключение технологии «Парковка ядер»?

Хотите, что бы производительность вашего компьютера, процессора, стала ещё выше?

Как проверить быстро, простым способом производительность Вашего ЦП в любом из двух режимов его работы? Первый режим работы ЦП этот будет режим «по умолчанию», то есть режим, в котором Вы вообще ничего не меняли в разделе «Управление питания процессора». А второй режим работы — это когда Вы применяли программу UnparkCPU.
Делаем так. Качаем программу WinRAR отсюда. И проверяем Тестом на производительность, Ваш ЦП. Какая цифра получилась? :)


WinRAR 5.00 (64 bit). А у меня:

Далее, собственно повышаем производительность ЦП.

  1. Минимальное число ядер в состоянии простоя: 99%.
  2. Разрешить состояния снижения питания: Вкл.
  3. Отключение простоя процессора: Включить состояние простоя.
  4. Минимальное состояние процессора: 0%.
  5. Политика охлаждение системы: Активный.
  6. Переопределение ядра приостановки ядра производительности процессора: Включено.
  7. Максимальное состояние процессора: 100%.
  8. Максимальное число ядер в состоянии простоя: 100%.
  1. Если сделать 100%, или сделать ниже 94% опцию, то одно из ядер у Вас будет приостановлено системой. Чем меньше % поставите тем больше ядер будут в простое. Зависит от количества ядер в вашей системе. У меня 8 виртуальных.
  2. Что бы процессор был холоднее. На производительность не влияет.
  3. Что бы процессор был холоднее. Негативно влияет на производительность процессора, если выключить.
  4. У меня ни на что не влияет. Но у некоторых пользователей отключает энергосберегающие технологии (понижение частоты ЦП и снижение напряжения). По этому в ноль значение.
  5. Что бы процессор был холоднее. Что интересно, латентность в работе с оперативной памятью системы повышается, если эту опцию деактивировать. Проверял в AIDA64.
  6. Немного снижает производительность ЦП.
  7. Хотите что бы ядра работали на все 100%? Тогда и ставьте 100% в этой опции. Это ограничение максимальной нагрузки процессора.
  8. Очень интересная опция. Если сделать например 0%, то не все ядра будут грузиться системой. А например только лишь 4 из 8, тем же WinRAR 5.00 или в Battlefield 4. И это при том, что активны будут все(!) ядра, не одно не будет приостановлено.

Ну а теперь, запускайте тест в WinRAR. Ну как? Циферки поднялись?

У меня было раньше 4700-5700 примерно. Максимум примерно до 6000 прыгал результат.

Теперь смотрите скрины из игры Battlefield 4 (все опции ультра, сглаживание убрано):



Самый минимальный ФПС который я видел, это 45. И то, это было кратковременное снижение производительности, на карте 64/64 игроков, в тесном помещении при взрывах и грохотах. Средний ФПС 50-55. И это на видеокарте 580GTX, и процессором i7860. Не самая топовая «конфа» в наше время. Да?
Результаты.
Все ядра в диспетчере задач во время игры (или любое другое многопточное задание), практически загружаются равномерно, не одно ядро в простое не наблюдал, парковка вырублена напрочь! Выключена только парковка ядер, другие энергосберегающие технологии остались на месте! Температуры по ядрам во время игры максимум 65-67 градусов. UnparkCPU это плохо. Так что. Советую сделать все опции, как я описал выше, что бы получить результат максимальный — как у меня.
Не забывайте. Все результаты были исследованы на моей конфигурации компьютера. У меня процессор Интел — i7860 с включённым HT и в разгоне до 3800 герц. У меня не АМД. У тех, у кого АМД я Вам точно не гарантирую, что повысится производительность. У может Вас, может будет другой результат? Хотя не должно быть по другому, если на и на АМД реализована технологи парковки ядер. Старался учесть любое количество ядер в ЦП, этими настройками. Там не просто так стоят те циферки, которые я указал. Они не «от балды» все. :)
Спасибо за внимание. С наилучшими пожеланиями к Вам — помочь. Приятной игры! ;)

ЗЫ: За темой слежу. Я не оставлю её.

Благодаря важной информации от Ligas и KROOM (спасибо Вам!) 4-ый пункт в настройках питания «Минимальное состояние процессора» выставлен в 0%. Так как на некоторые типы процессоров этот параметр влияет, и не даёт работать функции энергосбережения по частоте и вольтажу процессора, повышая частоту процессора и напряжение на нём до максимума, который выставлен в настройках БИОС. Тем более как я ранее выяснил у себя, этот параметр не влияет на производительность процессора. :)

Читайте также: