Тише едешь. Cool’n’Quiet и EIST
АрхивЭнергосберегающие технологии используются в ноутбуках уже много лет. Может ли процессор считаться по-настоящему мобильным, если он даже при полном ничегонеделании потребляет электроэнергии больше, чем все остальные работающие компоненты ноутбука?
Энергосберегающие технологии используются в ноутбуках уже много лет. Может ли процессор считаться по-настоящему мобильным, если он даже при полном ничегонеделании потребляет электроэнергии больше, чем все остальные работающие компоненты ноутбука? Например, по производительности Celeron M почти не уступает Pentium M, тепловыделение под нагрузкой у него даже чуточку ниже. Однако Intel относит первый процессор к дешевой «трехсотой» серии, а второй — к элитарной «семисотой»: ноутбук на Pentium M может прожить, питаясь от батарей, вдвое-втрое дольше.
Десктопным процессорам, разумеется, экономить электроэнергию особенно не требуется. Замечательно, конечно, если компьютер проживет, питаясь от ИБП, не семь минут, а десять и если счет за электроэнергию в офисе в конце месяца окажется на 500 рублей меньше, однако всерьез говорить о том, чтобы потребление лишних 50 Вт энергии как-то сказывалось на потребительских качествах компьютера, не приходится. Проблема, пожалуй, лишь в том, что эти лишние 50 Вт в виде тепла приходится куда-то девать системе охлаждения процессора. И хотя создано немало шедевров инженерного искусства, способных мастерски справиться с этой задачей, сохранив невысокий уровень шума, все же типовому кулеру за $5–8 эта задача, к сожалению, не по плечу. Отсюда — высокий шум и температуры, близкие к предельно допустимым температурам эксплуатации кристалла.
Тепловая рассеиваемая мощность современных топовых процессоров давно стала притчей во языцех, но на самом деле, как ни парадоксально, по сравнению с более дешевыми собратьями они экономичнее, так как способны работать на тех же тактовых частотах с меньшим питающим напряжением и, соответственно, меньшим энергопотреблением (это, собственно, и позволяет процессору работать на более высокой частоте, оставаясь в разумных пределах по напряжению и тепловыделению). То есть, если процессор «лучше», то он лучше по всем показателям — и производительности, и экономичности. Но ощущает ли это на себе потребитель?
Теория
Ничего радикально нового в технологиях AMD Cool’n’Quiet и Enhanced Intel SpeedStep (EIST) нет — это версии мобильных технологий PowerNow! и SpeedStep соответственно. Основа обеих — динамическое изменение на лету коэффициента умножения частоты процессора (system bus ratio) и питающего его напряжения. Производитель определяет для своих процессоров несколько так называемых «рабочих точек» (Power States, сокращенно P-States). Каждой такой точке соответствует определенное рабочее напряжение и коэффициент умножения [Для процессоров архитектуры K8 следовало бы еще добавить сюда и коэффициент делителя тактовой частоты памяти. Дело в том, что эта частота получается делением тактовой частоты процессора на некоторый целый коэффициент. Соответственно, чтобы сохранить заданную частоту памяти, при смене множителя процессора меняется и этот коэффициент деления (и если используется память стандарта PC2100 или PC2700 — то частота функционирования памяти все-таки чуть-чуть изменяется)]; и с помощью специальных команд операционная система может переключать процессор между этими точками. Например, у Athlon 64 3800+ таких точек пять (см. табл. 1). «Максимальная» точка (Max P-State) соответствует обычному «полноскоростному» режиму работы процессора: тактовая частота — 2,40 ГГц, напряжение питания — 1,5 В; потребляемый ток — до 57,4 А и, главное, тепловыделение вплоть до 89 Вт. Именно в этом режиме работает система в момент запуска. Но если загрузка процессора невелика, операционная система может переключиться в одно из «энергосберегающих» состояний, постепенно снижая коэффициент умножения процессора и питающее его напряжение вплоть до минимального Min P-State, в котором частота процессора составит 1,00 ГГц (200 x 5), напряжение на ядре — 1,10 В, энергопотребление — не более 22 Вт. А при возникновении ресурсоемкой задачи — мгновенно восстановить быстродействие процессора до максимальных величин. В секунду таких переключений между различными режимами может быть до сотни, причем для пользовательских программ все это происходит совершенно незаметно.
Минимальная рабочая точка у подавляющего большинства десктопных процессоров AMD одна и та же: 1,00 ГГц, питание 1,10 В, тепловыделение — 22 Вт. Исключений из этого правила два. Во-первых, у очень старых Athlon 64 степпинга C0 для Socket 754 Min P-State был более низкочастотным (800 МГц), а тепловыделение — большим (35 Вт). А во-вторых, у Athlon 64 FX для Socket 939 минимальная рабочая точка — 1,2 ГГц, а тепловыделение — 25 Вт. Athlon 64 FX для Socket 940 и процессоры Opteron первых степпингов вообще имеют по одной рабочей точке (то есть Cool’n’Quiet не поддерживают). Впрочем, если отбросить эти экзотические варианты, получится, что тепловыделение любого процессора AMD K8 в режиме максимального энергосбережения даже чуть меньше, чем у сугубо мобильных Celeron M. А производительность — заведомо выше, чем, например, у популярного когда-то Pentium III 1000EB.
У Intel технологию EIST поддерживают все процессоры на основе ядра Prescott степпингов старше E0 с шиной 800 МГц (в частности, ее поддерживают все недавно вышедшие процессоры семейства 6xx). Минимальная рабочая точка у всех этих процессоров — 2,80 ГГц. Правда, Pentium 4 доступен еще один механизм снижения тепловыделения процессора — пропуск некоторых тактов (троттлинг), но это скорее аварийное средство защиты, нежели реальный механизм уменьшения тепловыделения процессора.
Практика
Пара слов о том, что необходимо сделать, чтобы активизировать поддержку Cool’n’Quiet или Enhanced Intel SpeedStep. Все необходимое для этого программное обеспечение уже включено в состав второго сервис-пака для Windows XP; если вы используете старые операционные системы, за необходимыми драйверами придется заглянуть на сайт производителя (поддерживаются практически все версии Windows). Для поддержки Cool’n’Quiet в Linux требуется включить в ядре модуль powernow-k8 (CONFIG_X86_POWERNOW_K8, входит в состав Linux Kernel 2.4 и 2.6) или аналогичный модуль поддержки SpeedStep. Помимо операционной системы технология должна поддерживаться чипсетом и BIOS материнской платы. С первым проблем не возникает (известные мне чипсеты все необходимое поддерживают), а вот с BIOS на первых порах у некоторых материнских плат были определенные проблемы. Так что имейте в виду: если Cool’n’Quiet или EIST на вашей материнской плате работают как-то «неправильно» — имеет смысл заглянуть на сайт производителя и посмотреть прошивку, где все эти проблемы уже исправлены. Кроме того, как правило, Cool’n’Quiet в BIOS изначально выключена и ее необходимо явным образом включить. Но и это еще не все: в Windows после этого необходимо установить в диалоге «Управление электропитанием» в качестве схемы энергопотребления строчку «Minimal power management» (энергосберегающий режим, см. скриншот). Проверить, что «все заработало», можно с помощью стандартных программ, умеющих измерять тактовую частоту процессора (типа CPU-Z) на лету, или специализированными программками (как, например, AMD Cool’n’Quiet Dashboard — см. скриншот).
Следует также понимать, что сами по себе технологии Cool’n’Quiet и EIST никак не уменьшают уровень шума, издаваемого системным блоком. Они просто снижают тепловыделение процессора (что тоже само по себе не плохо — хотя бы потому, что продляется срок эксплуатации кристалла), но вот снизить обороты охлаждающего радиатор вентилятора должен «кто-то посторонний» — сам кулер или материнская плата. Боксовый кулер AMD умеет автоматически регулировать свои обороты в зависимости от температуры набегающего воздушного потока, но это скорее исключение, нежели правило (к тожу такое решение не очень удачно и уже пройдено компанией Intel — температура набегающего на кулер воздуха не всегда однозначно определяется теплом, которое выделяет процессор), — почти все выпускаемые сейчас топовые кулеры рассчитаны преимущественно на ручную регулировку оборотов вентилятора (или и без нее работают очень тихо). К счастью, многие современные материнские платы научились регулировать обороты вентиляторов в зависимости от показаний разнообразных термодатчиков (Вплоть до возможности указать для любого из пяти (!) вентиляторов, какое напряжение и при каких температурах на каждый из них следует подавать — подобная система (muGuru) есть на последних платах ABIT типа AV8). Как правило, эти решения нестандартны, но, например, платы на основе свежих чипсетов Intel уже обзавелись стандартными четырехконтактными коннекторами, один из контактов в которых специально предназначен для более эффективного управления скоростью вращения кулера. Просто не забудьте включить соответствующую функцию в BIOS Setup.
С прошедших недавно испытаний кулеров у нас оставались топовый Cooler Master Hyper 6 и процессор Athlon 64 3500+[Процессор предоставлен на тестирование компанией «Никс»] (130-нм), так что мы решили проверить приводимые AMD данные на практике. В ходе предыдущих испытаний мы убедились, что оценка теплового сопротивления данной системы процессор-кулер составляет примерно 0,31 °C/Вт. Поэтому для начала мы отключили технологию Cool’n’Quiet и вручную перебрали несколько возможных рабочих точек процессора (включая точки, соответствующие разогнанному процессору). Тестирование проводилось на открытом воздухе (температура +25 °C), тепловое сопротивление кулера нам было известно, так что оказалось несложным пересчитать полученные цифры в оценки тепловыделения процессора под максимальной нагрузкой. Результаты испытаний сведены в таблицу 2.
Коль скоро речь зашла о разгоне, будет не лишним упомянуть о работе Cool’n’Quiet в нестандартных режимах функционирования процессора. Во-первых, при включении C’n’Q сразу же теряется возможность ручного выбора множителя процессора. То есть в BIOS Setup его по-прежнему можно указывать любым (Напомним, что процессоры AMD K8 позволяют использовать любой множитель, не превышающий номинального), но это будет проигнорировано. Ограничить максимальную тактовую частоту процессора и максимальный коэффициент умножения таким образом нельзя — допустим только разгон процессора по системной шине. Подобный разгон пропорционально увеличивает тактовые частоты для всех рабочих точек процессора — то есть приходится следить за стабильностью его работы не только при максимальной нагрузке, но и во всех промежуточных рабочих точках. А вот изменение напряжения на ядре процессора отрабатывается совершенно корректно: если увеличить его, скажем, на 0,1 В, то на десятую долю вольта увеличатся напряжения во всех рабочих точках процессора. То есть, например, для дальнейшего уменьшения энергопотребления можно совместно с включением C’n’Q слегка понизить питающее процессор напряжение. Но в любом случае пресловутой «несовместимости C’n’Q и нестандартных режимов» мне заметить не удалось — процессор успешно работал на частоте 2,53 ГГц вне зависимости от того, включалась или выключалась эта технология. Каких-либо отклонений в нормальной работе C’n’Q при разгоне тоже не было.
Остается проверить последнее — влияет ли активация Cool’n’Quiet на производительность компьютера. Зная, что в некоторых ситуациях включение этой технологии может приводить к почти полуторакратному снижению производительности (Enhanced SpeedStep в мобильных процессорах Intel в некоторых тестах дает падение производительности до 10 процентов), я добросовестно попытался эту ситуацию воспроизвести. Но то ли я так и не нашел уникальную комбинацию условий, при которых возникает данный эффект, то ли драйверы и BIOS с тех пор успели окончательно отладить и повылавливать все ошибки, — по всем моим измерениям, независимо от того, насколько ресурсоемкие приложения использовались и какого они были типа, потери производительности от включения C’n’Q получались микроскопические, в рамках погрешности измерения (Строго говоря, в документации к драйверу для процессора Athlon 64 перечислено несколько ситуаций, при которых драйвер не может сразу восстановить полную производительность системы. Но все соответствующие ссылки ведут в базу знаний Microsoft, так что, похоже, собственно процессор здесь ни при чем).