Отключение энергозащиты в процессорах на ядре Nehalem


Как мы уже писали, появление блока PCU и динамического управления частотой «в обе стороны» весьма сильно изменило ситуацию с работой процессоров на ядре Nehalem в режимах, выходящих за рамки штатных. Все отличие от предыдущих процессоров компании Intel — теперь учитывается не только температура, но и энергопотребление ядер процессора, что и превратило банальную защиту от перегрева (появившуюся еще во времена первых Pentium 4) в сложный и красивый процесс. Это и плохо, и хорошо. Хорошо, поскольку эффективнее. Процесс увеличения и снижения температуры более инерционен, да и механизмы защиты срабатывали лишь тогда, когда температура уже начинала превосходить определенную границу. Nehalem просто не может выйти на опасный режим — прежде чем выделить энергию в виде тепла, ее нужно сначала потребить в виде электричества, а контроль начинает работать уже на этом этапе. Иными словами, Core 2 и более ранние обладали лишь пассивной защитой, работающей уже в критической ситуации, а PCU позволяет Nehalem не доводить дело до нее. При сильном росте нагрузки, процессор сначала отключает турбо-режим, затем просто начинает снижать частоту, удерживая в рамках потребляемую мощность. Но, разумеется, никуда не делись и более «старые» механизмы, такие, как снижение частоты (или отключение устройства) при перегреве (критическом перегреве) — аварийные ситуации никто не отменял.

Чем плоха эта схема работы? При эксплуатации процессора в правильных условиях (в штатном режиме, с соответствующей исправной системой охлаждения, в подходящем корпусе и т.п.) ничем, но подобная схема работы устраивает далеко не всех пользователей. Количество «разгонястов» (гордо именующих себя на смеси английского с нижегородским «оверклокерами») в относительном исчислении крайне невелико, сравнительно с общей массой пользователей. Однако они существуют в природе, и с их интересами производителям приходится считаться. Особенно, если речь идет о топовом сегменте процессоров, куда ныне попадают все «настольные» Nehalem. А здесь уже контроль именно энергопотребления мог сыграть дурную службу, делая получаемые при разгоне гигагерцы тактовой частоты еще более «кукурузными», чем принято считать частоты процессоров на ядре NetBurst. Там производительность при росте тактовой частоты, все же, росла, пусть и была в расчете на мегагерц меньшей, чем для кристаллов других архитектур, а тут был бы полный конец обеда: процессор разогнали вдвое, а производительность осталась на том же уровне, поскольку реальная тактовая частота под нагрузкой не увеличилась.

Специально рассчитанные на энтузиастов и прочих спортсменов процессоры серии Extreme Edition, конечно, лишены описанной проблемы, но этот своеобразный топ от топа слишком «вещь в себе». Впрочем, их появление в свое время показательно — Intel решила повернуться к любителям разгона человеческим лицом. Да и платы под маркой этой компании давно лишились клейма «недружественных оверклокеру», обретя все те специфические настройки, которые принято считать нужными разгонясту. Согласитесь, было бы нелогичным одной рукой демонстрировать свою готовность понять и принять нужды энтузиастов, а другой - полностью перекрывать им кислород. Тем более что, как показывает история, бесполезно это — если приспичит, все равно найдутся способы обойти любые ограничения. В конце концов, разгоняли даже 80386 и более ранние процессоры, не останавливаясь перед перепайкой кварца.

Есть ли возможность обойти защиту? Первое время на базе официальных заявлений Intel все считали, что функционирование модуля PCU полностью прозрачно для материнской платы и не только, то есть он работает как некий контроллер на принципе «черного ящика», полностью защищенный от внешнего воздействия «неположенными» способами. Однако практика эксплуатации уже самой первой появившейся на рынке линейки процессоров на базе ядра Nehalem показала, что не так уж независим PCU. В конце-концов, хотя бы в приборах экстремальной редакции его параметры являются гибко настраиваемыми пользователем. Значит, на него можно повлиять. Опять же — мы уже экспериментальным путем установили, что параметры энергозащиты меняются при смене процессора только в том случае, если для вновь устанавливаемого они «не подходят». То есть, заменив, например, Xeon X-серии на Core i7 EE получим мы без сброса настроек для второго те же 95 Вт максимального энергопотребления и 80 Вт как порог буст-режима. С учетом этой информации картина перестает быть столь уж томной.

На деле, способы отключения контроля со стороны PCU существуют. Впрочем, будет ли их поддерживать та или иная материнская плата — оставлено «на совести» ее производителя. Однако практика показывает, что наличие таковой возможности, скорее, правило, чем исключение — даже сама компания Intel в своей настольной линейке плат (состоящей пока ровно из одной модели) таковую предусмотрела. Для этого просто отправляемся в BIOS Setup в настройки производительности и включаем «CPU VR Current Limit Override». В других платах эта настройка может называться по-разному, однако есть практически везде, причем появилась еще со времен первых версий BIOS. Заметим, что полного отключения троттлинга не происходит — этой возможности компания нам не оставила, поскольку это было бы чересчур опасным решением. Просто мы можем привести поведение Core i7 или любого другого ныне существующего процессора в исполнении LGA1366 к той же модели, что была свойственная более ранним семействам, таким, как Core 2 или даже NetBurst: классический Thermal Throttling. Разумеется, на свой страх и риск и только в том случае, когда вы точно осознаете, что делаете. Впрочем, для работы в штатном режиме данная настройка все равно смысла не имеет (что мы покажем ниже), а «неосознанный» (без учета всех рисков) разгон тоже в чем-то полезен — естественный отбор крайне важен для здоровья популяции.

Какие вопросы наиболее интересны? Само по себе функционирование отключения контроля энергопотребления проверять неинтересно — это уже сделано до нас. А как он работает на практике? И сколько энергии нужно разогнанному до нештатных частот Core i7 — уже имеет смысл оценить. Тем более что механизмы контроля, встроенные в сам процессор, безусловно, более точны, чем любой внешний прибор, хотя бы потому, что, в отличие от последнего, не вносят собственных погрешностей. Поэтому мы взяли наш стандартный тестовый стенд, на котором по новой методике тестировались процессоры в исполнении LGA1366, процессор Core i7 965 Extreme и попробовали заставить все это работать в нескольких режимах.

Разгон экстремальных моделей на Intel DX58SO имеет свои особенности: хотя множитель «обычного» режима в этих процессорах не заблокирован, данная плата его повышать не позволяет, заставляя оперировать либо опорной тактовой частотой, либо множителями режима Turbo-Boost. Второе мы и выбрали. Turbo-Boost стоило бы отключить в любом случае, чтобы не мешался, но, ввиду описанных выше особенностей, отключать его надо «наоборот» — отучив процессор работать в обычном режиме. Делается это просто — устанавливаем пороговые значения энергопотребления на одинаковый уровень, после чего процессор всегда будет трудиться именно в буст-режиме. Для начала, все четыре коэффициента умножения мы установили на 24, что дает нам частоту в 3,2 ГГц, то есть штатную. Контроль энергопотребления на этой частоте мы не отключали, но проводили тестирование при двух значениях: 95 и 130 Вт. Второе — как раз штатное для всех сегодняшних Core i7 . А первое - типично для Xeon X5500 и будущих Core i7/i5 в исполнении LGA1156 (всегда хочется немного заглянуть в будущее ).

Дальше мы приступили к разгону, для чего установили множители (все четыре) на значение 30, что должно дать нам «магическую» цифру в 4 ГГц. Компьютер включился, однако Windows XP SP3 загружаться отказалась. Не беда — увеличиваем напряжение до 1,5 В, и система загружается. Даже некоторые тесты проходят, но не все. Поэтому мы увеличили напряжение до 1,525 В, на чем и остановились — все, что было нужно нам, работало. В качестве порогов в этом режиме были выбраны значения 95, 130, 150, 175 и 200 Вт, а также полное отключение контроля.

Чем воспользоваться в роли индикатора? Мы остановились на wPrime в режиме «максимальной сложности». При всей своей синтетичности данное приложение достаточно неплохо прогревает процессор, однако выполняется на этой системе достаточно быстро, чтобы не затосковать в процессе тестирования. Оно выполнялось просто — мы делали четыре прогона wPrime (один прогревочный и три основных), после чего результаты усреднялись. Что получилось – перед вами.

Итак, какие можно сделать выводы? Очевидно, что значение TDP, равное 130 Вт, для всех сегодняшних процессоров линеек Core i7 и Xeon 3500 под LGA1366 есть явная перестраховка. Для Nehalem частотой до 3 ГГц вполне достаточно и 95 Вт . Причем даже 3,2 ГГц в этот диапазон лишь немного «не помещается». Данный теоретический вывод неплохо коррелирует и с практикой — старшие процессоры с частотой 2,93 ГГц, существующие в других семействах (а именно Xeon X5570 и Core i7 870), имеют TDP как раз в 95 Вт. Потолок в 130 Вт дает неплохой запас, но только не в том случае, когда мы пытаемся достигнуть частот в районе 4 ГГц. Хорошо видно, что при такой стартовой частоте и повышенном напряжении питания итоговая при работающем режиме контроля энергопотребления оказывается равной все тем же 3-3,2 ГГц. Под маломальской нагрузкой разумеется — такой популярный тест, как SuperPi, например, ограничения не замечает. Повышение порога хотя бы до 150 Вт приводит к резкому росту производительности в wPrime, выше таких прорывов уже нет, но вплоть до 200 Вт рост почти линейный. На деле энергопотребление Core i7 в тестируемом режиме даже выходит за 200 Вт, поскольку при отключении контроля результат еще немного возрастает.

Это ответ на вопрос, почему компания Intel уже который год топчется в районе все тех же 3 ГГц или чуть больше. Уже и технологический процесс производства изменили, и новая архитектура появилась, а прорыва по частоте все не видно. Просто потому, что слишком большой ценой его можно получить — слишком много энергии будет требоваться. Заметим, что понятие «слишком много» за последние годы сильно изменилось. Первые Pentium 66 потребляли и рассеивали всего 16 Вт энергии, за что их ругали все, кому не лень, а ныне никого не пугает мобильный процессор с потреблением 20-30 Вт. Настольный , которому нужно 60 Вт, считается низкопотребляющим, да и к значениям 125-130 Вт для старших моделей своих процессоров и Intel, и AMD всех давно приучили. Хорошо хоть обуздать процесс роста энергопотребления удалось, так что, скорее всего, в серийных процессорах значения TDP более 150 Вт мы не увидим. Но при разгоне выйти за рамки по-прежнему можно, пусть и для этого теперь необходимы небольшие дополнительные телодвижения. А идти на них или нет — личное дело каждого. Очевидно, что «прокормить» процессор, потребляющий в полтора раза больше энергии, чем задумано, не так просто. И если платы под LGA1366, как правило, проектируются с немалым запасом (поскольку их удел — служить энтузиастам, которым всякое может в голову взбрести), то будет ли это верно для массовых моделей с LGSA1156 - пока судить сложно (не удивимся, если на многих таких платах возможность отключения PCU вообще будет отсутствовать — во избежание). Очевидно, что такое количество энергии нужно еще как-то отводить.   Так что не стоит уповать на боксовые кулеры и прочую бюджетную продукцию. Однако не решаемых проблем не бывает. Только не стоит забывать (продолжая столь популярную тему сравнения процессоров с лампочками), что тех же 200 Вт вполне достаточно для того, чтобы качественно осветить трехкомнатную квартиру (разумеется, если использовать не лампы накаливания, а нормальные).

Благодарим российское представительство Kingston Technology за помощь в комплектации тестовых стендов



12 августа 2009 Г.

Nehalem

Nehalem

, PCU « » Nehalem , . Intel — , , ( Pentium 4) . , . , . , , . Nehalem — , , . , Core 2 , , PCU Nehalem . , -, , . , , «» , , ( ) ( ) — .

? ( , , ..) , . «» ( «») , . , . , , «» Nehalem. , «», NetBurst. , , , , , : , , .

Extreme Edition, , , « ». , — Intel . « », , . , , - . , , — , . , 80386 , .

? Intel , PCU , « », «» . Nehalem , PCU. -, . , . — , , « ». , , , Xeon X- Core i7 EE 95 80 -. .

, PCU . , — « » . , , , , — Intel ( ) . BIOS Setup «CPU VR Current Limit Override». -, , BIOS. , — , . Core i7 LGA1366 , , , Core 2 NetBurst: Thermal Throttling. , , , . , ( ), «» ( ) - — .

? — . ? Core i7 — . , , , , , , , , . , LGA1366, Core i7 965 Extreme .

Intel DX58SO : «» , , , Turbo-Boost. . Turbo-Boost , , , , «» — . — , -. , 24, 3,2 , . , : 95 130 . — Core i7 . - Xeon X5500 Core i7/i5 LGA1156 ( ).

, ( ) 30, «» 4 . , Windows XP SP3 . — 1,5 , . , . 1,525 , — , , . 95, 130, 150, 175 200 , .

? wPrime « ». , , . — wPrime ( ), . .

, ? , TDP, 130 , Core i7 Xeon 3500 LGA1366 . Nehalem 3 95 . 3,2 « ». — 2,93 , ( Xeon X5570 Core i7 870), TDP 95 . 130 , , 4 . , 3-3,2 . — , SuperPi, , . 150 wPrime, , 200 . Core i7 200 , .

, Intel 3 . , , . , — . , « » . Pentium 66 16 , , , 20-30 . , 60 , , 125-130 Intel, AMD . , , , TDP 150 . - , . — . , «» , , , . LGA1366, , ( — , ), LGSA1156 - ( , PCU — ). , - . . . ( ), 200 , (, , ).