Как понизить напряжение на процессоре в биосе. Понижение рабочего напряжения процессора, или тюнинг Enhanced Intel SpeedStep

Детские товары 21.10.2019
Детские товары

Наверное, ни для кого не секрет, что силиконовый гигант Intel занимает лидирующие позиции по продажам чипсетов с интегрированной графикой. Дело в том, что такие решения наиболее востребованы в офисных машинах, где производительность подсистемы видео в 3D-приложениях не имеет практического значения. Процессоры Intel, завоевавшие в свое время этот рынок, и по сей день безоговорочно выбираются системными администраторами в качестве сердца для этих "рабочих лошадок". Не так давно Intel начала развивать и новое направление применения своей продукции, продвигая концепцию так называемого "цифрового дома". Одним из ключевых моментов идеи является наличие дома второго или N-го компьютера, являющегося основой домашнего кинотеатра, музыкальным центром, DVD плейером-рекордером и т.д., в котором также нашлось место интегрированным решениям. Действительно, кому нужен DVD-проигрыватель с GeForce 7800 GTX в качестве устройства вывода изображения? Потому практика Intel - выпускать модификацию базового набора микросхем с встроенной графикой в рамках очередной линейки чипсетов - стала уже традицией. Одним из самых новых интегрированных решений компании является логика i945G. Именно этот чипсет и две платы на его основе мы сегодня рассмотрим.

Чипсет Intel 945 G

Набор логики i945G является модификацией базового решения i945P.

Структурно, это все тот же i945P, к которому "приклеили" графическое ядро GMA 950. Поэтому, если не принимать во внимание встроенное видео, все характеристики названых наборов микросхем, абсолютно идентичны. Наряду с существовавшим ранее ATI Radeon Xpress 200G, совсем недавно у i945G появился еще один довольно сильный конкурент от другого ведущего производителя видеоускорителей - интегрированное решение NVIDIA GeForce 6100. Противостояние усиливается еще и тем, что GeForce 6100 и ATI Radeon Xpress 200G спроектированы для совместной работы с процессорами компании AMD - извечного конкурента Intel. Что ж, несмотря на существенную разницу в архитектуре чипсетов, давайте попробуем сравнить их характеристики.

Характеристика

Intel 945P Express

Intel 945G Express

NVIDIA GeForce 6100 + nForce 410/430

ATI Radeon Xpress 200G

Северный мост

Поддерживаемые процессоры

Intel Celeron D, Pentium 4, Pentium 4 Extreme Edition, Pentium D и Pentium Extreme Edition

AMD Opteron, Athlon 64 (FX/X2), Sempron

Поддерживаемые разъемы

Socket 754, 939, 940

Socket 754, 939, 940

Частота системной шины, МГц

Контроллер оперативной памяти

двухканальный контроллер DDR2-400/533/667 с поддержкой до 4 модулей DIMM суммарным объемом до 4 GB

Графический интерфейс

Частота встроенного графического процессора, МГц

Количество пиксельных конвейеров

Количество вершинных процессоров

Поддерживаемая версия DirectX

Южный мост

PCI Express, линий

20/22* PCI Express x1

20/22* PCI Express x1

17* PCI Express x1

22** PCI Express x1

PCI, линий

Parallel ATA, каналов

SerialATA, портов

4 х 3 Gbit/s, NCQ

4 х 3 Gbit/s, NCQ

2/4 x 3 Gbit/s, NCQ

2/4 x 1.5 Gbit/s

Поддержка RAID

0, 1, 0+1 (10) и 5 из SATA-дисков

0, 1/ 0, 1, 0+1 (10), 5

0, 1 из SATA-дисков

USB 2.0, портов

Звук

Intel

High Definition Audio (7.1) или AC"97 (7.1)

High Definition Audio (7.1) или AC"97 (7.1)

* 16 линий используются портом PCI Express x 16

** 16 линий используются портом PCI Express x 16 и 2 применяются в качестве шины для связи северного и южного мостов.

Как видите, функциональность рассматриваемых наборов микросхем имеет некоторые отличия. Конечно же, основным из них является поддержка микропроцессоров разных производителей. Северные мосты Xpress 200G и GeForce 6100 лишены контроллеров памяти, так как процессоры AMD для Socket 754, 939, 940 имеют собственные.

Заметна разница в количестве линий PCI Express, которых у творений Intel и ATI существенно больше, чем у NVIDIA. Radeon Xpress 200G проигрывает конкурентам по возможностям поддержки дисков с интерфейсом Serial ATA, имея в своем распоряжении только 1.5 Gbit/s контроллер, "не ведающий" про технологию NCQ и не способный работать с массивами RAID 10 и 5.

Графический процессор GMA 950, интегрированный в i945G, является модификацией предыдущего ядра GMA 900, использовавшегося совместно с i915, и претерпел лишь незначительные изменения. Глядя в таблицу, довольно трудно определить, какой IGP сильнее - GMA 950, Radeon Xpress 200G или GeForce 6100. С одной стороны, первые два имеют большее количество пиксельных конвейеров: 4 против 2, но, при этом, ни одного вершинного, возлагая задачу расчета шейдеров на центральный процессор, в то время как детище NVIDIA располагает одним вертексным юнитом. Radeon Xpress 200G работает на значительно меньшей частоте, чем решения конкурентов. С другой стороны, количество линий рендеринга, как и частота ядра, являются довольно спорными критериями для оценки производительности ускорителя в 3D-приложениях. Тем более при сравнении решений от разных разработчиков. GMA 950 и Radeon Xpress 200G аппаратно поддерживают Shader Model 2.0, в то время как GeForce 6100 справляется и с версией 3.0. Хотя, говоря про интегрированную графику сегодня, не стоит считать способность работать с Shader Model 3.0 серьезным преимуществом.

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

Технические характеристики Intel D945GNT и D945GTP

Первая из рассматриваемых плат, D945GTP, в лучших традициях решений со встроенным видео выполнена в формате MicroATX. Другая - D945GNT, - напротив, является полноразмерной ATX. Между тем, несмотря на то, что изделия имеют различный форм-фактор, их функциональность практически идентична.

Поддерживаемые процессоры

Intel Celeron D, Pentium 4, Pentium 4 Extreme Edition, Pentium D, Pentium Extreme Edition с частотой системной шины 1066/800/533 МГц и технологией Hyper-Threading в корпусе LGA775

Северный мост

Южный мост

Слоты памяти

4 слота DDR2-667/533/400 (два канала), максимальный суммарный объем модулей - 4 GB

Слоты расширения

D945GNT :1 х PCI Express x16, 2 x PCI Express x1, 4 x PCI

D945GTP :1 х PCI Express x16, 1 x PCI Express x1, 2 x PCI

1 канал Ultra DMA 33/66/100, реализованный на контроллере, интегрированного в ICH7

SerialATA

4 3 Gbit/s порта, реализованных за счет контроллера, интегрированного в ICH7

RAID 0, RAID 1, RAID 0+1 и RAID 5 (только из SATA-дисков), Intel Matrix Storage

Графическое ядро

Ethernet

1 порт 10/100 Mbit/s на Intel 92562GZ

Интегрированный звук

Intel High Definition Audio (7.1) на кодеке SigmaTel STAC9223DS

8 портов, (4 выведено на заднюю панель)

IEEE-1394

3 порта IEEE 1394a (1 выведен на заднюю панель), реализованных на контроллере TSB43AB23

Системный мониторинг

Отслеживание напряжений на компонентах, скорости вращения вентиляторов и температуры процессора (по встроенному термодиоду).

Дополнительные возможности

Intel Rapid BIOS Boot

Intel Platform Innovation Framework for Extensible firmware interface

Форм-фактор

D 945 GNT : ATX, 245мм x 305мм (12" х 9.6")

D945GTP : MicroATX, 245мм x 245мм (9.6" х 9.6")

По большому счету, продукты отличаются только размерами и наличием у D945GNT дополнительных слотов: одного PCI Express x1 и двух PCI. В основе плат лежит связка из северного моста i945G и южного - ICH7R. Довольно высокая функциональность ICH7R расширяется дополнительными контроллерами.

Для реализации поддержки интерфейса IEEE 1394 на платах распаян трехпортовый контроллер TSB43AB23 производства Texas Instruments.

Встроенный звук, базирующийся на восьмиканальном (7.1) кодеке Sigmatel STAC9223D5, соответствует стандарту Intel High Definition Audio.

Сетевые возможности изделий основаны на микросхеме Intel 82562GZ. Максимальная поддерживаемая чипом скорость передачи данных составляет 100 Mbit/s. Сегодня, когда места на текстолите все чаще отдаются гигабитным контроллерам, эта скорость уже кажется недостаточной. Но, все же, для среднестатистических домашних и офисных задач 100 Mbit/s вполне хватает.

На платы установлено всего по одному разъему Parallel ATA, что обусловлено ограниченными возможностями южного моста по поддержке устройств с названым интерфейсом. Между тем,PATA-диски все реже встречаются в продаже, и их цена лишь чуть ниже, чем у SATA. Потому сегодня каналы Parallel ATA обычно заняты оптическими приводами. Ну а четырех линий Serial ATA вполне достаточно для построения систем среднего уровня.

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

Упаковка и комплектация

Материнские платы D945GNT и D945GTP поставляются в оригинально оформленных коробках привычных размеров. В боксах можно найти следующий набор предметов:

  • один 80-жильный IDE-кабель и один FDD;
  • два SATA-кабеля;
  • заглушку на заднюю стенку корпуса для I/O панели;
  • дискету для RAID-контроллера, встроенного в ICH7R;
  • два диска с драйверами и фирменными утилитами;
  • руководство по эксплуатации и плакат-руководство по сборке.

Конечно, комплект поставки выглядит несколько скудновато. Но не стоит забывать, что платы позиционируются как основа для сравнительно недорогих ПК. В этом секторе рынка цена имеет довольно весомое значение и здоровая экономия всегда приветствуется. Для сборки среднестатистической системы этого количества предметов достаточно. В случае необходимости, недостающие кронштейны и кабели, необходимые для того, чтобы задействовать все порты SATA, IEEE 1394а и USB, можно приобрести отдельно. При этом хотелось бы отметить, что количество поставляемого с продуктами программного обеспечения значительно превосходит негласный стандарт. Но об этом ниже. А пока давайте "пощупаем" сами платы.

Дизайн и компоновка

Минимальные различия в функциональности рассматриваемых изделий не случайны. D945GTP, выполненная в формате MicroATX, является базовой моделью, а ее ATX модификация, D945GNT, получилась путем увеличения размеров текстолитовой основы. Образно выражаясь, к D945GTP "приклеили" кусок текстолита, в результате чего получилась D945GNT.

Intel D945G TP

На дополнительной площади разместились два слота PCI и один PCI Express x1, а также трехконтактная колодка для подключения вентилятора. Основная часть добавочного пространства осталась абсолютно "голой" и не задействованной под какие-либо контроллеры. Насколько мне известно, подобный "трюк" практикуется только Intel.

К разъему для процессоров Intel в корпусе LGA775 подведены четыре канала питания.

Подобную схему, при построении плат на базе чипсетов 9хх серии, реализовало подавляющее большинство производителей, и мы ее уже не раз видели. Разве что высокочастотные фильтрующие элементы (дроссели) чаще встречаются в упаковке, а не "голыми". Пока мы не отвлеклись от игры "найди ХХ отличий", обратим внимание на еще один момент - на D945GTP не распаяны 4 стабилизатора питания: по одному на фазу. Возможно, это связано лишь с тем, что присланная на тесты плата является инженерным образцом. Впрочем, даже в этом случае, во время тестирования не было выявлено каких-либо нестабильностей. По большому счету, на этом отличия плат заканчиваются, потому далее мы будем рассматривать D945GNT, а все сказанное будет справедливо и для D945GTP.

Питание процессора осуществляется по линии +12 В, подключаемой к четырехконтактному разъему ATX 12V. Совместимость с восьмиконтактными штекерами EATX 12V, встречающимися в новых блоках питания, сохранена.

Основной 24-пиновый разъем расположен в наиболее подходящем для него месте - верхнем правом углу платы. Рядом с ним мы видим колодки Parallel ATA и FDD. Немного пониже расположились четыре порта Serial ATA.

Для установки модулей оперативной памяти DDR2 имеются четыре 240-пиновых 1.8 В слота, подключенные к двум каналам контроллера. Максимальный поддерживаемый логикой объем памяти составляет 4 GB.

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

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

Южный мост принудительного охлаждения не имеет.

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

На I/O-панели расположены следующие порты и разъемы:

  • два гнезда PS/2 для подключения мыши и клавиатуры;
  • четыре USB 2.0;
  • сетевой RJ-45;
  • один VGA;
  • один IEEE 1394а;
  • один параллельный (LPT);
  • один последовательный (COM);
  • пять входов-выходов звуковой карты (mini-jack);
  • оптический выход S/PDIF.

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

В целом, к дизайну плат претензий нет. Все достаточно хорошо продумано, и при сборке системы проблем не возникло.

BIOS и программное обеспечение

Рассматриваемые материнские платы используют оригинальную версию микрокода от производителя, именуемую Intel Platform Innovation Framework for Extensible firmware interface. Примечательно, что графический интерфейс, служащий для конфигурирования прошивки, отображается с разрешением 800х600 вместо привычного 640х480, что позволяет уместить на экране больше полезной информации.

От недостатка настроек пользователь страдать не будет: все пункты BIOS Setup проработаны очень основательно. Вся необходимая информация об используемых комплектующих также выводится в полном объеме.

В разделе системного мониторинга отображаются показания встроенных в процессор и материнскую плату термодатчиков, реальные значения напряжения на процессоре и линиях +12, +5 и +3.3 В, а также скорости вращения вентиляторов, подключенных к трем разъемам, распаянным на текстолите.

Меню конфигурирования оперативной памяти предлагает выбор трех значений рабочей частоты модулей: 400, 533, 667 МГц (DDR). Здесь же доступен набор основных таймингов:

  • CAS# Latency (Tcl): 3.0, 4.0, 5.0, 6.0;
  • RAS# to CAS# delay (Trcd): 2-5;
  • Row Precharge Time (Trp): 2-5;
  • Min RAS# active Time (Tras): 10-15.

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

С изделиями поставляется довольно "увесистый" набор OEM-версий коммерческого программного обеспечения, состоящий из:

  • InterVideo Home Theatre Silver;
  • InterVideo MediaOne Silver;
  • Musicmatch Jukebox;
  • Jasc Paint Shop Photo Album 5.0;
  • NTI:CD-Maker;
  • Norton Internet Security 2005;
  • Norton AntiVirus;
  • Farstone RestoreIT Golld;
  • Farstone Gamedrive;
  • Kaspersky AntiVirus Business Optimal;
  • ABBYY Lingvo 9.0.

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

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

При тестировании материнских плат D945GNT и D945GTP использовался следующий набор комплектующих:

  • процессор: Intel Pentium 4 531 (Prescott E0), 3000 МГц (15 x 200);
  • оперативная память: 2 х 512 MB DDR2, Corsair XMS2-5400 (SPD 4.0-5-5-15 667 МГц);
  • жесткие диски: Seagate ST3200822AS 200 Гб SATA 7200 об/мин и Seagate ST3120827AS 120 Гб SATA 7200 об/мин;
  • блок питания: FSP 550 Вт (FSP550-60PLN);
  • кулер: Thermaltake Big Typhoon 1300 об/мин;
  • операционная система: Windows XP Professional SP2 (ENG).

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

Для исследования производительности изделий при работе с внешним ускорителем использовалась видеокарта ATI Radeon X800XT.

Конкурирующие с i945G чипсеты - ATI Xpress 200G и NVIDIA GeForce 6100 - в нашем тестировании представлены платами MSI RS480M2 и ASRock K8NF2G-SATA2. Первая плата из названной пары использовалась совместно с процессором AMD Athlon 64 3500+ (200х11), вторая - с AMD Sempron 2500+ 64 bit (200х7).

В наиболее старом полусинтетическом игровом тесте нашего пакета - 3D Mark 2001SE - чипсет i945G является безоговорочным лидером.

После прохождения реальных игровых тестов становится ясно, что встроенное ядро Intel GMA 950 немного слабее своих конкурентов от ATI и NVIDIA. Но, учитывая общий уровень производительности встроенной графики всех троих производителей, отставание решения Intel не выглядит сколь ни будь значимым. При этом, рассматривая производительность логики от ATI, не следует забывать, что во время испытаний она работала совместно с процессором AMD Athlon64 3500, который является значительно более дорогим и производительным решением, чем Intel Pentium 4 531.

Дальнейший набор тестов платы D945GNT и D945GTP проходили с внешней видеокартой.

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

Выводы

Чипсет Intel 945G является достаточно интересным решением. Позиционируясь как основа для недорогих офисных и мультимедийных компьютеров, логика поддерживает все современные процессоры Intel, обладает хорошей функциональностью и высокой производительностью. Скоростные характеристики встроенного ядра GMA 950 лишь ненамного ниже, чем у IGP конкурентов. При этом мы уже отмечали, что производительность в 3D-приложениях - это далеко не самая главная характеристика интегрированного видео.

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

Материнские платы Intel D945GNT и D945GTP предоставлены на тестирование московским представительством компании Intel


Before we move on to testing the HP DV1000T, I need to introduce you to Intel"s new 945PM/GM chipset technology. This will help you better appreciate some of the tests that are to come. Again let me note that we will be publishing a more detailed look at the 945GM chipset soon.

The two key aspects of Intel"s Centrino Duo Mobile technology are Core Duo mobile CPUs and the 945PM Express and 945GM Express chipsets. The 945PM is used in mobile computers with discrete graphics processors - graphics processors that are external to the 945 chipset - and provides all chipset functionality but the graphics functionality provided by the discrete graphics processor itself. The 945GM, which also supports discrete processors but is not as cost effective as the 945PM if a discrete processor is used, includes an integrated graphics processor, the Intel Graphics Media Accelerator 950 (GMA 950). Aside from the graphics differences, the two chips are identical.

The following table shows the characteristics of the two chips. It is based on Intel specifications data.

Mobile Intel 945GM Express Chipset Mobile Intel 945PM Express Chipset
Processors Supported Intel Core Duo processor


Intel Core Solo processor

Intel Celeron M processor
Intel Core Duo processor
Intel Core Duo processor Low Voltage (LV)
Intel Core Duo processor Ultra Low Voltage (ULV)
Intel Core Solo processor
Intel Core Solo processor Ultra Low Voltage (ULV)
Intel Celeron M processor
Intel Celeron M processor Ultra Low Voltage (ULV)
FSB Speed 667 MHz
533 MHz
667 MHz
533 MHz
#SO-DIMMs/Max Memory 2 SO-DIMMs / up to 4 GB Max System Memory @ 533 MHz (use with 667 MHz memory not validated)
Memory Type DDR2 667 MHz
DDR2 533 MHz
DDR2 667 MHz
DDR2 533 MHz
Memory Channels Dual/Single Channel Dual/Single Channel
ECC Parity No No
Integrated Graphics Intel GMA 950 N/A
Discrete Graphics PCI Express x16 PCI Express x16
Integrated TV Out Yes N/A
Max Panel Display Resolution LVDS: Up to UXGA (1600x1200) N/A
Dual Display Options Concurrent/Simultaneous Concurrent/Simultaneous
Power Management Enhanced Intel SpeedStep Technology, Deeper Sleep
Intel Display Power Savings Technology Yes N/A
PCI Masters 7 7
IDE / ATA ATA 100 (1 Ch.)
SATA 150 (2 Ports)
ATA 100 (1 Ch.)
SATA 150 (2 Ports)
USB 8 Ports USB 2.0 8 Ports USB 2.0
Integrated LAN MAC (w/10/100 Ethernet or HTNA) Yes Yes
PCI Express I/O Ports 4X1 PCI Express Ports 4X1 PCI Express Ports
Audio Circuitry Intel High Definition Audio 24bit 192KHz, AC"97 2.3 Audio
Supported ICH 82801 GBM / 82801GHM 82801 GBM / 82801GHM

The HP DV1000T has the 945GM Express chipset and borrows up to 128 MB of system memory for graphics processing. The N6410, with a separate ATI Mobility Radeon X1400 graphics processor (128 MB of dedicated memory and the ability to use up to 128 MB of shared systen memory) uses the 945PM Express chipset. Both graphics processors can do 2D and 3D graphics. As you will see the ATI processor is the better performer of the two.

This is the interface used to modify the characteristics of the Intel GMA 950 graphics processor.

Before we leave our discussion of the 945GM/PM chipset, I need to call your attention to one of the rows in the above table, the one labeled "#SO-DIMMS/Max Memory." Check out the phrase in each column "(use with 667 MHz memory not validated)." Say what? Well at least one reason for the caveat has to do with system memory clock specs. It turns out that system memory clocks in some 945GM/PM based systems don"t or at least at one time didn"t meet DDR2 667 MHz DRAM device jitter requirements. This can cause problems with DDR2 667 MHz memory timing, if the memory doesn"t meet all of the other requirements for DDR2 DRAM from Intel and JEDEC, the semiconductor engineering standardization body of the Electronic Industries Alliance (EIA). Intel claims that no functional memory failures have been observed.

Введение

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

Разгон позволяет увеличить производительность 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 возможность менять напряжение и частоту. :-)



Рекомендуем почитать

Наверх