Как уменьшить напряжение на процессоре ноутбука. Уменьшаем тепловыделение процессора и увеличиваем время автономной работы ноутбука

Введение

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

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

Напряжение, тактовая частота и энергопотребление

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

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

Процессоры с пониженным напряжением

Многие мобильные процессоры представляют собой несколько модифицированные версии обычных CPU с пониженным напряжением. Возьмите, например, мобильные процессоры Intel Core 2 . Они отличаются оптимизированным энергопотреблением, но в сравнимых условиях они будут работать с такой же производительностью и потреблять столько же энергии, сколько их настольные "собратья". Линейка Core 2 Duo T заявлена с максимальным энергопотреблением 35 Вт, линейка P ограничивается тепловым пакетом 25 Вт и так далее.

Но существуют экономичные процессоры и для настольных компьютеров. AMD предлагает процессоры с оптимизированным энергопотреблением с суффиксом "e" (Phenom II X4 900e, 905e, и Phenom X4 9350e ). Intel выпускает линейку процессоров Core 2 Quad "S" , которые обеспечивают производительность на уровне стандартных моделей, но остаются в пределах теплового пакета 65 Вт вместо 95 Вт. Хотя экономичные версии процессоров стоят дороже, нас они немало впечатлили, обеспечив снижение энергопотребления в режиме бездействия и под нагрузкой.

Сделай сам?

Можно ли превратить процессор в экономичную версию своими руками? Разгон и повышение напряжения стали очень популярными, но как насчёт снижения напряжения? Мы взяли две материнские платы MSI, которые были в нашем распоряжении: P45D3 Neo, использованную нами в поисках оптимального разгона Core 2 Duo , но на этот раз в паре с процессором Core 2 Extreme QX9650, а также модель 790FX-GD70 для тестов AMD Phenom II X4 955.

Платформы: AMD 790FX и Intel P45

Чтобы исследовать понижение напряжения процессора Phenom II X4 955 мы взяли материнскую плату MSI 790FX-GD70. Данная плата является топовой моделью MSI для Socket AM3, она использует чипсет AMD 790FX, поддерживающий все последние процессоры AMD; плата оснащена технологией ATI CrossFireX (благодаря четырём слотам x16 PCI Express 2.0) и большим количеством функций, полезных энтузиастам. Производитель решил оснастить плату функцией аппаратного разгона, стабилизатором напряжения с 4+1 фазами с динамическим переключением, а также крупной (но не чрезмерно) системой охлаждения на тепловых трубках для чипсета и стабилизаторов напряжения. BIOS позволяет выставлять частоту памяти DDR3 до 2133 MT/s. RAID поддерживается на всех шести портах SATA 3 Гбит/с через южный мост SB750; есть дополнительные порты SATA, FireWire 400 и два гнезда Ethernet 1 Гбит/с, не говоря уже о звуковом кодеке HD 192 кГц.

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



Для процессора Core 2 Quad на Socket 775 (мы использовали Core 2 Extreme QX9650) мы взяли материнскую плату P45D3 Neo, хорошо показавшую себя в наших тестах оптимального разгона Core 2 Duo . Плата построена на чипсете P45, но это не продукт для энтузиастов: придётся довольствоваться тремя фазами стабилизатора напряжения, здесь нет сложной системы охлаждения на тепловых трубках, а стандартные функции чипсета дополняют лишь несколько опций. Дополнительная информация о плате приведена в статье "Intel Core 2 Duo: анализ разгона, производительности и эффективности ". Но мы всё равно использовали эту плату для нашего проекта снижения напряжения, поскольку другие продукты (включая Gigabyte X48T-DQ6 и Asus P5Q Deluxe) тоже не предоставляли опций снижения напряжения других компонентов помимо процессора.


Как правильно снижать напряжение?

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

Drooping

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

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

Если вы используете такие инструменты, как CPU-Z для считывания эффективного напряжения процессора, попробуйте проверить заданное напряжение с помощью CoreTemp - и вы заметите, что два значения будут различаться. Разница между заданным и эффективным напряжением в режиме бездействия называется "offset" (Voffset), а разница напряжения между режимом бездействия и пиковой нагрузкой - "droop" (Vdroop).

Проверка

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

По той же причине довольно легко проверить, будет или нет процессор с пониженным напряжением стабильно работать под пиковыми нагрузками: он будет накладывать Vdroop и снижать рабочее напряжение, чтобы оно было ниже заданного напряжения. Мы использовали Prime95 - замечательную утилиту для загрузки процессора. После 30 минут работы под пиковой нагрузкой без "вылетов" мы приходили к заключению, что система с пониженным напряжением стабильно работает под нагрузкой. Это обычно означает, что стабильной будет работа и в режиме бездействия, поскольку тогда накладывается чуть более высокое напряжение. Но это не применимо к режимам экономии энергии, подобным Intel SpeedStep, которые ещё сильнее снижают частоту (множитель) и напряжение. Мы провели все тесты пониженного напряжения с активной технологией SpeedStep, но это было не нужно для технологии AMD Cool"n"Quiet, поскольку у неё используются штатные напряжения и частоты в режиме бездействия.

Как обычно, нельзя воспринимать наши результаты разгона или уменьшения напряжения как истину в последней инстанции. Здесь всё зависит от вас: нужно либо провести расширенный набор тестов, либо смириться с риском, что система может быть не всегда стабильной. Да и ваши результаты могут быть совершенно иными - возможно, лучше вернуться к более консервативным настройкам (то есть чуть повысить напряжение), чтобы себя обезопасить. В любом случае, потенциал по экономии энергии всё равно будет весьма существенным.


Процессор AMD Phenom II X4 955 остаётся флагманской моделью компании после его объявления в апреле 2009. Благодаря поддержке памяти DDR3 и тактовой частоте 3,2 ГГц AMD смогла конкурировать с Intel Core 2 Quad в некоторых тестах, при этом как процессор, так и платформа обойдутся дешевле. Впрочем, до производительности Core i7 всё равно далеко.

Модели Phenom II X4 доступны на частотах между 2,5 и 3,2 ГГц (см. страницу на web-сайте AMD ). Линейка процессоров 800 оснащена 4x 512 кбайт кэша L2 на ядро и общим кэшем L3 на 4 Мбайт, а у линейки 900 кэша L3 на 50% больше. Все процессоры Phenom II производятся на заводах Globalfoundries по 45-нм техпроцессу DSL SOI, обеспечивающему низкое энергопотребление и хорошие возможности разгона. Будет интересно посмотреть, насколько сильно мы сможем понизить напряжение.

Автоматические настройки BIOS привели к работе Phenom II X4 955 от напряжения 1,32 В по информации CPU-Z. При этом пиковое энергопотребление системы составило 216 Вт при полной нагрузке на CPU. Вполне понятно, что результат есть, куда улучшать.

Все процессоры AMD с активной технологией Cool"n"Quiet могут переходить на частоту 800 МГц в режиме бездействия, при этом штатное напряжение ядра снижается до 0,96 В. Как видно по итоговой таблице ниже, процессор Phenom II переключается на 0,96 В в режиме Cool"n"Quiet независимо от того, какое напряжение CPU выставлено в BIOS. Поэтому и энергопотребление системы в режиме бездействия было всегда одинаковым: 99 Вт. Улучшать в данном случае нечего, если только BIOS не начнёт позволять изменять напряжение в режиме бездействия.

Мы попытались выставлять несколько уровней напряжения (см. таблицу ниже) и проверяли нагрузку на них с помощью теста Prime95 не менее 30 минут. Получилось, что штатное напряжение 1,32 В можно снизить на целых 12% до 1,1175 В. При этом мы снизили энергопотребление системы с 216 до 179 Вт, что составляет падение на 17,2%. Неплохо.

Итоговая таблица

AMD Phenom II X4 955
Напряжение в BIOS Стаб.
Auto 0,96 В* 99 Вт 1,32 В 216 Вт Да
1,3125 0,96 В* 99 Вт 1,288 В 205 Вт Да
1,2875 0,96 В* 99 Вт 1,264 В 199 Вт Да
1,2625 0,96 В* 99 Вт 1,24 В 196 Вт Да
1,2375 0,96 В* 99 Вт 1,216 В 192 Вт Да
1,2125 0,96 В* 99 Вт 1,192 В 186 Вт Да
1,1875 0,96 В* 99 Вт 1,168 В 181 Вт Да
1,175 0,96 В* 99 Вт 1,152 В 179 Вт Да
1,1625 0,96 В* 99 Вт 1,136 В 177 Вт Нет

* выставляется Cool"n"Quiet.


Теперь настало время рассмотреть Intel Core 2 Quad. Мы использовали процессор Core 2 Extreme QX9650, поскольку в нашем распоряжении не было обычной модели Core 2 Quad.

Линейка Core 2 Quad по-прежнему обеспечивает солидную производительность при приемлемых уровнях энергопотребления. Линейки Q8000 и Q9000 построены на 45-нм дизайне Yorkfield. У Q8000 используется 4 Мбайт кэша L2, а у Q9000 6 Мбайт или даже 12 Мбайт кэша L2.

Все четырёхъядерные процессоры Core 2 Quad собираются из двух 45-нм двуядерных кристаллов Wolfdale.

Когда мы выставили напряжение в BIOS в режим "Automatic", то получили у Core 2 Extreme QX9650 1,256 В, в результате чего система при полной нагрузке потребляла 185 Вт.

Напряжение в режиме бездействия напрямую менять не получится, оно будет всегда определяться в зависимости от напряжения CPU, которое вы укажете. В случае настроек BIOS по умолчанию мы получили напряжение 1,192 В после включения технологии SpeedStep, что снизило множитель до 6x, а тактовая частота ядра составила 2,0 ГГц. Получившееся значение энергопотребления в режиме бездействия 94 Вт (см. таблицу ниже) всё ещё ниже энергопотребления системы AMD при напряжении всего 0,96 В и частоте CPU 800 МГц, что довольно странно.

Самым низким стабильным напряжением оказалось 1,072 В, которое мы достигли с помощью настройки в BIOS 1,0785 В. При полной нагрузке это привело к общему энергопотреблению системы всего 148 Вт, то есть мы получили 20% снижение энергопотребления при 16,3% уменьшении напряжения ядра процессора. Следующим шагом должно было стать напряжение 1,0655 В, при котором мы уже потеряли стабильность. К счастью, оно привело к одинаковым сбойным результатам под нагрузкой и в режиме бездействия, что сделало дальнейшее снижение напряжения бессмысленным.

Напряжение в режиме бездействия, следующее из напряжения нашего процессора 1,0785 В, составило 0,1008 В, что позволило получить энергопотребление в режиме бездействия системы 87 Вт. Улучшение меньше 11%, но оно досталось бесплатно, система в тестах работала стабильно.

Intel Core 2 Extreme QX9650
Напряжение в BIOS Эффективное напряжение (безд.) Эффективное энергопотр. (безд.) Эффективное напряжение (нагр.) Эффективное энергопотр. (нагр.) Стаб.
Auto 1,192 В 94 Вт 1,25 В 185 Вт Да
1,1955 В 1,128 В 93 Вт 1,184 В 172 Вт Да
1,1695 В 1,104 В 92 Вт 1,16 В 166 Вт Да
1,1435 В 1,008 В 91 Вт 1,136 В 162 Вт Да
1,175 В 1,048 В 90 Вт 1,104 В 158 Вт Да
1,0915 В 1,016 В 88 Вт 1,08 В 151 Вт Да
1,0785 В 1,008 В 87 Вт 1,072 В 148 Вт Да
1,0655 В 0,992 В 87 Вт 1,056 В 148 Вт Нет


Системное аппаратное обеспечение
CPU AMD AMD Phenom II X4 955 (45 нм, 3,2 ГГц, 4x 512 кбайт кэша L2 и 6 Мбайт кэша L3, TDP 125 Вт, Rev. C2)
CPU Intel Intel Core 2 Extreme QX9650 (45 нм, 3,0 ГГц, 12 Мбайт кэша L2, TDP 130 Вт, Rev. D0)
Материнская плата (Socket 775) MSI P45D3 Neo-F (Rev. 1.0), чипсет: Intel P45, ICH10R, BIOS: 4.2 (02/18/2009)
Материнская плата (Socket AM3) MSI 790FX-GD70 (Rev. 1.0), чипсет: AMD 790FX, SB750, BIOS: 1.3 (04/01/2009)
Память DDR3 2 x 2 Гбайт DDR3-1600 (Corsair TR3X6G-1600C8D 8-8-8-24)
Видеокарта Zotac Geforce GTX 260², GPU: GeForce GTX 260 (576 МГц), видеопамять: 896 Мбайт DDR3 (1998 МГц), 216 потоковых процессоров, частота блока шейдеров 1242 МГц
Жёсткий диск Western Digital VelociRaptor, 300 Гбайт (WD3000HLFS) 10 000 об/мин, SATA/300, кэш 16 Мбайт
Привод Blu-Ray LG GGW-H20L, SATA/150
Блок питания PC Power & Cooling, Silencer 750EPS12V 750 Вт
Системное ПО и драйверы
Операционная система Windows Vista Enterprise Version 6.0 x64 Service Pack 2 (Build 6000)
Драйвер чипсета AMD Catalyst 9.4
Драйвер Nvidia GeForce GeForce 185.85
Драйвер чипсета Intel Chipset Installation Utility Ver. 9.1.0.1012
Intel Storage Drivers Matrix Storage Drivers Ver. 8.8.0.1009


Тесты и настройки

Тесты и настройки
PCMark Vantage Version: 1.00
PCMark Benchmark
Prime 95 Version: 25.7
In-place large FFTs

Результаты тестов

У нас нет графика, демонстрирующего энергопотребление AMD Phenom II X4 955 в режиме бездействия, поскольку напряжение процессоров AMD не меняется. После активации функции Cool"n"Quiet процессор без нагрузки всегда работает на частоте 800 МГц с напряжением 0,96 В (по крайней мере, на нашей материнской плате MSI 790FX-GD70). Поэтому система AMD всегда потребляла 99 Вт в режиме бездействия.

На графике показано энергопотребление системы Core 2 Extreme QX9650 в режиме бездействия на всех протестированных уровнях напряжения. При напряжении 1,008 В можно получить энергопотребление 87 Вт, а при напряжении 1,192 В по умолчанию энергопотребление составляет 94 Вт.


Экономия энергии от снижения напряжения в случае флагманского процессора AMD оказалась весьма существенной. Мы начали со штатного напряжения 1,32 В, которое давало пиковое энергопотребление системы 216 Вт, после чего получили всего 179 Вт под нагрузкой при напряжении 1,175 В. Экономия энергопотребления составила 37 Вт или 17,2% - довольно существенно, поскольку сэкономленной энергии будет достаточно для питания, например, 20" современного дисплея!

Может ли система Intel превзойти 17,2% экономию энергии под пиковой нагрузкой? Может: в данном случае минимальное стабильное напряжение под нагрузкой составило 1,078 В вместо 1,255 В, а энергопотребление всей системы 148 Вт вместо 185 Вт - 20% снижение.

Энергопотребление и эффективность PCMark

Мы сделали замеры производительности PCMark Vantage и энергопотребление при настройках по умолчанию и оптимизированном напряжении систем AMD и Intel.


В случае системы Phenom II X4 955 среднее энергопотребление удалось снизить со 157 до 141 Вт, то есть улучшение составило 10,2%. Система Core 2 Extreme QX9650 смогла снизить энергопотребление со 135 до 117 Вт, то есть результат получился впечатляющим, учитывая вычислительную мощность, превосходящую топовый процессор AMD, использованный нами. Система Intel снизила среднее энергопотребление на 13,1%.


Следовательно, суммарная энергия (в ватт-часах), затраченная на прогон тоже снизилась: на 11,4% у системы AMD и на 12,4% у системы Intel. Неплохо!


Наконец, мы соотнесли результаты PCMark Vantage со средним энергопотреблением двух систем (баллы производительности на ватт). Помните, что две машины обеспечивают прежнюю производительность после оптимизации напряжений. Система на AMD Phenom II X4 955 смогла дать улучшение по эффективности энергопотребления 11,6% в тесте PCMark Vantage. Система Intel улучшила результат эффективности на 13,8%.

Заключение

Мы протестировали два high-end процессора от AMD и Intel на современных материнских платах MSI, что позволило проанализировать потенциальную экономию энергии, которую можно получить путём снижения напряжения процессоров. Конечно, мы намеревались также снизить напряжение у памяти или чипсетов, чтобы получить дополнительную экономию, но ни одна из рассмотренных материнских плат не позволила нам модифицировать напряжение компонентов. Мы рассмотрели платы Asus P6T и Rampage II Gene, Gigabyte MA790FXT-UD5P и X48T-DQ6, но в итоге остановились на MSI 790FX-GD70 для Socket AM3 и P45D3 Neo для Socket LGA775.

AMD Phenom II X4: энергопотребление на 17% ниже, эффективность на 11,6% выше

Пиковое энергопотребление под нагрузкой снизилось на целых 17% при выставлении минимального стабильного напряжения, которое мы нашли у Phenom II X4 955. Поскольку производительность при этом не менялась, мы получили прирост эффективности (производительности на ватт) 11,6% в тесте PCMark Vantage. Технология AMD Cool"n"Quiet несколько тормозила наши усилия по снижению напряжения, поскольку в режиме бездействия она всегда переключалась на штатный режим независимо от выставленного напряжения. И энергопотребление в режиме бездействия всегда составляло 99 Вт.

Intel Core 2 Extreme: энергопотребление на 20% ниже, эффективность на 13,8% выше

Результаты оказались ещё более существенным на нашей тестовой системе Core 2 Extreme QX9650, где энергопотребление под пиковой нагрузкой снизилось на впечатляющие 20% без какой-либо потери производительности. Это позволило улучшить производительность на ватт PCMark Vantage на целых 13,8%. Поскольку напряжение процессора Intel в режиме энергосбережения SpeedStep зависит от выставленного напряжения ядра, то энергопотребление в режиме бездействия тоже заметно снизилось - до всего 1,008 В. Это дало экономию энергии в режиме бездействия 8%.

Стоит ли экономить энергию?

Мы были впечатлены относительно широкими допусками снижения напряжения, поскольку предполагали, что проблемы начнутся намного раньше. Но системы AMD и Intel показали, что современные процессоры могут работать при существенно меньшем напряжении. Мы смогли подать на процессор AMD Phenom II X4 на 16% меньшее напряжение, а на процессор Intel Core 2 Extreme - на 16,6% меньшее. Всё это позволило получить экономию 17-20% под пиковой нагрузкой у обеих систем.

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

В современных десктопных и (в особенности) мобильных процессорах применяется целый ряд энергосберегающих технологий: ODCM, CxE, EIST и др. Сегодня нас будет интересовать, пожалуй, самая высокоуровневая из них: гибкое управление частотой и напряжением процессорного ядра во время работы - Cool "n" Quiet, PowerNow! у AMD и Enhanced SpeedStep (EIST) у Intel.

Чаще всего пользователю компьютера или ноутбука достаточно просто включить (поставить галочку) поддержку той или иной технологии в BIOS и/или операционной системе - никакой тонкой настройки обычно не предусмотрено, хотя, как показывает практика, она может оказаться весьма полезной. В этой статье я расскажу о том, как можно управлять рабочим напряжением ядра процессора из операционной системы (на примере Intel Pentium M и FreeBSD), и зачем это может понадобиться.

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

Надеюсь, статья окажется полезной не только пользователям FreeBSD: мы также немного коснемся GNU/Linux, Windows и Mac OS X. Впрочем, в данном случае конкретная операционная система имеет второстепенное значение.

Предисловие

В прошлом году я проапгрейдил процессор в своем стареньком ноутбуке: поставил Pentium M 780 вместо штатного 735-го, добил до максимума, так сказать. Ноут стал больше греться под нагрузкой (за счет возросшего на 10 Вт тепловыделения); я не особо обращал на это внимание (разве что на всякий случай почистил и смазал кулер), но в один прекрасный день, во время длительной компиляции компьютер… просто выключился (температура таки-достигла критических ста градусов). Я вывел значение системной переменной hw.acpi.thermal.tz0.temperature в трей, чтобы понаблюдать за температурой и, если что, вовремя прервать «тяжелую» задачу. Но через какое-то время я потерял бдительность (температура всегда оставалась в пределах нормы), и все повторилось. В этот момент я решил, что больше не хочу ни постоянно опасаться аварийного выключения во время длительной нагрузки CPU и держать руку на Ctrl-C, ни насиловать процессор.

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

Немного теории

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

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

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

Немного истории

Впервые технология SpeedStep (версия 1.1) появилась во втором поколении третьих пентиумов (производимые по.18 мкм техпроцессу мобильные Coppermine для ноутбуков, 2000 г.), которые в зависимости от нагрузки или источника питания компьютера - сеть или аккумулятор - могли переключаться между высокой и низкой частотами за счет переменного множителя. В экономном режиме процессор потреблял примерно вдвое меньше энергии.

С переходом на.13 мкм техпроцесс технология получает номер версии 2.1 и становится «улучшенной» (enhanced) - теперь процессор умеет понижать не только частоту, но и напряжение. Версия 2.2 - адаптация для архитектуры NetBurst, а к третьей версии (платформа Centrino) технология станет официально называться Enhanced Intel SpeedStep (EIST).

Версия 3.1 (2003 г.) впервые применяется в первом и втором поколениях процессоров Pentium M (ядра Banias и Dothan). Частота варьировалась (сначала - лишь переключалась между двумя значениями) от 40% до 100% от базовой, с шагом 100 МГц (для Banias) или 133 МГц (для Dothan, наш случай). Одновременно Intel вводит динамическое управление емкостью кэша второго уровня (L2), что позволяет еще лучше оптимизировать энергопотребление. Версия 3.2 (Enhanced EIST) - адаптация для многоядерных процессоров с общим L2-кэшем. (Небольшой FAQ от Intel по технологии SpeedStep.)

Теперь, вместо того, чтобы слепо следовать многочисленным howto и туториалам, скачаем pdf"ку и попробуем разобраться в принципе работы EST (я буду дальше использовать эту аббревиатуру, т.к. она универсальнее и короче).

Как работает EST

Итак, EST позволяет управлять производительностью и энергопотреблением процессора, причем динамически , во время его работы. В отличие от более ранних реализаций, которые требовали аппаратной поддержки (в чипсете) для изменения рабочих параметров процессора, EST позволяет программно , т.е. средствами BIOS или операционной системы, изменять множитель (отношение частоты процессора к частоте шины) и напряжение ядра (V cc) в зависимости от нагрузки, типа источника питания компьютера, температурного режима CPU и/или настроек (политики) ОС.

Во время работы процессор находится в одном из нескольких состояний (power states): T (throttle), S (sleep), C (idle), P (performance), переключаясь между ними по определенным правилам (с. 386 спецификации ACPI 5.0).

Каждый процессор, присутствующий в системе, должен быть описан в таблице DSDT, чаще всего в пространстве имен \_PR , и обычно предоставляет ряд методов, через которые происходит взаимодействие с операционной системой (драйвером PM), и которые описывают возможности процессора (_PDC , _PPC), поддерживаемые состояния (_CST , _TSS , _PSS) и управление ими (_PTC , _PCT). Нужные значения для каждого CPU (если он входит в т.н. CPU support package) определяются BIOS"ом материнской платы, который заполняет соответствующие таблицы и методы ACPI (с. 11 pdf"ки) при загрузке машины.

EST управляет работой процессора в P-состоянии (P-state), они-то и будут нас интересовать. К примеру, Pentium M поддерживает шесть P-состояний (см. рис. 1.1 и таб. 1.6 pdf"ки), отличающихся напряжением и частотой:

В общем случае, когда процессор заранее неизвестен, единственным более-менее надежным (и рекомендуемым Intel) методом работы с ним является ACPI. С конкретным процессором можно взаимодействовать напрямую, минуя ACPI, - через регистры MSR (Model-Specific Register), в том числе и непосредственно из командной строки: начиная с версии 7.2, во FreeBSD для этого используется утилита cpucontrol(8) .

Узнать, поддерживает ли ваш процессор EST, можно взглянув на 16-й бит в регистре IA_32_MISC_ENABLE (0x1A0), он должен быть установлен:

# kldload cpuctl # cpucontrol -m 0x1a0 /dev/cpuctl0 | (read _ msr hi lo ; echo $((lo >> 16 & 1))) 1
Аналогичная команда для GNU/Linux (потребуется пакет msr-tools):

# modprobe msr # echo $((`rdmsr -c 0x1a0` >> 16 & 1)) 1
Переход между состояниями происходит при записи в регистр IA32_PERF_CTL (0x199). Узнать текущий режим работы можно прочитав регистр IA32_PERF_STATUS (0x198), который обновляется динамически (таб. 1.4 pdf"ки). В дальнейшем префикс IA32_ я буду для краткости опускать.

# cpucontrol -m 0x198 /dev/cpuctl0 MSR 0x198: 0x0612112b 0x06000c20
Из документации следует, что текущее состояние кодируется в нижних 16 битах (если выполнить команду несколько раз, их значение может меняться - это означает, что EST работает). Если посмотреть внимательнее на остальные биты, в них тоже явно не мусор. Погуглив, можно выяснить , что же они означают.

Структура регистра PERF_STATUS

Данные, читаемые из PERF_STATUS , представляются следующей структурой (положим, что данные хранятся как little-endian):

Struct msr_perf_status { unsigned curr_psv: 16; /* Current PSV */ unsigned status: 8; /* Status flags */ unsigned min_mult: 8; /* Minimum multiplier */ unsigned max_psv: 16; /* Maximum PSV */ unsigned init_psv: 16; /* Power-on PSV */ };
Три 16-битных поля - это так называемые Performance State Values (PSV), их структуру мы рассмотрим ниже: текущее значение PSV, максимальное (зависит от процессора) и значение на старте системы (при включении). Текущее значение (curr_psv), очевидно, меняется при изменении режима работы, максимальное (max_psv) обычно остается постоянным, стартовое значение (init_psv) не меняется: как правило, оно равно максимальному значению для десктопов и серверов, но минимальному для мобильных CPU. Минимальный множитель (min_mult) для процессоров Intel почти всегда равен шести. Поле status содержит значение некоторых флагов, например, при наступлении событий EST или THERM (т.е. в момент изменения P-состояния или перегрева процессора, соответственно).

Теперь, когда мы знаем назначение всех 64 бит регистра PERF_STATUS , мы можем расшифровать прочитанное выше слово: 0x0612 112b 0x06 00 0c20 ⇒ PSV на старте 0x0612, максимальное значение 0x112b, минимальный множитель 6 (как и ожидалось), флаги сброшены, текущее значение PSV = 0x0c20. Что именно означают эти 16 бит?

Структура Performance State Value (PSV)

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

Struct psv { unsigned vid: 6; /* Voltage Identifier */ unsigned _reserved1: 2; unsigned freq: 5; /* Frequency Identifier */ unsigned _reserved2: 1; unsigned nibr: 1; /* Non-integer bus ratio */ unsigned slfm: 1; /* Dynamic FSB frequency (Super-LFM) */ };
Dynamic FSB frequency switching указывает пропускать каждый второй такт FSB, т.е. вдвое понижать рабочую частоту; эта возможность впервые реализована в процессорах Core 2 Duo (ядро Merom) и нас не касается, как и Non-integer bus ratio - специальный режим, поддерживаемый некоторыми процессорами, позволяющий, как следует из названия, более тонко управлять их частотой.

К собственно технологии EST имеют отношения два поля - идентификаторы частоты (Frequency Identifier, Fid), который численно равен множителю, и напряжения (Voltage Identifier, Vid), который соответствует уровню напряжения (он же обычно и наименее документирован).

Идентификатор напряжения (Voltage Identifier)

Intel весьма неохотно раскрывает информацию (обычно требуется подписать NDA) о том, как именно кодируется идентификатор напряжения для каждого процессора. Но для большинства популярных CPU, к счастью, эта формула известна; в частности, для нашего Pentium M (и многих других): V cc = Vid 0 + (Vid × V step), где V cc - текущее (действительное) напряжение, Vid 0 - базовое напряжение (когда Vid == 0), V step - шаг. Таблица для некоторых популярных процессоров (все значения в милливольтах):
Процессор Vid 0 V step V boot V min V max
Pentium M 700,0 16,0 xxxx,x xxx,x xxxx,x
E6000, E4000 825,0 12,5 1100,0 850,0 1500,0
E8000, E7000 825,0 12,5 1100,0 850,0 1362,5
X9000 712,5 12,5 1200,0 800,0 1325,0
T9000 712,5 12,5 1200,0 750,0 1300,0
P9000, P8000 712,5 12,5 1200,0 750,0 1300,0
Q9000D, Q8000D 825,0 12,5 1100,0 850,0 1362,5
Q9000M 712,5 12,5 1200,0 850,0 1300,0
Множитель (т.е. Fid) записывается в PSV сдвинутым на 8 бит влево, младшие шесть бит занимает Vid. Т.к. в нашем случае остальными битами можно пренебречь, то PSV, частота процессора, системной шины и физическое напряжение связаны простой формулой (для Pentium M):
Теперь рассмотрим регистр управления (PERF_CTL). Запись в него должна производиться следующим образом: сначала считывается текущее значение (64-битное слово целиком), в нем изменяются нужные биты, и записывается обратно в регистр (т.н. read-modify-write).

Структура регистра PERF_CTL

struct msr_perf_ctl { unsigned psv: 16; /* Requested PSV */ unsigned _reserved1: 16; unsigned ida_diseng: 1; /* IDA disengage */ unsigned _reserved2: 31; };
IDA (Intel Dynamic Acceleration) disengage-бит позволяет временно отключать адаптивное (opportunistic) управление частотой на процессорах Intel Core 2 Duo T7700 и более поздних, - опять же, нас не интересует. Младшие 16 бит (PSV) - режим, в который мы «просим» перейти процессор.

Таблица _PSS

Таблица _PSS представляет собой массив состояний (Package в терминологии ACPI) или метод, который возвращает такой массив; каждое состояние (P-state) в свою очередь определяется следующей структурой (с. 409 спецификации ACPI):

Struct Pstate { unsigned CoreFrequency; /* Core CPU operating frequency, MHz */ unsigned Power; /* Maximum power dissipation, mW */ unsigned Latency; /* Worst-case latency of CPU unavailability during transition, µs */ unsigned BusMasterLatency; /* Worst-case latency while Bus Masters are unable to access memory, µs */ unsigned Control; /* Value to be written to the PERF_CTL to switch to this state */ unsigned Status; /* Value (should be equal to the one read from PERF_STATUS) */ };
Таким образом, каждое P-состояние характеризуется какой-то рабочей частотой ядра, максимальной рассеиваемой мощностью, транзитными задержками (фактически это время перехода между состояниями, в течении которых недоступны CPU и память), наконец, самое интересное: PSV, которое соответствует данному состоянию и которое надо записать в PERF_CTL , чтобы в это состояние перейти (Control). Чтобы убедиться, что процессор успешно перешел в новое состояние, нужно прочитать регистр PERF_STATUS и сравнить со значением, записанным в поле Status.

EST-драйвер операционной системы может «знать» про некоторые процессоры, т.е. сумеет ими управлять и без поддержки ACPI. Но это редкость, особенно в наши дни (хотя для undervolting"а на Linux, где-то до версии 2.6.20, надо было патчить таблицы в драйвере, и еще в 2011 г. этот метод был весьма распространен).

Стоит отметить, что EST-драйвер может работать даже в случае отсутствия таблицы _PSS и неизвестного процессора, т.к. максимальное и минимальное значения можно узнать из PERF_STATUS (при этом, очевидно, число P-состояний вырождается в два).

Довольно теории. Что с этим всем делать?

Теперь, когда мы знаем 1) назначение всех битов в нужных словах MSR, 2) как именно кодируется PSV для нашего процессора, и 3) где в DSDT искать нужные настройки, самое время составить таблицу частот и напряжений по умолчанию . Сдампим DSDT и поищем там таблицу _PSS . Для Pentium M 780 она должна выглядеть как-то так:

Default _PSS values

Name (_PSS, Package (0x06) { // Всего определено 6 состояний (P-states) Package (0x06) { 0x000008DB, // 2267 MHz (cf. Fid × FSB clock) 0x00006978, // 27000 mW 0x0000000A, // 10 µs (соответствует спецификации) 0x0000000A, // 10 µs 0x0000112B, // 0x11 = 17 (множитель, Fid), 0x2b = 43 (Vid) 0x0000112B }, Package (0x06) { 0x0000074B, // 1867 MHz (82% от максимальной) 0x000059D8, // 23000 mW 0x0000000A, 0x0000000A, 0x00000E25, // Fid = 14, Vid = 37 0x00000E25 }, Package (0x06) { 0x00000640, // 1600 MHz (71% от максимальной) 0x00005208, // 21000 mW 0x0000000A, 0x0000000A, 0x00000C20, // Fid = 12, Vid = 32 0x00000C20 }, Package (0x06) { 0x00000535, // 1333 MHz (59% от максимальной) 0x00004650, // 18000 mW 0x0000000A, 0x0000000A, 0x00000A1C, // Fid = 10, Vid = 28 0x00000A1C }, Package (0x06) { 0x0000042B, // 1067 MHz (47% от максимальной) 0x00003E80, // 16000 mW 0x0000000A, 0x0000000A, 0x00000817, // Fid = 8, Vid = 23 0x00000817 }, Package (0x06) { 0x00000320, // 800 MHz (35% от максимальной) 0x000032C8, // 13000 mW 0x0000000A, 0x0000000A, 0x00000612, // Fid = 6, Vid = 18 0x00000612 } })


Итак, мы знаем дефолтные Vid для каждого P-уровня: 43, 37, 32, 28, 23, 18, что соответствует напряжениям от 1388 mV до 988 mV. Суть undervolting"а в том, что наверняка эти напряжения несколько выше, чем реально необходимо для устойчивой работы процессора. Попробуем определить «границы дозволенного».

Я написал для этого простой shell-скрипт , который постепенно понижает Vid и выполняет несложный цикл (демон powerd(8) перед этим, разумеется, необходимо прибить). Таким образом я определил напряжения, позволяющие процессору хотя бы не виснуть, затем прогнал несколько раз тест Super Pi и пересборку ядра; уже позже я поднял значение Vid для двух максимальных частот еще на один пункт, иначе gcc изредка вылетал из-за ошибки illegal instruction. В результате всех экспериментов в течении нескольких дней получился такой набор “стабильных” Vid: 30, 18, 12, 7, 2, 0.

Анализ результатов

Теперь, когда мы эмпирически определили минимальные безопасные напряжения, интересно сравнить их с исходными:
Понижение максимального напряжения даже на 15% принесло довольно ощутимые результаты: длительная нагрузка не только не приводит больше к перегреву процессора и аварийному отключению, температура вообще теперь почти никогда не превышает 80°C. Прогнозируемое время работы от аккумулятора в «офисном» режиме, судя по acpiconf -i 0 , увеличилось с 1 ч. 40 м. до 2 ч. 25 м. (Не ахти как много, но литий-ионные элементы со временем «устают», а аккумулятор я не менял с момента покупки ноутбука лет семь тому назад.)

Теперь надо сделать так, чтобы настройки применялись автоматически. Можно, например, модифицировать драйвер cpufreq(4) , чтобы значения PSV брались из собственной таблицы, а не через ACPI. Но это неудобно уже хотя бы тем, что нужно не забывать патчить драйвер при обновлении системы, да и вообще - больше похоже на грязный хак, чем на решение. Можно, наверное, еще как-то пропатчить powerd(8) , что плохо примерно по тем же причинам. Можно просто запускать скрипт, понижая напряжение прямой записью в MSR (что, собственно, я и делал для определения «стабильных» напряжений), но тогда придется помнить о и самостоятельно обрабатывать переходы между состояниями (не только P-states, вообще любыми, например, при выходе ноутбука из сна). Тоже не дело.

Если мы получаем значения PSV через ACPI, то логичнее всего изменить именно таблицу _PSS в DSDT. К счастью, BIOS для этого ковырять не придется: FreeBSD умеет загружать DSDT из файла (про модификацию таблиц ACPI на Хабре уже , поэтому сейчас подробно на этом останавливаться не будем). Заменяем нужные поля в DSDT:

Undervolting patch for _PSS

@@ -7385,8 +7385,8 @@ 0x00006978, 0x0000000A, 0x0000000A, - 0x0000112B, - 0x0000112B + 0x0000111D, + 0x0000111D }, Package (0x06) @@ -7395,8 +7395,8 @@ 0x000059D8, 0x0000000A, 0x0000000A, - 0x00000E25, - 0x00000E25 + 0x00000E12, + 0x00000E12 }, Package (0x06) @@ -7405,8 +7405,8 @@ 0x00005208, 0x0000000A, 0x0000000A, - 0x00000C20, - 0x00000C20 + 0x00000C0C, + 0x00000C0C }, Package (0x06) @@ -7415,8 +7415,8 @@ 0x00004650, 0x0000000A, 0x0000000A, - 0x00000A1C, - 0x00000A1C + 0x00000A07, + 0x00000A07 }, Package (0x06) @@ -7425,8 +7425,8 @@ 0x00003E80, 0x0000000A, 0x0000000A, - 0x00000817, - 0x00000817 + 0x00000802, + 0x00000802 }, Package (0x06) @@ -7435,8 +7435,8 @@ 0x000032C8, 0x0000000A, 0x0000000A, - 0x00000612, - 0x00000612 + 0x00000600, + 0x00000600 } })


Компилируем новый AML-файл (байткод ACPI) и модифицируем /boot/loader.conf так, чтобы FreeBSD загружала нашу модифицированную DSDT вместо дефолтной:

Acpi_dsdt_load="YES" acpi_dsdt_name="/root/undervolt.aml"
Вот, в общем, и все. Единственное, не забудьте закомментировать эти две строчки в /boot/loader.conf , если будете менять процессор.

Даже если вы не собираетесь понижать штатные напряжения, умение настраивать управление состояниями процессора (не только P-states) может пригодиться. Ведь нередко бывает, что «кривой» BIOS заполняет таблицы неверно, не полностью, или не заполняет их вовсе (например потому, что стоит не поддерживающий EST целерон, а производитель официально не предусматривает его замену). В этом случае вам придется проделать всю работу самостоятельно . Обратите внимание, что добавить одну лишь таблицу _PSS может оказаться недостаточно; так, C-states задаются таблицей _CST , и кроме того, может потребоваться описать сами процедуры управления (Performance Control, _PCT). К счастью, это несложно и довольно подробно, с примерами, описано в восьмой главе спецификации ACPI.

Undervolting в GNU/Linux

По правде говоря, сначала я думал, что мне достаточно будет прочитать Gentoo Undervolting Guide и просто адаптировать его для FreeBSD. Это оказалось не так-то просто, ибо документ на поверку оказался на редкость бестолковым (что вообще-то странно для Gentoo Wiki). К сожалению, на их новом сайте я ничего похожего не нашел, пришлось довольствоваться старой копией; и хотя я понимаю, что это руководство во многом потеряло актуальность, я все же его немного покритикую. :-)

Мне почему-то сразу, без объявления войны, предлагают патчить ядро (во FreeBSD, на минуточку, нам вообще никакой системный код модифицировать не пришлось). Забивать во внутренности драйвера или записывать в какие-то init-скрипты значения неких «безопасных» напряжений, непонятно кем и каким образом полученные, из специальной таблицы (в которой Pentium M 780 издевательски представлен строкой, состоящей из одних вопросительных знаков). Следовать советам, среди которых есть написанные людьми, которые явно вообще не понимают, о чем говорят. А главное, совершенно неясно, почему и как именно эти магические замены одних цифр на другие работают; не предлагается способа «потрогать» EST, прежде чем что-то патчить и пересобирать ядро, ни разу не упоминаются регистры MSR и работа с ними из командной строки. Не рассматривается модификация таблиц ACPI как альтернативный и более предпочтительный вариант.

Макось довольно плотно взаимодействует с (и рассчитывает на корректную работу) ACPI, и модификация таблиц - один из основных методов ее настройки под конкретное железо. Поэтому первое, что приходит в голову - точно так же сдампить пропатчить свою DSDT . Альтернативный метод: google://IntelEnhancedSpeedStep.kext , например, раз , два , три .

Еще одна «чудесная» утилита (к счастью, уже устаревшая) предлагает купить за $10 возможность менять напряжение и частоту. :-)

Регулирование напряжения питания процессоров Intel

ВНИМАНИЕ! Автор статьи не несет никакой ответственности за любой вред, нанесенный компьютеру вследствие применения описанных здесь действий

Одним пользователям везет больше, другим меньше. Бывают счастливчики, которым достаются процессоры, легко разгоняющиеся до следующей "стандартной" частоты FSB: Celeron до 100, а Рentium III "Е"-модификации до 133 МГц соответственно. Однако подобный процессор не так-то просто раздобыть: на рынках они есть, но продавцы за "гарантировано" разгоняемый камень чаще всего хотят столько, что можно купить процессор с примерно такой же, но "родной" частотой, гарантированной производителем. Но нередко попадаются процессоры, работающие на повышенной частоте, но нестабильно. То есть появляются неожиданные сбои, программы "выполняют недопустимые операции" и закрываются, взгляд радуют "синие экраны" и тому подобные прелести.

Часто от этого можно избавиться поднятием напряжения питания процессора. У классического Celeron (на ядре Mendocino; т.е. модели 300A-533) стандартное напряжение ядра составляет 2 В. В принципе, без особого риска его можно поднять на 5-10% (до 2.1 — 2.2 В). Абсолютно то же самое касается и процессоров с ядром Coppermine (Celeron 533A-766 и Pentium III): меняются лишь абсолютные цифры.

Однако хорошо, если при помощи BIOS или джамперов на материнской плате можно выставить нужный уровень напряжения, а что делать, если такая возможность отсутствует (что обычно и бывает, если говорить о недорогих материнских платах)? Фактически пропадает основная идея разгона: на недорогом "железе" получить большую производительность. На платах с разъемом Slot 1 можно применять специальные переходники, однако пользователям сокетных плат от этого не легче (к тому же, иногда и 5-7 долларов разницы в цене переходника с регулировкой напряжения и простенькой моделью без оной критичны). Разница же в цене между платами, рассчитанными на оверклокинг и дешевыми сокетными моделями составляет до 30 долларов (к тому же большинство таких плат имеют АТХ-формат, так что при апгрейде компьютера приходится менять и корпус), а ради экономии такой суммы иногда стоит воспользоваться несколько нестандартными методами.

В последнее время тема изменения напряжения питания стала актуальной не только для оверклокеров. Дело в том, что имеющиеся в наличии платы на старых чипсетах (LX, EX, BX, ZX, Apollo Pro) зачастую способны работать с, как минимум, новыми Celeron (иногда сразу, иногда после некоторой модификации), а иногда и Pentium III, и единственным препятствием является преобразователь напряжения на плате, неспособный обеспечить менее 1.8 В. Вполне логичным решением данной проблемы является принудительный перевод процессора на данное напряжение.

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

Для питания процессоров класса Pentium II и Celeron требуются довольно мощные источники питания, поэтому питание вторичного кэша (на рисунке обозначен Vccs) отделено от питания ядра (Vccp) причем при совпадающих номиналах значения напряжения линии Vccs не используются. То есть в зависимости от типа процессора (от того какой уровень напряжения на соответствующей ножке процессора), стабилизатор на материнской плате выставляет нужное напряжение.

Таблица №1. Идентификация напряжения питания
VID Напряжение, В VID Напряжение, В
01111 1.30 11111 нет процессора
01110 1.35 11110 2.1
01101 1.40 11101 2.2
01100 1.45 11100 2.3
01011 1.50 11011 2.4
01010 1.55 11010 2.5
01001 1.60 11001 2.6
01000 1.65 11000 2.7
00111 1.70 10111 2.8
00110 1.75 10110 2.9
00101 1.80 10101 3.0
00100 1.85 10100 3.1
00011 1.90 10011 3.2
00010 1.95 10010 3.3
00001 2.00 10001 3.4
00000 2.05 10000 3.5

VID используется только в SEPP/SECC-исполнении (Slot1), поэтому увеличить напряжение на платах для Socket 370 можно только до 2.05 В. Для работы со всеми процессорами Intel необходима поддержка значений, выделенных жирным шрифтом; подчеркиванием выделены напряжения питания для процессоров FCPGA.

Таблица №2. Питание некоторых процессоров
Процессор Vccp, ядро, В Vccs, Кэш, В
Pentium II 233-300 (Klamath) 2.8 3.3
Pentium II 266-450 (Dechutes) 2.0 2.0
Pentium III 450-550 (Katmai) 2.0 3.3
Pentium III 600 (Katmai) 2.05 3.3
Celeron 266-533 (Covington, Mendocino) 2.0 -
Celeron 533A-600
1.5
1.7
-
Celeron 633-766
1.65
1.7
-

(Celeron 533А -766 имеют две модификации, рассчитанные на разное напряжение)

Физически (0) означает что ножка подключена к земле (GND или Vss), а (1) что вывод свободен, то есть ни к чему не подключен (на ножке должен быть потенциал логической единицы).

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

На рисунке показаны контакты для сокетных процессоров. У процессоров, изготовленных в конструктиве Slot 1, за идентификацию питания отвечают следующие выводы:

VID0 VID1 VID2 VID3 VID4
B120 A120 A119 B119 A121

Например, если заклеить VID, VID, VID, то получим напряжение 2.2 В. Этого должно хватить любому любителю разгона, и, в то же время, вполне приемлемо для того, чтобы при хорошем охлаждении процессор работал достаточно долго:) То есть достаточно легко можно получить некоторые уровни напряжений для чего требуется только заизолировать некоторые ноги. Например, для PPGA и SEPP (Slot1):

Примеры напряжений питания процессоров
Напряжение, В Какие ножки надо заклеить Рекомендации
1.80 VID Если вы не поклонник разгона, то такое напряжение можно использовать для уменьшения температуры процессора во время работы или экономии электроэнергии:) (Celeron потребляет 10-20 Вт в зависимости от штатной частоты, а так получается 10% экономии:))
1.90 VID В общем, верно тоже, что и для напряжения 1.8 В
2.00 Стандартное напряжение Приведено для примера
2.20 VID;VID;VID Процессор должен работать без проблем, разве что будет сильнее греться.
2.40 VID;VID;VID Может работать, а может и не работать:) (но скорее первое), и еще больше греться
2.60 VID;VID Риск довольно большой, но энтузиасты могут пробовать (если уж очень хочется разогнать процессор как можно сильнее).
2.80 VID;VID;VID И не пытайтесь — указано только для примера

Остальные значения получить труднее, так как необходимо более сильное воздействие на процессор — придется соответствующий контакт процессора или разъема соединить с землей (GND). Так, например, соединив с помощью проводка и пайки выводы слота (или сокета) VID и GND на обратной стороне материнской платы, получим напряжение 2.05 В. Однако это рискованная операция так как в случае ошибки или неаккуратной пайки напряжение цепей ввода-вывода (3,3 В) может попасть на ядро, что приведет к печальным последствиям. Зато таким образом, можно получить на ядре процессора любое напряжение из таблицы №1.

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

Самым реальным, по-видимому, является вариант с заклеиванием ног процессора. В случае корпуса типа SEPP/SECC можно воспользоваться скотчем, аккуратно вырезанным по форме контактной площадки. На плате процессора есть надписи, при помощи которых можно сориентироваться, где какой вывод расположен. В случае PPGA и FCPGA можно воспользоваться таким способом. Из фторопластовой или полиэтиленовой пленки (такой, какая применяется для изготовления пакетов) вырезается круг диаметром около 5 мм. Он размещается так, чтобы его центр оказался точно над контактом, который нужно заизолировать. Затем швейной иглой края круга опускаются между выводами.

При установке никаких проблем обычно не возникает, однако проблема может возникнуть при извлечении процессора из сокета: пленка остается внутри, и извлечь ее не такт-то просто (в крайнем случае сокет можно разобрать и вытащить оттуда все лишнее:))

На фотографии "подготовлена" ножка VID

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

Те же способы пригодны и для повышения или понижения напряжения питания в Pentium II и Pentium III, как в исполнении под Slot 1, так и под FCPGA (разумеется, с соответствующими изменениями касательно уровней напряжения). Следует правда учесть, что, в случае процессоров с ядрами Klamath и Coppermine, для повышения напряжения питания браться за паяльник придется обязательно: без замыкания части контактов на "землю" в данном случае обойтись не удастся (в отличие от ядер, рассчитанных на напряжение 2,0 В).

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

В статье были использованы материалы из книги Михаила Гука "Процессоры Pentium II, Pentium Pro и просто Pentium" издательства "Питер", а также официальная документация фирмы Intel по процессорам Celeron

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

Разработчик RightMark

Объем загружаемого файла 463 Kb

Предназначение программы

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

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

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

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

Установка

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

Настройка

Settings

В этой вкладке нужно отметить два пункта в блоке Startup Options . Для того чтобы приложение запускалось автоматически при старте Windows.

Management

Также оставляем все по умолчанию и проверяем что пункт Enable OS power management integration активирован.

Profiles

Тут и начинается самое интересное. Для состояний AC power (работа от сети) и Battery (работа от аккумулятора) устанавливаем нужные профили. При работе от сети рекомендую поставить on demand (производительность по необходимости), а при работе от батареи Power Saving.

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

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

Теперь нужно настроить профили Performance on demand и Power Saving. Для этого выбираем соответствующие пункты. В обоих случаях отмечаем галочкой Use P- state transitions ( PST), тот профиль, в котором вы находитесь в текущий момент. Причем, для профиля on demand, выбираем все множители из списка, а для профиля Power Saving только первый (это означает, что при работе от аккумулятора процессор всегда будет функционировать на минимальной частоте, конечно, вы можете выбрать и другой множитель, тем самым повысив максимально допустимую частоту). Остальные опции оставляем неактивными.

Работа

Вот собственно и все. Теперь нужно активировать профиль энергопотребления RMClock Power Management. Для этого левой кнопкой нажимаем на батарейке в трее и выбираем нужный профиль. Если его нет, нужно нажать на Дополнительные параметры энергопотребления и выбрать его там. Теперь при подключении питания ноутбук будет использовать профиль on demand , а при работе от аккумулятора — Power Saving, используя ранее сделанные нами установки. При этом мы снизили энергопотребление процессора и заставили его четко реагировать на установки программы (при использовании стандартной программы управления частота может прыгать вверх-вниз даже при простое, а также изменяется вольтаж).

Проверяем

Если вы сделали все правильно, то во вкладке Monitoring можно видеть результат работы. График FID-VID демонстрирует текущий множитель и вольтаж. Проверте это значения при работы от сети и от батареи, они должны совпадать с установленными значениями в профиле.

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

Тестирование

В теории все как всегда классно, но как эти действия сказываются на реальной работе?

Тестовая система: Terra 1220 (Intel Core 2 Duo T7300)

Я протестировал оба режима работы и сравнил их с аналогичными режимами стандартной программы управления питанием.

Сбалансированный VS Performance on demand

Автономность проверялась программой BatteryEater в режиме максимальной загрузки (Classic). Беспроводные интерфейсы отключены, яркость экрана установлена на максимум.

Как видно, время работы абсолютно не изменилось и составило 88 минут. Каждый тест приводил два раза, чтобы удостоверится в результатах. Так что в моем конкретном случае, понижение напряжения не повлияло на время автономной работы. А вот температурные показатели интересны, максимальная температура во время теста при использование RMClock снизилась на 23°С ! Просто отличный результат, который для конечного пользователя означает банальное уменьшение температуры корпуса ноутбука, а также уменьшения шума (вентилятор не включается на полные обороты).

Производительность в PCMark также не изменилась, разница в измерениях в рамках погрешности. А вот с температурой мы наблюдаем туже картинку - максимальная температура уменьшилась на 17°С .

Экономия энергии VS Power Saving

Тут ситуация повторилась. Время автономной работы не уменьшилось, но температура при этом существенно снизилась. Это положительно сказывается на комфорте работы.

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

Этот вариант, не только требует наличия определенных умений и знаний у пользователя, но и может лишить гарантии на ноутбук. Как это проделывать описано в этом материале: Замена процессора - понизить напряжение питания процессора. Этот способ наиболее простой и эффективный. Он позволяет понизить температуру на 10-30 градусов.

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

Core 2 Duo T7300 2.0 GHz1.00B

Core 2 Duo T7300 2.0 GHz1.25B

На этих двух скриншотах приведены значения максимальных температур процессора Core 2 Duo T7300, который установлен в ноутбук Acer Aspire 5920G, после тридцатиминутного «разогрева» утилитой S&M. В первом случае процессор работал на напряжении питания 1.25В, а во втором на напряжении питания 1.00В. Комментарии излишни. Разница максимальных температур составляет 24 градуса и это учитывая, что в первом случае вентилятор системы охлаждения ноутбука работал на максимальных оборотах и за время теста произошло срабатывание защиты процессора от перегрева (это видно по скачку температуры из-за аварийной остановки утилиты S&M)

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

Теперь можно приступить непосредственно к снижению напряжения питания процессора. Для этого нам понадобится утилита . Скачать ее можно по одной из этих ссылок: {gcontent}Скачать RMClock {/gcontent}

Для 64-битной Windows Vista существует проблема с цифровой подписью для драйвера RTCore64.sys. Чтобы избежать подобной проблемы - скачиваем версию RMClock с уже сертифицированным драйвером по этой ссылке: {gcontent}Скачать {/gcontent}

Не умеет управлять частотой и напряжением процессоров Intel Celeron M из-за того, что они не поддерживают динамическое изменение частоты/напряжения (Технология Intel Enhanced Speed Step в процессорах Intel Celeron M - ОТКЛЮЧЕНА. Говорим "спасибо" за эту капость Intel"y). Также RMClock не поддерживает новые процессоры AMD (на чипсетах 780G и старше) и Intel Core i3, i5, i7 и другие из того же семейства

Упрощенная настройка этой утилиты для пользователей, у которых нет времени/желания/опыта ее тонко настраивать.

Развернутое описание настройки этой утилиты для пользователей, которые хотят достичь максимальной эффективности ее работы.

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

Упрощенная настройка RMClock

Начнем с запуска утилиты. Переходим на вкладку Settings и выставляем параметры как на скриншоте:

На этой вкладке мы включили автозагрузку утилиты . Переходим к следующей вкладке: Management . Настраиваем так, как показано на скриншоте:

Стоит отметить, что галочку возле пункта OS Power management integration сначала надо снять, а потом опять поставить
Переходим к вкладке Advanced CPU Settings . Если у Вас процессор от Intel настраиваем как на скриншоте ниже:

Очень важно, чтобы стояла галка возле пункта Mobile . Остальные пункты у Вас могут быть неактивны. Не обращаем на это внимание

Для процессоров от AMD вкладка Advanced CPU Settings должна иметь такой вид:

Теперь переходим к самому интересному - к вкладке Profiles . Для процессоров Intel она может иметь такой вид:

Если у Вас стоит галочка возле пункта IDA - снимаем ее

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

Теперь объясню как ставить напряжения. Для самого высокого множителя (не считая IDA ) ставим напряжение 1.1000V. В моем случае этот множитель - 10.0Х. На этом напряжении способно работать подавляющее большинство процессоров Core 2 Duo . Если у Вас ноутбук зависает после применения настроек - значит это напряжение стоит увеличить до 1.1500V. Для самого верхнего множителя ставим напряжение 0.8000-0.8500В. Утилита сама проставит промежуточные значения. При таких настройках при работе от сети ноутбук будет работать на максимальной частоте, а при переходе к питанию от батарей - на минимальной для лучшего энергосбережения.

Внимание: НИ В КОЕМ СЛУЧАЕ НЕ СТАВЬТЕ НАПРЯЖЕНИЯ ВЫШЕ 1.4000В!!!

Для ноутбуков на процессорах от AMD эта вкладка будет иметь такой вид:

Здесь для наибольшего множителя (в моем случае это 10.0Х) ставим напряжение 1.0000V. Для наименьшего - наименьшее значение, которое позволяет выставить утилита.

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

Переходим непосредственно к настройкам профилей, в частности Power Saving .

Для процессоров Intel она имеет такой вид:

Для процессоров AMD она выглядит так:

Здесь ставим галочки возле самых верхних пунктов. Переходим к вкладке Maximal performance .

Для процессоров Intel она имеет такой вид:

Для процессоров AMD она имеет такой вид:

На этой вкладке ставим галочки возле самых нижних пунктов с наибольшими множителями.
Чтобы у RMClock не возникало конфликтов с Windows XP - заходим в Свойства: Электропитание (Пуск -> Панель управления -> Электропитание) и выбираем в окошке выбора профилей профиль RMClock Power Management и нажимаем ОК .

Примечание: для Windows Vista этого делать не нужно.

Чтобы посмотреть на каком напряжении и частоте работает процессор - переходим на вкладку Monitoring

Как видим, процессор в моем случае работает на частоте 2000 МГц, на множителе 10.0 и на напряжении 1.100 В. Его температура - 45 градусов.

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

Полное описание настройки RMClock

В этой части я расскажу более-подробно о настройках самой утилиты. Начнем с рассмотрения вкладки Settings

Опишу что находится на этой вкладке. В самом вверху размещено окошко для выбора языка программы. Чтобы выбрать русский язык надо скачать соответствующую.dll библиотеку (которую еще найти надо...)

Ниже находятся такие настройки:

  • Colors - настройки цветов окна мониторинга.
  • Show informational balloon tooltips - показывать информационные всплывающие подсказки в трее
  • Show critical balloon tooltips - показывать критические сообщения в трее, при перегреве, например
  • Make application window always on top - располагать окно приложения поверх других окон
  • Show application button in taskbar - показывать кнопку приложения в таскбаре
  • Temperature units - единицы измерения температуры (градусы по Цельсию/по Фаренгейту)

Еще ниже находятся опции автозапуска:

  • Start minimized to system tray - запускать свернутым в системный лоток(возле часов)
  • Run at Windows startup - запускать при старте Windows. Слева можно выбирать способы автозапуска: с помощью ключа реестра или через папку

И в самом низу настраиваются опции ведения логов. Что и как мониторить.

На вкладке CPU Info можно узнать дополнительную информацию о процессоре.

Вид этой вкладки для платформ на базе Intel и на базе AMD может быть совсем разный. Сначала опишу для платформы Intel :

В самом верху находятся 3 вкладки Processor , Chipset и Throttling . Вкладки Chipset и Throttling для нас особого практического интереса не представляют, потому их не трогаем и оставляем параметры по умолчанию. А вот на вкладке Processor остановимся детальнее.
В самом вверху под надписью Automatic thermal protection размещены 4 пункта:

  • Enable thermal monitor 1 - включить ТМ1
  • Enable thermal monitor 2 - включить ТМ2
  • Sync. TM1 on CPU cores - синхронизировать ТМ1 к ядрам процессора
  • Enable Extended throttling - включение расширенного тротлинга.
  • Более детально о том, что такое ТМ1 и ТМ2 читаем в документации к процессору. Там эти все технологии корректно описаны. В двух словах: они служат для защиты процессора от выхода из строя из-за перегрева. Если температура процессора достигнет определенного значения (как правило это 94-96 С), то процессор переключится в режим, который указывается справа под надписью Thermal Monitor 2 target

В окошке FID/VID transition stabilization time указывается время стабилизации при переходах из одного режима работы процессора в другой.

Ниже под надписью Intel Core/Core 2 family enhanced low power states включаются различные возможные состояния процессора с пониженным энергопотреблением. Что такое С1Е , С2Е ... описано в той же документации к процессору. Там оно подано в виде таблички.

В самом низу вкладки Advanced CPU Settings есть 2 интересных пункта:

  • Engage Intel Dynamic Acceleration (IDA) IDA . Суть этой технологии сводится к тому, что в процессорах с несколькими ядрами в моменты, когда нагрузка на одно из них высока, то оно переключается на более высокий множитель. То есть если для процессора Т7300 номинальный множитель х10, то в моменты с высокой нагрузкой на одно ядро, оно будет работать на частоте не 2.0 ГГц, а на 2.2 ГГц с множителем х11 вместо х10.
  • Enable Dynamic FSB Frequency Switching (DFFS) - эта опция включает технологию DFFS . Ее суть сводится к тому, что для снижения энергопотребления частота системной шины уменьшается с 200 МГц до 100 МГц.

Чуть ниже выбираем тип процессора. В нашем случае это Mobile и ставим галочку возле

А теперь посмотрим как будет выглядеть владка Advanced CPU Settings для систем на базе процессоров AMD :

Остановлюсь лишь на самых важных моментах
Вверху опять же есть 3 вкладки. Нас интересует в большей мере вкладка CPU setup
Cлева в окошке ACPI state to view/modify выбираем профиль (состояние) энергопотребления процессора с которым будем работать на этой вкладке.

  • Enable CPU low power - включение энергосберегающего режима процессора
  • Enable Northbridge low power - включение энергосберегающего режима северного моста
  • Enable FID/VID change - включить возможность изменения напряжения/множителя
  • Enable AltVID change - включить возможность альтернативного изменения напряжения
  • Apply these settings at startup - применять данные изменения после загрузки ОС.
  • Если нажать на треугольничек справа надписи ACPI power states settings , то появится меню с предустановками.
  • Появились еще вопросы для чего та или иная галочка - читаем инструкцию к программе или как всегда - методом тыка

Теперь перейдем к вкладке Management

В двух словах объясню для чего та или иная галочка.

P-states transitions method: - в этом окошке можно задать способ перехода от одного P-state(по сути это комбинация определенного значения множителя и напряжения) к другому. Возможны два варианта - одношаговые - Single-step(то есть если процессор переключается с множителя х6 на х8, то сначала он совершит переход х6->x7, а потом х7->х8) и многошаговые - Multi-step (с х6 сразу на х8 без перехода на х7)
Multi-CPU load calculation - в этом окошке задается способ определения загрузки процессора (для режима Performance on demand, например). На скриншоте указан метод, когда загрузка будет равна максимальной загрузке любого из ядер.
Standby/hibernate action - здесь задается действие при переходе в ждущий режим или в режим гибернации. На скриншоте выбран вариант "Оставить текущий профиль"

Ниже указываются значения по умолчанию процессора - CPU Default Settings
Restore CPU defaults on management turns off - возобновлять значения по умолчанию при выключении управления RMClock
Restore CPU defaults on application exit - возобновлять значения по умолчанию при закрытии утилиты RMClock

Чуть ниже надписи CPU defeaults selection можно выбрать один из трех вариантов:

  • CPU-defined default P-state - напряжение/множитель по умолчанию определяются самим процессором
  • P-state found at startup - напряжение/множитель по умолчанию находятся при старте ОС
  • Custom P-state - напряжение/множитель по умолчанию задаются вручную

А вот на галочку Enable OS power management integration стоит обратить особое внимание. Ее надо сперва убрать, а потом вновь поставить. После этого надо зайти в Панель управления -> Электропитание и выбрать там схему электропитания "RMClock Power Management" . Как вариант - можно в утилите Acer ePower выбрать профиль RMClock Power Management . Если этого не сделать, то возможны конфликты между ОС и утилитой, когда они одновременно будут по-своему управлять частотой и напряжением процессора. Как результатам возможны постоянные скачки напряжения и частоты.

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

Примечание: настройка напряжений подана на примере процессора Intel Core 2 Duo. Для остальных процессоров (включая продукцию AMD) процедура настройки та же. Просто будут другие значения, количество множителей и, естественно, напряжений. Здесь я хочу развеять еще одно заблуждение. Часто пользователи считают, что если у них, напрмер, Т7300 как и у меня, то у них проц будет работать на тех же напряжениях что и у меня. ЭТО НЕ ТАК. Каждый отдельный экземпляр обладает своими значениями минимальных напряжений. То что один проц конкретной модели работает на конкретном напряжении еще не значит, что другой проц той же модели будет работать на том же напряжении. Иными словами: если будете ставить то что на скриншотах - то не факт, что оно у вас заработает.

Сейчас наша задача - определить минимальные значения напряжений, на которых конкретно Ваш процессор будет стабильно работать. Для этого нам понадобится утилита S&M {gcontent}Скачать S&M {/gcontent}
Вкратце опишу вкладку Profiles :

В верхней части вкладки есть 4 окошка. Объясню зачем они нужны. В двух окошках слева под AC power выставляются текущий(Сurrent ) и загрузочный (Startup ) профили системы при питании ноутбука от сети, чуть правее под Baterry выставляются текущий(Сurrent ) и загрузочный (Startup ) профили системы при питании ноутбука от батареи. Сами профили настраиваются на подвкладках (чуть ниже Profiles ). Внизу есть еще пунктик - . Он отвечает за автозаполнение напряжений, то есть задал верхнее значение на одном множителе, задал нижнее на втором, когда галка возле того пункта поставлена, программка сама выставит промежуточные значения методом линейной интерполяции.

Как видим на скриншоте, при работе от сети ноутбук будет работать на частоте/напряжении, которые задаются в профиле Maximal Performance , а когда ноутбук будет работать от батарей - частота и напряжение будут задаваться в профиле Power saving

Теперь приступим непосредственно к определению минимальных напряжений, при которых система все еще стабильна. Для этого снимаем все галочки, кроме той, что отвечает за самый высокий множитель (не считая IDA ). Ставим напряжение 1.1000В, например (для AMD можно начинать и с 1.0000В)

Переходим на подвкладку Maximal performance (этот профиль у нас сейчас активный, ноутбук работает от сети)

Отмечаем наш множитель галочкой и запускаем S&M . При первом запуске эта утилита честно нас предупреждает:

Щелкаем ОК

Теперь переходим непосредственно к настройке этой утилиты. Переходим на вкладку 0

Выбираем тест, который наиболее-сильно разогревает процессор. То самое проделывает и на вкладке 1 (у процессора ведь два ядра)

Теперь переходим на вкладку Настройки . Сначала задаем максимальную загрузку процессора:

ставим продолжительность тестирования на Долго (примерно 30 минут, для Норма - 8 минут) и отключаем тест памяти

и нажимаем на кнопку Начать проверку

На вкладке Монитор можно отслеживать текущую температуру процессора:

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

Опять запускаем утилиту S&M . Еслии на этот раз все прошло удачно - значит еще можно снизить напряжение...Если тестирование прошло неудачно - напряжение надо увеличить. Цель проста: найти то напряжение, при котором ноутбук будет проходить тестирование утилитой S&M .
В идеале надо для каждого множителя найти такое напряжение, но чтобы не убивать много времени - ставим максимальному множителю то напряжение, которое мы определили, ставим минимальному множителю (в моем случае 6.0Х) минимальное напряжение, которое может выставить материнка для Вашего процессора (как правило, это 0.8-0.9 В)...а промежуточные значения пускай заполняются с помощью функции Auto-adjust intermediate stetes VIDs

В этой утилите есть еще одна возможность, о которой я не упоминал: это изменение частоты процессора в зависимости от нагрузки.
В профилях Maximal Performance и Power saving есть возможность выбрать только одно значение частоты процессора с определенным напряжением. Если необходимо организовать гибкое управление частотой в зависимости от загрузки процессора стоит обратить внимание на профиль Performance on demand . Он отличается от Maximal Performance и Power saving тем, что здесь можно указать одну или несколько комбинаций напряжение/множитель, на которых и будет работать процессор.
Вот пример его настройки:

Внизу в настройках этого профиля есть некоторые параметры, которые мы можем изменять. Вкратце опишу их:

Target CPU usage level (%) - задает порог переключения множителей/напряжений. Переход происходит лишь между теми множителями и напряжениями, которые отмечены галочками в окошке выше. Способ измерения загрузки процессора определяется на вкладке Management

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

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

На настройках каждого с профилей есть опции тротлинга - Use throttling(ODCM) . Его включать я не рекомендую, потому что в результате частота уменьшается, а нагрев возрастает. Также можно указать параметры электропитания системы(время отключения монитора, дисков итд) на вкладке OS Settings :

Чтобы активировать профиль Performance on demand - надо выбрать его в окошках Current на вкладке Profiles

Вот, пожалуй, и все.