Как понизить частоту процессора


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

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

Инструкции

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

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

3. Как понизить частоту процессора – для этого необходимо во время загрузки компьютера войти в BIOS, попасть в него можно нажимая кнопку del на клавиатуре. Далее в нем нужно выбрать параметр CPU Сlock или CPU Frequency, но иногда он может называться немного по другому. Все зависит от материнской платы компьютера, в этом параметре необходимо уменьшить цифры на определенную величину.

4. Но следует учитывать что понижение частоты процессора более чем на 30%. Нецелесообразно. Так как дальнейшее снижение проведет к нестабильной работе компьютера, замедлению его работы. А понижение теплоотдачи, будет не так заметно при дальнейшем понижении частоты процессора.

5. Как понизить частоту процессора – для более понятной картины, можно привести пример. Частота процессора 2,13 Ггц, его множитель равен 16, а шина работает с частотой 133 Мгц. В настройках BIOSA необходимо уменьшить или множитель или частоту шины, или оба параметра сразу. Но на некоторых современных процессорах, частота множителя или шины может быть сделана нерегулируемой.

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

qalib.net

Как понизить частоту процессора

После приобретения процессора от AMD серии FX 9370 я задумался о том, как понизить частоту процессора. Так как я решил немного сэкономить на охлаждении, а тепловыделение в 220 Вт дало о себе знать при запуске GTA 5.  Сначала делал это с помощью драйверов видеокарты AMD Catalyst последней на тот момент версии. Но потом когда драйвера видеокарты полностью перешли на новый интерфейс эта возможность пропала. И я решил поискать как можно понизить частоту процессора не используя Bios или UEFI. Так как в принципе мне частоты процессора в 4.4 МГц много, а если снизить частоту процессора, то и снизится температура процессора в нагрузке и частоты например 3.8 МГц хватает с головой чтобы запускать любые приложения.

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

Как понизить частоту процессора и снизить температуру процессора.

Этот способ есть универсальным и подойдет как пользователям операционной системы Windows 7 так и Windows 10. Ну и если у Вас очень горячий ноутбук можете попробовать этот способ также.

  1. Заходим в панель управления любым способом. Я рекомендую нажать Win+R и выполнить команду control panel.
  2. Переходим по пути: Панель управления => Система и безопасность => Электропитание и нажимаем Настройка схемы электропитания (ещё нужно убедится что Вы выбрали настройки активной схемы, у меня стоит Сбалансированная, как раз её и мы будем настраивать).
  3. В открывшихся настройках выбираем Изменить дополнительные параметры питания и в открывшимся окне находим пункт Управление питанием процессора.
  4. Находим пункт Максимальное состояние процессора и устанавливаем значение процессора в процентах на сколько он будет работать.

Я указал значение в 80%, и рабочая частота изменилась с 4.4 МГц на 3.4 МГц. Вы можете выбрать и меньшее значение. Чем меньше значение Вы установите, тем больше понизиться частота и снизится температура процессора. При этом температура у меня снизилась больше чем на 15 градусов в нагрузке что даже очень не плохо.

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

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

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

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

windd.ru

Понижение рабочего напряжения процессора, или тюнинг Enhanced Intel SpeedStep

В современных десктопных и (в особенности) мобильных процессорах применяется целый ряд энергосберегающих технологий: 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 или операционной системы, изменять множитель (отношение частоты процессора к частоте шины) и напряжение ядра (Vcc) в зависимости от нагрузки, типа источника питания компьютера, температурного режима 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_ я буду для краткости опускать.

Попробуем для начала прочитать текущее значение PERF_STATUS:

# 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, мы можем расшифровать прочитанное выше слово: 0x0612112b 0x06000c20 ⇒ 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 (и многих других): Vcc = Vid0 + (Vid × Vstep), где Vcc — текущее (действительное) напряжение, Vid0 — базовое напряжение (когда Vid == 0), Vstep — шаг. Таблица для некоторых популярных процессоров (все значения в милливольтах): Процессор Vid0 Vstep Vboot Vmin Vmax
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.

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

Теперь, когда мы эмпирически определили минимальные безопасные напряжения, интересно сравнить их с исходными: Частота, МГц (множитель) Vidold Vidnew Изменение Vcc
2267 (17) 43 30 -15%
1867 (14) 37 18 -24%
1600 (12) 32 12 -26%
1333 (10) 28 7 -29%
1067 (8) 23 2 -31%
800 (6) 18 0 -29%
Понижение максимального напряжения даже на 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 как альтернативный и более предпочтительный вариант.

На ThinkWiki руководство чуть получше (и поновее), но не намного. Еще более лаконично выглядит страница ArchWiki. Вот эта строчка доставляет особенно:

# echo 34 26 18 12 8 5 > /sys/devices/system/cpu/cpu0/cpufreq/phc_vids Так и просятся лостовские «4, 8, 15, 16, 23, 42» (правда, в обратном порядке, что несколько портит шутку).

Пожалуй, самое толковое описание всего процесса для Linux у Пата Эрлея, ссылку на которое я давал выше.

Undervolting в Windows и Mac OS X

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

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

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

Что еще почитать

Для FreeBSD: тема на форуме, а также небезызвестное обсуждение в рассылке; исходное письмо Александра Мотина для удобства викифицировано. Для Linux можно начать с неплохой статьи в ArchWiki.

Для тех, кто хочет углубиться в тему, кроме официальной документации производителей процессоров и приведенных в тексте ссылок, вот здесь — отличная подборка материалов (исследовательских статей, презентаций) по широкому кругу вопросов управления энергопотреблением (осторожно, Comic Sans).

Метки:
  • acpi
  • cpu
  • dsdt
  • eist
  • freebsd
  • linux
  • pentium m
  • undervolting
  • энергосбережение

habrahabr.ru

Остужаем и сохраняем процессоры. Вопросы снижения энергопотребления и тепловыделения ноутбуков и компьютеров. Часть 1.

Введение. Достаточно давно мне хотелось остановиться на вопросах обеспечения снижения энергопотребления современных персональных компьютеров и ноутбуков. Многие пользователи оправданно зададут вопрос: "Зачем это надо? - производитель уже позаботился обо всех тонкостях энергопотребления моей системы. Как показывает опыт, к сожалению, это практически всегда не так. Если производители ноутбуков еще как-то стараются обеспечить снижение энергопотребления своих устройств, то с персональными компьютерами, как правило, все находится в запущенном состоянии.

Энергопотребление персональных компьютеров и ноутбуков необходимо снижать по следующим причинам:

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

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

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

-- картинка кликабельна --

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

Звуковые карты, ТВ-тюнеры в отдельном исполнении редко встречаются в современных компьютерах. Во-первых, все существующие материнские платы имеют встроенные контроллеры звука, которые не уступают по качеству звучания дешевым звуковым картам и картам среднего ценового диапазона. Во-вторых, ТВ-тюнеры отслужили свой век, как и коаксиальное телевидение. В эпоху FulHD, IP-TV, DVB говорит о ТВ-тюнерах попросту излишне.

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

Блок питания может стать источником неэффективного энергопотребления в первую очередь. Любой современный блок питания должен обеспечивать высокие показатели КПД при преобразовании тока высокого напряжения в 12, 5 и 3,3 вольта.

Любой современный блок питания имеет соответствие одному из стандартов серии 80 Plus. Стандарт 80 Plus был принят еще в далеком 2007 году, в рамках энергосберегающих стандартов Energy Star четвертого пересмотра. Данный стандарт требует от производителей блоков питания обеспечение 80% КПД своих устройств при различных нагрузках, - 20%, 50% и 100% от номинальной мощности.

Из этого следует, что для обеспечения максимальной эффективности вашего блока питания, он должен быть нагружен не менее 20 % от своей номинальной мощности. Абсолютно не правильно, когда пользователь приобретает блоки питания "с запасом" на 900 и 1200 Ватт. При выборе блока питания руководствуйтесь тем, что без нагрузки на систему, нагрузка на него не должна падать ниже 20% и он должен иметь сертификат соответствия 80 Plus.

-- картинка кликабельна --

Справедливости ради, нужно отметить, что на сегодняшний день стандарт 80 Plus дифференцировался на следующие категории: - 80 Plus - 80 Plus Bronze - 80 Plus Silver - 80 Plus Gold - 80 Plus Platinum.

Различие между стандартами заключается в обеспечении более высоких показателей КПД внутри семейства стандарта 80 Plus. Если при 50% нагрузке блок питания стандарта 80 Pus обеспечивает КПД на уровне 80%, то дорогие блоки питания соответствующие стандарту 80 Plus Platinum обеспечивают КПД на уровне 94% и выше.

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

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

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

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

Ведущие производители процессоров AMD и Intel на протяжении последних десятилетий занимаются снижением энергопотребления своих продуктов. Следует отдать должное, вся эстафета была начата компанией AMD, в которой она удерживала прочное лидерство на протяжении двух-трех лет. Были времена, когда процессоры компании AMD с технологией Cool'n'Quiet имели значительно меньшее энергопотребление, нежели процессоры от компании Intel линеек Pentium 4 и Pentium D.

Компания Intel быстро наверстала свое отставание и внедрила технологию EIST - Enhanced Intel SpeedStep Technology, которая прекрасно себя показала в последних поколениях процессоров. В то время как новые процессоры от компании Intel обзаводятся все новыми и новыми технологиями энергосбережения и наращивают производительность, от компании AMD существенных рывков вперед мы не видим.

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

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

- от напряжения питания подаваемого на транзисторы, - частоты работы процессора. Частота работы процессора формируется из произведения его множителя на частоту шины.

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

В качестве примера выбран процессор Core 2 Duo с номинальной частотой работы 2,0 Ггц.

-- картинка кликабельна --

Из представленной диаграммы видно, что температура работы процессора без включения режима энергосбережения, при номинальном множителе x12 и напряжении питания 1,25 вольт мы имеем рабочую температуру порядка 55-56 градусов в простое.

-- картинка кликабельна --

После подачи нагрузки на процессор, при аналогичных условиях работы мы фиксируем среднею температуру работы процессора порядка 71-72 градусов, что и было зафиксировано на наших диаграммах. Температура ядер процессора снимается по внутренним датчикам, поэтому погрешности минимальны. Учитывая тот факт, что между энергопотреблением процессора и его рабочей температурой имеется прямопропорциональная связь, мы будем ориентироваться на данный параметр при оценке его энергоэффективности. Следующим этапом мы снизили множитель процессора до минимально возможных значений, до 6. При этом частота процессора составила 997 Мгц, грубо можно округлить до 1 Ггц. Напряжение питания осталось неизменным, в районе 1,25 вольт.

-- картинка кликабельна --

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

-- картинка кликабельна --

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

Наш процессор и материнская плата позволяют изменять напряжение питания процессора в промежутке 0,95-1,25 вольт. Шаг составляет 0,0125 вольт. Это связано с тем, что процессор установлен в ноутбуке, материнские платы которых, редко когда дают возможность менять рабочие напряжения компонентов в широких диапазонах.

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

-- картинка кликабельна --

Данная манипуляция позволила нам снизить температуру простоя процессора до 45-46 градусов, что представлено на диаграмме. В данном режиме мы добиваемся максимально возможно низкого энергопотребления процессора. Снижение рабочего напряжения до 0,95 вольт позволило нам снизить рабочую температуру простоя на 10 градусов!!!

-- картинка кликабельна --

Для оценки эффективности метода снижения рабочего напряжения процессора, мы подали на него нагрузку. В результате чего мы получили рабочую температуру в нагрузке равную 50-51 градусам, в то время как без изменения напряжения и аналогичной производительности системы на частоте 1 Ггц ранее мы получали 65-66 градусов. Полученные нами данные зафиксированы на диаграммах.

Энергопотребление процессора: выводы

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

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

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

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

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

Утилита имеет небольшой вес, порядка 250 килобайт. Не требуется какой-либо установки, просто распаковываете его в выбранную папку и запускаете файл RMClock.exe. Для простоты ссылка на архив с программой будет представлена в конце нашей статьи.

На момент написания статьи последняя версия программы 2.35 имеет следующий функционал в рамках бесплатного использования:

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

- автоматическое управление частотой и напряжением процессора в зависимости от подаваемой нагрузки на него. Концепция носит название "Perfomance on demand" или "производительность по требованию".

-- картинка кликабельна --

Запустив программный продукт, вы попадаете в один из разделов его меню. Мы перечислим весь функционал RightMark CPU Clock Utility по порядку. В разделе About представлена информация о разработчиках, их сайте, и ссылка на лицензионное соглашение. Базовая версия продукта поставляется бесплатно для некоммерческих целей, никакой регистрации не требуется. Имеется профессиональная версия, которая предоставляет гораздо более широкий функционал настроек работы системы и стоит символические 15 долларов. Для начинающего пользователя возможностей базовой версии вполне хватит.

-- картинка кликабельна --

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

За режим автозапуска отвечает подраздел "Startup options". Автозапуск RightMark CPU Clock Utility при загрузке операционной системы позволяет максимально легко решить вопросы энергосбережения без вмешательства в BIOS компьютера, что особенно полезно, когда BIOS не предоставляет каких-либо возможностей по изменению рабочего напряжения и множителя процессора. Подобное встречается в BIOS'ах современных ноутбуков.

Поставив галочку в окне пункта "Start minimized to system tray" вы избавите себя от надобности постоянно закрывать окно программы при очередном запуске. Оно будет выполнять свои задачи после автоматического запуска с предварительным свертыванием.

Пункт "Run at Windows startup:" позволяет установить автоматический запуск программного продукта и выбрать, как это делать. В нашем случае мы осуществляем автоматический запуск через реестр, также имеется возможность автоматического запуска через папку "Автозагрузка". Оба варианта прекрасно работают, начиная от Windows XP заканчивая Windows 7.

Имеется возможность записи необходимых параметров работы процессора в Log-файл. Данный параметр бывает необходим для выяснения причин нестабильной работы системы.

-- картинка кликабельна --

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

-- картинка кликабельна --

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

-- картинка кликабельна --

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

Пункт "P-states transitions method" позволяет выбрать метод перехода от одной заданной комбинации множителя-напряжения на другой. Имеются следующие возможности выбора:

- Single-step: множитель переключается с шагом равной единице. То есть при переходе с множителя 10 на множитель 12 всегда будет промежуточное звено 11. - Multi-step: переход будет осуществляться с переменным шагом. В случае нашего примера, с 10 сразу на 12.

Пункт "Multi-CPU load calculation" позволяет определить метод определения загрузки процессора. Данный параметр будет влиять на скорость переключения комбинации множитель-напряжение на процессоре. В каждом случае подбирается исходя из индивидуальных особенностей работы пользователя. Обычно данный параметр мы не меняем и оставляет на указанном на скрине значении, который означает, что оценка будет осуществляться по максимальной нагрузке любого из ядер процессора.

Пункт "Standby/hibernate action" позволяет выбрать действие программы при переходе в режим гибернации или сна. Как правило, оставление текущего профиля работы является вполне достаточным.

В разделе "CPU Default Settings" представлены следующие пункты:

- Restore CPU defaults on management turns off, который позволяет вернуть первоначальные параметры работы процессора после выбора режима "No Power Managemet". - Restore CPU defaults on application exit, который позволяет вернуть первоначальные параметры работы процессора после выключения RightMark CPU Clock Utility. В разделе "CPU defeaults selection" выбирается метод определения комбинаций множитель-напряжение у процессора: - CPU-defined default P-state, комбинация определяются процессором, - P-state found at startup, комбинации определяются при загрузке программы, - Custom P-state, комбинации устанавливаются вручную.

Пункт "Enable OS power management integration" позволяет создать профиль в схемах энергопотребления системы под названием "RMClock Power Management".

-- картинка кликабельна --

В разделе "Profiles" пользователю предлагается задать те самые комбинации множитель-напряжение, - P-state. Во-первых, предлагается выбрать профили в зависимости от режима энергопотребления, - сеть или батарея/ИБП.

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

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

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

-- картинка кликабельна --

Затем устанавливаете галочки для уже выбранных профилей в соответствующих разновидностях работы программы: - No management - без управления, в настройках не нуждается - вкладки "Power Saving", "Maximal performance", "Perfomance on Demand" по сути дела равнозначны и позволяют установить диапазоны изменения множителей-напрежения процессора.

Например, в нашем случае для вкладки "Power Saving" мы выбрали минимально возможный множитель и напряжением, для вкладки "Maximal performance" максимальный множитель и минимально рабочее напряжение при данной частоте у процессора.

В разделе производительность по требованию "Perfomance on Demand" выбрали три комбинации множитель-напряжение:

- x4-0,95 вольт - x9-1,1 вольт

- x12-1,25 вольт.

-- картинка кликабельна --

Затем наводите на значок в области уведомлений рабочего стола программы RightMark CPU Clock Utility и выбираете необходимые параметры процессора, которые всегда должны вам показываться и выбираете текущий профиль работы. Я всегда ставлю для мониторинга частоту процессора и его температуру работы, что всегда удобно и отчасти интересно.

-- картинка кликабельна --

На рисунке представлены три пиктограммы в области уведомлений рабочего стола: - пиктограммы программы RightMark CPU Clock Utility, - текущая частота процессора,

- его текущая температура.

-- картинка кликабельна --

На скрине представлены диаграммы работы процессора в режиме "Производительность по требованию". Видно, как программный продукт при увеличении нагрузки на процессор ступенчато увеличивает его множитель и напряжение вначале до x9-1,1 вольт и при необходимости до максимальных x12-1,25 вольт. Как только нагрузка падает, все ступенчато возвращается обратно. Подобная регулировка практически никак не влияет на итоговую производительность системы.

-- картинка кликабельна --

Во вкладке "Battery info" предлагается выбрать способы оповещения о состоянии аккумуляторной батареи ноутбука.

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

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

Наш процессор относится к раннему семейству процессоров Core 2 Duo. Современные процессоры поддерживает не активные у нас технологии:

- Engage Intel Dynamic Acceleration (IDA) - Enable Dynamic FSB Frequency Switching (DFFS)

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

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

-- картинка кликабельна --

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

Энергопотребление процессора: определяем минимальное рабочее напряжение

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

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

-- картинка кликабельна --

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

-- картинка кликабельна --

Выбираем метод тестирования в разделе "Options"=> "Torture test" и запускаем его. Длительность тестирования полностью зависит от вас. Как правило, при определении ориентировочного минимального напряжения я дожидаюсь либо первой ошибки, либо провожу тестирование в течение получаса. Если полчаса теста прошло без ошибок, снижаем напряжение на один пункт и вперед заново. После того, как вы определились с минимальным напряжением окончательно, имеет смысл оставить тест на ночь. За несколько часов кропотливой работы, практически всегда удается выявить возникающие ошибки. Нередко, операционная система зависает или в лучшем случае, выдает "синий экран смерти". Это говорит о том, что напряжение занижено и возникла ошибка, - следует поднять рабочее напряжение на процессоре для данной частоты.

-- картинка кликабельна --

В нашем случае, мы определили минимальное рабочее напряжение для нашего процессора. Как оказалось, при максимальной частоте в 2 Ггц нашему процессору 1,25 вольт совсем не нужны. Он вполне стабильно работает и при 1,00 вольтах. Стабильность операционной системы была обнаружена и при режиме 0,975 вольт, но Prime95 сообщил об ошибке, которая пропала после поднятия напряжения до 1,00 вольт. : - процессор с неизменным уровнем производительности и частотой работы 2 Ггц, - максимальную рабочую температуру в нагрузке 62-63 градуса, вместо привычных 72 градусов, - более низкое энергопотребление, которое позволяет без каких-либо схем энергопотребления от Acer, Asus, Samsung, Gigabyte максимально продлить длительность работы ноутбука от аккумуляторной батареи не теряя уровня производительности, - более низкое энергопотребление позволит сократить расходы на электричество, особенно, если указать данные значения в описанном выше программном продукте RightMark CPU Clock Utility.

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

Заключение. Прочитав статью, у пользователя должен возникнуть вопрос: "Неужели производители настолько неумелые, что сами не понижают рабочее напряжение процессоров, особенно в ноутбуках, где это так критично?" Ответ прост и заключается в том, что процессоры выпускаются массово, ноутбуки также выходят с конвейера. Не в интересах производителей затягивать процесс производства, поэтому кому-то везет и его процессор показывает чудеса разгона, а у кого-то отказывается это делать, у кого-то процессор работает при напряжении 1,175 вольт, а у кого-то он стабилен и при 0,98 вольтах. Покупка электроники, - это всегда лотерея. Что скрыто под этикеткой в каждом конкретном случае, познается только на практике.

В заключение хочется поблагодарить разработчиков программных продуктов RightMark CPU Clock Utility и Prime95, которым наш портал МегаОбзор вручает золотую почетную медаль. Ждем ваших вопросов и напоминаем, что все, что вы делаете со своей электроникой, вы делаете на свой страх и риск.

Описанную в статье программу RightMark CPU Clock Utility можно найти по ссылке.

Описанную в статье программу Prime95 можно найти по ссылке.

megaobzor.com

BIOS: изменение частоты работы процессора - Советы пользователю компьютера

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

AGP/PCI/SRC Fixed

Включение данной опции позволяет запретить синхронное и пропорциональное изменение частоты шин PCI , AGP и интерфейса SATA после изменения частоты системной шины.

Значения опции:

Enabled – изменения частоты системной шины не будет вызывать изменения частоты шин PCI, AGP и интерфейса SATA;

Disabled – изменения частоты системной шины будет сопровождаться пропорциональным изменением частоты шин PCI, AGP и интерфейса SATA.

Async CPU/PCIE Clock

Включение данной опции позволяет запретить синхронное и пропорциональное изменение частоты шины PCI Express после изменения частоты системной шины.

Значения опции:

Enabled – изменения частоты системной шины не будет вызывать изменения частоты шины PCI Express;

Disabled – изменения частоты системной шины будет сопровождаться пропорциональным изменением частоты шины PCI Express.

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

PCI Express Freq Control

PCI Express Selectable

PCI-E Frequency to CPU

PCIE CLK Synchronize

PCIEx clock Sync. to CPU

Asynchronous Frequency

Включение данной опции позволяет запретить синхронное и пропорциональное изменение частот шин ПК после изменения частоты системной шины.

Значения опции:

Enabled – изменения частоты системной шины не будет вызывать изменения частот остальных шин (PCI, AGP, PCI Express);

Disabled – изменения частоты системной шины будет сопровождаться пропорциональным изменением частот остальных шын.

Cool N’Quiet

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

Значения опции:

Enabled – использовать технологию;

Disabled – не использовать.

CPU Clock Ration Jumpless

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

Значения опции:

Enabled – автоматическое определение множителя;

Disabled – не использовать данный режим.

CPU FSB Clock

Установка частоты системной шины (на основе частоты системной шины вычисляется тактовая частота ЦП).

Значения опции:

Auto – автоматическая установка частоты системной шины;

Значения частоты системной шины (зависят от модели материнской платы и версии БИОС).

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

Adjust CPU Bus Clock

Adjust CPU FSB Frequency

Clock By Slight Adjust

CPU BUS Frequency

CPU Clock

CPU Clock Setting

CPU CLOCK/SPEED

CPU External Frequency (MHz)

CPU Frequency

CPU Frequency Setting

CPU FSB (Mhz)

CPU FSB Clock (Mhz)

CPU FSB Frequency

CPU Host Clock (Mhz)

CPU Host Frequency (Mhz)

CPU Overclock

CPU Overclock Frequency

External Clock

FSB (QDR), MHz

FSB Clock (Mhz)

FSB Frequency

Host Burn-in Mode

Host Burn-in Mode Percentage

New FSB Speed (QDR)

NPT Fid Control

Set System Operation Frequency

System Frequency

CPU Host/3V66/PCI Clock

Установка значений частот системной шины, шины AGP и шины PCI для синхронных чипсетов.

Значения опции: зависят от модели материнской платы.

CPU Host/SRC/PCI Clock

Установка значений частот системной шины, шины PCI и интерфейса SATA для синхронных чипсетов.

Значения опции: зависят от модели материнской платы.

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

Host/SRC/PCI clock

CPU Host/PCI Clock/PC133

Выбор соотношения реальных частот системной шины, шины PCI и шины памяти.

Значения опции:

Default – соотношение частот берется с микросхемы SPD модуля памяти;

Соотношение частот.

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

FSB (CPU:SDRAM:PCI)

CPU Operating Frequency

Выбор способа установки тактовой частоты процессора (это произведение частоты системной шины и множителя процессора).

Значения опции:

Auto (или Disabled) – автоматическая установка тактовой частоты центрального процессора;

User Define (или Enabled, или On) – ручная установка тактовой частоты ЦП.

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

CPU Host Clock Control

CPU Operating Speed

CPU Ratio

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

Auto – автоматическое определение множителя (соотношение частоты работы процессора к физической частоте системной шины);

Диапазон значений множителя (зависит от модели материнской платы и версии БИОС).

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

Adjust CPU Ratio

CPU Clock Multiplier

CPU Clock Ratio

CPU Frequency Multiple

CPU Frequency Multiplier

CPU Frequency Ratio

CPU Freq. Ratio

CPU Multiple

CPU Multiplier

CPU Ratio CMOS Setting

CPU Ratio Selection

CPU System Frequency Multiple

Frequency Ratio

Multiplier Factor

Ratio CMOS Setting

CPU Speed

Установка тактовой частоты ЦП путем изменения частоты шины FSB. Диапазон значений зависит от модели материнской платы. Иногда данная опция имеет информативный характер (отображает значение тактовой частоты процессора).

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

CPU Operating Speed

CPU Sleep Pin Enable

С помощью данной опции можно разрешить/запретить понижать тактовую частоту процессора во время ждущего режима.

Значения опции:

Enabled – разрешить понижать тактовую частоту процессора во время ждущего режима;

Disabled – запретить понижать тактовую частоту процессора во время ждущего режима.

CPU Speed/Voltage Setting

Выбор способа установки значений рабочих частот и напряжений процессора.

Значения опции:

Auto (или Disabled) – автоматическая установка;

User Define (или Enabled, или On, или Manual) – ручная установка.

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

CPU Operating Speed

CPU Over-clocking Func.

CPU Ratio/VID Change

CPU/MEM Clock Selectable

FID/VID Change

Operating Frequency Setting

Default Frequency Ratio

С помощью данной опции можно разрешить/запретить использование стандартного (номинального) множителя процессора.

Значения опции:

Enabled (или Auto) – разрешить использование номинального множителя процессора;

Disabled (или Manual) – использовать множитель, отличный от номинального (если процессор поддерживает данную возможность);

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

Auto Detect CPU Frequency

CPU Core Unlock

CPU Ratio Adjustment

Modify Ratio Support

Set CPU Ratio

Use Maximum Multiplier

Fix AGP/PCI Frequency

Включение данной опции позволяет запретить синхронное и пропорциональное изменение частоты шин PCI  и AGP после изменения частоты системной шины.

Значения опции:

Enabled – изменения частоты системной шины не будет вызывать изменения частоты шин PCI и AGP;

Disabled – изменения частоты системной шины будет сопровождаться пропорциональным изменением частоты шин PCI и AGP.

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

Async AGP/PCI Clock

Fixed AGP/PCI Frequency

FSB—Memory Clock Mode

Выбор способа управления частотами FSB и памяти.

Значения опции:

Auto – частоты FSB и памяти устанавливаются автоматически;

Linked – частота FSB настраивается вручну (частота оперативной памяти будет изменятся пропорционально автоматически);

Unlinked – частоты FSB и памяти устанавливаются отдельно и вручную.

FSB/SDRAM/PCI Frequency (MHz)

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

FSB:SDRAM:PCI Frequency Ratio

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

Host Burn—in Mode Percentage

Позволяет изменить значение частоты системной шины процессора в процентах от номинального значения.

Значения опции:0% — 30%.

Host Burn—in Mode Type

Позволяет выбрать направление изменения частоты системной шины.

Значения опции:

Positive – менять частоту системной шины в сторону увеличения;

Negative – менять частоту системной шины в сторону уменьшения.

HT Frequency

Установка значения эффективной частоты (иногда значения множителя) для шины HyperTransport, которая используется в качестве системной шины в процессорах, начиная с Athlon 64 и Sempron.

Значения опции:

200 MHz — 2000 MHz – выбор значения эффективной частоты;

1x — 10x – выбор значения множителя процессора.

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

(K8/NPT) to (AGP) Frequency

CPU <-> nForce SPP

Hyper Transport Frequency

K8<->NB HT Speed

K8<->SB HT Speed

LDT Bus Frequency

LDT Frequency

LDT to AGP Lokar Frequency

MCP55 (SB) to AM2 (CPU) Frequency

Ref Clock (HTT), MHz

LDT (AM2) to C51 (NB) FreqAuto

Выбор способа управления частотой шины HyperTransport, которая используется в качестве системной шины в процессорах, начиная с Athlon 64 и Sempron.

Значения опции:

Enabled – автоматическая установка частоты шины HyperTranspor;

Disabled – ручной режим управления частотой шины HyperTranspor.

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

(K8/NPT) to (AGP) Freq Auto

MCP55 (SB) to AM2 (CPU) Freq. Auto

Operating Frequency Setting

Выбор способа настройки частот.

Значения опции:

User Define – ручная установка частот;

Standart – автоматическая установка частот.

PCI clock Sync. to CPU

Включение данной опции позволяет запретить синхронное и пропорциональное изменение частоты шины PCI после изменения частоты системной шины.

Значения опции:

Enabled – изменения частоты системной шины будет сопровождаться пропорциональным изменением частоты шины PCI;

Disabled – изменения частоты системной шины не будет вызывать изменения частоты шины PCI.

Ratio Free

Опция позволяет разрешить/запретить использование дополнительного множителя 14x вместо стандартного для старших моделей Pentium 4.

Значения опции:

Enabled (или Low) – разрешить использование дополнительного множителя 14x;

Disabled (или High) – запретить использование дополнительного множителя 14x;

Auto – автоматическая установка необходимого значения множителя.

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

C.A.M.

CPU Lock Free

System/AGP Frequency

Отображает информацию о соотношении или значениях частот системной шины и шины AGP для синхронных чипсетов.

System/PCI Frequency

Отображает информацию о соотношении или значениях частот системной шины и шины PCI для синхронных чипсетов.

System/SDRAM Frequency Ratio

Отображает информацию о соотношении или значениях частот системной шины и шины памяти.

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

System/Memory Frequency Ratio

CPU/Memory Frequency Ratio

System Memory Multiplier

FSB/Memory Ratio

xiod.ru


Смотрите также