"Журнал "Компьютерра" №715-716" - читать интересную книгу автора (Компьютерра)

ОПЫТЫ: Инженерный разгон Core 2 Duo

Автор: Филипп Казаков

Есть два подхода к разгону компьютера - любительско-широкоглазый и инженерно-практичный. Первый свойствен молодым людям, прочитавшим в каком-нибудь игровом журнале, что в Windows-утилитах для их материнской платы, оказывается, есть магическая кнопка "разогнать!", повышающая производительность компьютера на …дцать процентов. Такой подход уникален сразу по трем статьям: во-первых, зачастую разгона как такового не происходит, поскольку "тюнингованная" подобным образом машина работает нестабильно; во-вторых, улучшенные характеристики компьютера не имеют практического смысла; и в-третьих, самое удивительное, что юный оверклокер при этом ничего не подозревает и совершенно счастлив.

Второй подход диаметрально противоположен первому: "гонщик" берется за дело обдуманно и хладнокровно; компьютер сохраняет абсолютную стабильность; а повышенная производительность служит разумным, добрым, вечным прагматичным целям. Как пример успешного "инженерного разгона" могу привести один из своих компьютеров - кодирующую лошадку, однажды пережимавшую видео в пакетном режиме непрерывно в течение 26 суток (!) без единого сбоя при практически бесшумной работе. Без разгона ей пришлось бы трудиться около сорока дней.

Алгоритм "инженерного разгона" интеловских процессоров предыдущего поколения, основанных на архитектуре NetBurst, хорошо изучен. Сначала выбирается максимально допустимый уровень шумности системы охлаждения, и соответственно задаются скорости вращения всех вентиляторов системы [Обычно скорости вращения вентиляторов ограничивают либо физически (добавлением резистора в цепь питания или уменьшением питающего напряжения), либо программно: как на уровне BIOS, так и с помощью высокоуровневых Windows-утилит вроде SpeedFan]. Затем из BIOS грубыми шагами поднимается частота шины (FSB) до тех пор, пока компьютер не перестанет загружать операционную систему. Если температурный режим на этом этапе все еще далек от критических значений, стабильность системы достигается путем небольшого увеличения напряжения на процессоре и незначительного снижения частоты шины. Если процессору уже жарковато, снижают частоту небольшими шажками. В какой-то момент система покажет первые признаки стабильности: уверенная загрузка ОС и прохождение коротких тестов. Частоту шины на всякий случай снижают еще на 1–2%, и начинается утомительный период тестирования на настоящую, "взрослую" стабильность с помощью специальной "грелки" - небольшой утилиты Samp;M. Под действием этой малютки "камень" раскаляется до рекордных температур. Можно быть уверенным, что ни одно реальное приложение не прогреет его сильнее, так что если система охлаждения удержит температуру в допустимых рамках, а процессор не сбойнет в течение 8–10-часового теста Samp;M, можно считать, что компьютер успешно разогнался.

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

Удивительно, но выпустив Core 2 Duo (далее C2D), Intel умудрилась внести неразбериху во всю троицу. Из-за смены архитектуры Samp;M оказалась не в силах раскочегарить новые CPU. Для мониторинга температуры в новом процессоре появился специальный цифровой датчик внутри каждого ядра, показания которого умеют считывать далеко не все старые, давно знакомые утилиты, а те, что умеют, делают это по-своему. Вдобавок данные при этом зачастую расходятся с показаниями материнской платы. Но еще больше все запутала загадочным образом утекшая в Сеть непубличная утилита Intel Thermal Analysis Tool, предназначенная для тестирования системы охлаждения мобильных процессоров. Результаты ее воздействия на C2D выходят за рамки всего ожидаемого и окончательно сбивают с толку.

В официальных спецификациях на сайте Intel указана максимальная допустимая температура представителей семейства C2D для "геометрического центра верхней части теплораспределителя процессора при максимальном энергопотреблении". При соблюдении этого теплового режима процессор обещает счастливо проработать в течение всего эксплуатационного срока. Значение дано с настораживающей точностью - 61,4 °С для E4300, однако конкретных рекомендаций относительно того, как определять эту самую "температуру крышки", Intel не дает. Вместо этого в каждое ядро встроен так называемый цифровой термодатчик (Digital Thermal Sensor), предназначенный для измерения температуры ядер "не отходя от кассы". Вот только выдает он не абсолютные значения в градусах, а относительные, зависящие от максимально допустимой рабочей температуры ядра процессора [Она может быть индивидуальна, но обычно для C2D равна 100 °С. Меж тем в Сети ходят неподтвержденные слухи, что и эта величина динамична и может изменяться в зависимости от условий эксплуатации ЦП]. В чем была идея разработчиков, не очень понятно, ведь даже сняв с датчиков одни и те же значения, различные утилиты мониторинга интерпретируют их по-разному, и кто из них прав - одному богу известно.

Утилиты разделились на две партии, придерживающиеся разных мнений по этому вопросу. Первые, к которым относятся CoreTemp и Thermal Analysis Tool, считают значения в лоб. При максимальной нагрузке их показания очень высоки и легко могут оказаться в районе 85 градусов при штатной системе охлаждения даже неразогнанных четырехъядерных процессоров. Трудно представить, чтобы при таком "пожаре" в ядре температура крышки ЦП не превышала отпущенных спецификацией шестидесяти с хвостиком градусов, а ведь в штатном режиме при боксовом кулере должно быть именно так и никак иначе! На мой взгляд, ближе к истине мнение второй партии утилит под председательством RM CPU Clock. Они вносят дополнительные коррективы из еще одного специального регистра ЦП, в результате чего ядро "холодеет" на полтора десятка градусов. В этом случае максимальные температуры оказываются в разумных рамках, то есть превышают "крышечный лимит" всего на несколько градусов, вполне объяснимых физическим отдалением датчиков от крышки. Ну хорошо, а какую температуру показывает BIOS материнской платы и ваша любимая утилита? В общем случае какую угодно, ведь никому, кроме производителя, не известно, с каких именно датчиков снимаются показания и как обрабатываются.

Короче говоря, разобраться в этом лабиринте мнений без веского слова Intel решительно невозможно, а последняя, разумеется, воды в рот набрала. Ясно только одно: стопроцентно надежного софтверного метода определения истинной температуры ядра C2D пока нет.

Впрочем, в рукаве у оверклокеров остается жестокий, но безотказный "молоточный" метод юстировки утилит контроля температуры. Как бы оверклокеры ни томились в неизвестности вместе с материнской платой, процессор остается себе на уме. Если его температура приблизится к критической, он гарантированно плюнет на мнения всех "партий" и самолично включит троттлинг [Троттлинг (throttling) - технология экстренного снижения энергопотребления процессора при перегреве путем уменьшения его тактовой частоты]. До троттлинговой температуры разогнанный процессор уж точно не должен разогреваться ни при каких обстоятельствах, иначе весь смысл мероприятия пропадает из-за резкого снижения производительности. Вот это и есть точка отсчета для настоящего оверклокера. Хоть ему и неизвестно наверняка, как температурная точка включения троттлинга связана с температурой крышки теплораспределителя, он всегда готов на некоторый риск снижения времени наработки на отказ ради скорости (на то он и оверклокер).

Любую утилиту мониторинга можно откалибровать "по троттлингу", для чего достаточно один раз как следует разогреть процессор и отметить, при каких показаниях температуры троттлинг включится. Событие можно отследить, например, с помощью RM CPU Clock: по скачкам графика частоты процессора и сообщению в трее.

Операция, в общем-то, безопасна [Безопасная для процессора. Дешевый блок питания или сверхбюджетная системная плата легко могут не выдержать подобных экзерсисов. Так что если все сгорит - чур, я ни при чем], но без разгона сделать это не так просто: в штатном режиме работы E4300 мне пришлось полностью остановить вентилятор и ждать прогрева медного радиатора Zalman 7000 чуть ли не десять минут. Кстати, а как же разогреть процессор?

Тут, к счастью, все не так запутанно. В общем-то, нет ничего удивительного, что утилита Samp;M не сумела "напрячь" новые процессоры - ведь для создания нагрузки подобного уровня она, очевидно, использует специальные низкоуровневые команды, крепко привязанные к архитектуре ядра. Как, когда и откуда в Сети появилась Intel Thermal Analysis Tool (TAT) - фирменная "грелка" от Intel, - доподлинно не известно. Судя по всему, она не предназначена для простых смертных и утекла в открытый доступ случайно. ТАТ разогревает C2D настолько же лучше всех других утилит, насколько ватные варежки теплее дамских перчаток. Интеловское творение давит на какие-то только ему известные рычажки и раскручивает секретные шестеренки процессора, позволяющие добиться чудовищного тепловыделения. Эффективность можно смело назвать нереальной, ведь разница температур при многопоточном кодировании h264 и работе ТАТ составляет на моей машине почти 20 градусов! Ясно, что обычные приложения никогда и близко не подберутся к такой эффективности. Поэтому "разогрев по ТАТ" не стоит принимать за жесткий температурный ориентир. А вот для тестирования стабильности разгона, надежности материнской платы и блока питания ТАТ просто незаменим. Для реалистичной оценки максимального нагрева логичнее использовать альтернативные "дамские перчатки", например OCCTPT (www.ocbase.com/perestroika_en). Ее относительная эффективность находится примерно на том же уровне, которого можно было бы ожидать от Samp;M, если б та работала с новыми процессорами.

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

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