Технология управления скоростью вращения вентиляторов Intel QST

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

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

Какой кулер нам нужен

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

Довольно часто на различных форумах задают один и тот же вопрос: если температура процессора составляет, к примеру, 70 °С — это много или нет и не нужно ли поменять кулер на более мощный? Поменять кулер на более мощный, конечно, можно, но от этого система станет более шумной, а вот реальной пользы не будет. Вообще, рассуждения о том, является ли температура в 70 °С высокой для процессора или нет, лишены всякого смысла. Во-первых, каждый процессор рассчитан на работу в определенном температурном диапазоне, верхняя граница которого определяется критической температурой процессора, по достижении которой срабатывает тепловая защита. И главное, чтобы кулер обеспечивал такое охлаждение, при котором не достигается критическое значение температуры даже в случае стопроцентной загрузки в течение длительного времени. Если при стопроцентной загрузке процессора с одним кулером его температура составляет 70 °С, а с другим — 75 °С, то говорить о том, что первый кулер более предпочтителен, чем второй, некорректно, поскольку и тот и другой справляются со своей задачей по охлаждению процессора. В этом случае имеет смысл сравнивать кулеры не по температуре процессора, а по создаваемому ими уровню шума.

Во-вторых, когда говорят о температуре процессора, то возникает вопрос, как она измеряется. Дело в том, что, несмотря на большое количество утилит, определяющих температуру процессора, ни одна утилита (и это принципиальный момент) не может корректно измерить температуру процессора. А потому, если по показаниям какой-либо утилиты температура процессора составляет 70 °С, это вовсе не значит, что она действительно равна этому значению. Наверное, все, кто пытался измерить температуру процессора на материнской плате с помощью различных утилит, замечали, что они выдают совершенно разные значения, причем нередко их показания просто абсурдны. Ситуация, когда утилита демонстрирует температуру процессора ниже температуры окружающей среды (что в принципе невозможно), — отнюдь не редкость. Для того чтобы понять, почему так происходит, необходимо разобраться, каким образом подобные утилиты определяют температуру процессора. Однако прежде придется сделать небольшое отступление и ознакомиться с тем, как реализуется тепловая защита процессоров Intel.

Технологии тепловой защиты процессоров

Все современные процессоры имеют встроенные средства тепловой защиты, предотвращающие возможность их перегрева. В процессорах Intel используется три типа тепловой защиты: Thermal Monitor, Thermal Monitor 2 и режим аварийного отключения.

Технология Thermal Monitor

Технология Thermal Monitor (TM) заключается в следующем. При достижении процессором некого критического значения температуры генерируется специальный служебный сигнал PROCHOT#, при котором активируется специальный модуль Thermal Control Unit. Задача этого модуля заключается в том, чтобы модулировать номинальную тактовую частоту процессора. При модуляции в период действия сигнала PROCHOT# на номинальный сигнал тактовой частоты процессора накладывается еще один тактирующий сигнал прореживания (Duty cycle), частота которого гораздо ниже тактовой частоты процессора. В результате частота тактирования процессора оказывается прореженной и можно говорить, что эффективная частота процессора ниже номинальной (рис. 1). Важно отметить, что технология Thermal Monitor никак не влияет на частоту тактирования процессора, а лишь модулирует ее.

Рис. 1. Модуляция частоты в технологии Thermal Monitor

В результате прореживания тактовой частоты процессор будет иметь меньшую производительность и меньшее тепловыделение, а температура процессора, как следствие, снизится. Как только температура ядра процессора станет ниже критического значения на 1 °С, сигнал PROCHOT# исчезнет и номинальная тактовая частота процессора совпадет с эффективной.

Если процессор поддерживает технологию TM, то в некоторых случаях пользователь может в BIOS настраивать сигнал Duty cycle, управляя его скважностью.

Если в тактирующем сигнале Duty cycle промежуток времени, в течение которого производится тактирование процессора, обозначить Ton .. а промежуток времени, в течение которого тактирование процессора не производится, — Toff. то под скважностью сигнала Duty cycle понимается отношение промежутка Ton к суммарному времени Ton + Toff :

Значение скважности сигнала Duty cycle задается в процентах с шагом 12,5% в диапазоне от 12,5 до 87,5%.

Значение Toff зависит от частоты процессора, уменьшаясь с ростом частоты. Максимально допустимое значение времени Toff составляет 3 мкс. К примеру, если задать значение скважности сигнала Duty cycle равным 87,5% (7/8) при значении TToff 3 мкс, то несложно подсчитать, что значение Ton составит 21 мкс.

Технология Thermal Monitor 2

Кроме технологии Thermal Monitor, все современные процессоры Intel поддерживают усовершенствованную технологию тепловой защиты Thermal Monitor 2 (TM2), которая позволяет в еще большей степени влиять на энергопотребление процессора при достижении им критической температуры.

В технологии TM2 при достижении процессором критической температуры активируется служебный сигнал PROCHOT#, при котором происходит скачкообразное снижение тактовой частоты процессора и напряжения питания (рис. 2).

Рис. 2. Изменение тактовой частоты и напряжения питания

в технологии Thermal Monitor 2

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

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

Режим аварийного отключения

Если процессор поддерживает технологию тепловой защиты TM2, то он поддерживает и технологию TM. В этом случае при достижении процессором критического значения температуры сначала активируется технология тепловой защиты TM2, а если этого оказывается недостаточно (например, используется слабый кулер, который неспособен отвести нужное количество тепла даже при работе процессора на минимальной частоте и при минимальном напряжении), то активируется технология TM. Если же и этого мало, то для предотвращения перегрева процессоров применяется их аварийное отключение. Этот режим включается, когда температура процессора примерно на 20-25 °С превышает критическое значение. В этом случае генерируется служебный сигнал THERMTRIP# на аварийное отключение системы. Точное значение температуры, при котором происходит генерация сигнала THERMTRIP# на аварийное отключение системы, задается в процессе калибровки процессора и не может быть изменено. Более того, точное значение этой температуры различно для разных моделей процессоров (даже если речь идет о разных экземплярах одной и той же модели процессора) и неизвестно.

Аппаратный мониторинг температуры процессора

Все рассмотренные технологии тепловой защиты процессоров требуют постоянного мониторинга температуры процессоров. То есть мониторинг температуры реализован в любом процессоре и все утилиты, которые способны отображать температуру процессора (так же как и BIOS), используют его.

В принципе, то, как именно определяется температура процессора, зависит от конкретного процессора, а потому утилит, которые могли бы одновременно определять температуру процессоров и Intel и AMD, очень мало. Да и те, что есть, делают это некорректно. К примеру, известная утилита Everest более-менее корректно (для некоторых моделей) определяет температуру процессоров Intel и совершенно некорректно — температуру процессоров AMD (особенно если речь идет о новых моделях). Как именно утилиты определяют температуру процессоров AMD, нам неизвестно. К сожалению, компания AMD очень скупа на любую техническую информацию о своих процессорах, а потому в дальнейшем мы сосредоточимся исключительно на способах измерения температуры процессоров Intel.

Для мониторинга температуры в процессорах Intel используется два метода. Первый предназначен для определения температуры в старых процессорах Intel на базе микроархитектуры NetBurst (Pentium 4, Celeron D, Pentium D). В них есть встроенный термодиод (p-n-переход), по значению напряжения на котором можно косвенно определять значение температуры. Проблема заключается в том, что напряжение на термодиоде с изменением температуры изменяется нелинейно и требуется соответствующая таблица калибровки, то есть таблица пересчета напряжения в температуру. Такие таблицы «зашиты» в микросхему мониторинга, и все утилиты мониторинга, контролирующие температуру процессора, считывают значение температуры с микросхемы мониторинга. Именно поэтому в старых компьютерах при обновлении версии BIOS могли меняться и показания температуры процессора, демонстрируемые утилитами мониторинга и самой BIOS.

Для контроля температуры современных процессоров Intel с микроархитектурой Intel Core в каждом ядре процессора имеется специальный цифровой датчик температуры (Digital Temperature Sensor, DTS), являющийся неотъемлемой частью ядра процессора (рис. 3).

Рис. 3. Структурная схема цифрового датчика температуры в процессорах

с микроархитектурой Intel Core

Этот датчик преобразует аналоговое значение напряжения в цифровое значение температуры, которое сохраняется во внутренних программно-доступных регистрах процессора. Причем во внутренних регистрах процессора сохраняется не абсолютное значение температуры, а отрицательная разница ?T между текущим значением температуры процессора и ее критическим значением T j : ?T = T- T j . К примеру, если критическое значение температуры составляет 100 °С, а текущее значение — 85 °С, то DTS-сенсор будет определять значение ?T = –15 °С. То есть датчик DTS используется процессором не для контроля текущего абсолютного значения температуры, а для отслеживания состояния, когда текущая температура достигнет критического значения температуры Tj, при котором срабатывает тепловая защита. Когда разница между критическим значением температуры tj процессора и текущим значением становится равной нулю, генерируется сигнал PROCHOT#, при котором активируется тепловая защита процессора.

Значение ?T, сохраняемое во внутренних программно-доступных регистрах процессора, доступно также для чтения по интерфейсу PECI (Platform Environment Control Interface).

Интерфейс PECI был представлен компанией Intel в 2006 году для процессоров с архитектурой Intel Core, которые содержат DTS-сенсоры. Собственно, DTS-сенсоры совместно с интерфейсом PECI представляют собой единое решение для теплового мониторинга процессоров. Шина PECI является одноконтактной; по ней процессор связан с южным мостом чипсета, и южный мост, а также устройства, подключенные к южному мосту, могут получить доступ к значению dT, сохраняемому во внутренних регистрах процессора.

Интерфейс PECI используется системой FSC (Fan Speed Control) для управления скоростью вращения вентиляторов.

В двухъядерных процессорах, когда имеется два DTS-сенсора (по одному на каждое ядро), в буфере PECI сохраняется значение DTS, соответствующее более высокой температуре (значение, более близкое к tj ), и именно это значение доступно системе FSC (рис. 4).

Рис. 4. DTS-сенсоры и интерфейс PECI в двухъядерном процессоре

В четырехъядерном процессоре, имеющем структуру 2x2, то есть два двухъядерных процессора в одном корпусе, два PECI-домена (рис. 5). В этом случае система FSC использует оба PECI-домена для отслеживания температуры в обоих кристаллах, а для контроля скорости вращения вентилятора — значение более высокой температуры.

Рис. 5. DTS-сенсоры и интерфейс PECI в четырехъядерном процессоре

со структурой 2x2

В монолитных четырехъядерных процессорах, то есть в процессорах, имеющих структуру «четыре ядра на одном кристалле», всего один PECI-домен, и по интерфейсу PECI системе FSC доступно значение температуры ?T самого горячего ядра (рис. 6).

Рис. 6. DTS-сенсоры и интерфейс PECI

в четырехъядерном процессоре со структурой

«четыре ядра на одном кристалле»

Итак, после краткого знакомства с тем, каким образом осуществляется мониторинг температуры процессора, можно ответить на один важный вопрос: почему показаниям всех без исключения утилит мониторинга, отслеживающих температуру процессора, нельзя доверять? Потому что на аппаратном уровне абсолютное значение температуры процессора не отслеживается. Все утилиты могут лишь получить доступ к программно-доступным регистрам процессора, в которых сохраняется отрицательное значение ?T, то есть разница между текущей температурой процессора и критической температурой Tj. по достижении которой генерируется сигнал PROCHOT#.

В принципе, зная критическую температуру процессора tj и значение ?T, можно определить и значение текущей температуры процессора (T = ?T+Tj ). Собственно, все утилиты мониторинга температуры процессоров Intel именно таким образом и пытаются определить температуру процессора. Проблема заключается в том, что критическое значение температуры tj неизвестно. И дело вовсе не в том, что это какие-то секретные данные. Просто значение критической температуры индивидуально для каждого процессора (даже если речь идет о разных образцах одной и той же модели процессора) и «зашивается» в процессор на этапе его калибровки. Поэтому можно говорить лишь о примерном значении критической температуры процессоров (с точностью до 5 °С) — рис. 7.

Рис. 7. Примерное значение критической температуры для

двухъядерных и четырехъядерных процессоров Intel

Точность определения температуры процессора различными утилитами зависит от того, какое именно значение критической температуры используется в утилите для конкретного процессора. К примеру, если в программе применяется критическое значение температуры 80 °С, а реальное значение для процессора составляет 85 °С, то понятно, что утилита будет определять температуру процессора на 5 °С ниже, чем она есть на самом деле.

Из утилит, которые определяют значение температуры процессора по значению DTS, можно отметить утилиты Real Temp и Core Temp. Но если, к примеру, взять процессор Intel Core 2 Extreme QX6850 на ядре Kentsfield, то в утилите Core Temp для этого процессора используется значение критической температуры 100 °С, а в утилите Real Temp — 95 °С. Соответственно утилита Core Temp определяет температуру ядер процессора на 5 °С выше, чем утилита Real Temp.

Вообще, если говорить о мониторинге температуры процессора с помощью различных утилит, то более корректно отслеживать не абсолютное значение температуры, а именно разницу ?T между текущим значением T и критическим значением tj (рис. 8 и 9). Отметим, что утилиты Real Temp и Core Temp могут отображать разницу ?T для каждого ядра процессора.

Рис. 8. Отображение разницы ?T между

текущим значением T и критическим значением Tj

в утилите Core Temp 0.99.1 для процессора

Intel Core 2 Extreme QX6850

Рис. 9. Отображение разницы ?T между

текущим значением T и критическим значением Tj

в утилите Real Temp 2.70 для процессора

Intel Core 2 Extreme QX6850

Однако даже в том случае, когда отслеживается не абсолютное значение температуры процессора, а именно разница ?T между текущим значением T и критическим значением tj по показаниям датчика DTS, нужно иметь в виду одно важное обстоятельство. Дело в том, что, несмотря на фабричную калибровку DTS-сенсоров, их показания являются точными только при температуре, близкой к критической. Это не связано с тем, что показания DTS-сенсоров нестабильны. Просто процесс калибровки DTS-сенсоров заключается в том, чтобы установить однозначное соответствие между реальной температурой и температурой, определяемой DTS-сенсором. Понятно, что эта зависимость линейная. Процесс калибровки производится при температуре, близкой к критической. При этом наклон прямой, отображающей зависимость между реальной температурой и температурой DTS-сенсора, может варьироваться в широких пределах (рис. 10).

Рис. 10. Показания DTS-сенсора являются точными только

при температуре, близкой к критической

В результате показания DTS-сенсора можно считать точными только при температуре, близкой к критической, однако если речь идет о диапазоне температур, далеком от Tj, то полагаться на показания DTS-сенсора не стоит. К примеру, если процессор не нагружен и имеет хороший кулер, а значение ?T, определяемое DTS-сенсором, составляет –60 °С, то это еще ничего не значит. Реальное значение ?T может быть и –70 °С, и –50 °С. Если предположить, что tj для данного процессора составляет 100 °С, то это означает, что реальная температура в точке размещения DTS-сенсора может быть как 30, так и 50 °С. То есть температурная ошибка в таких условиях может оказаться очень большой. Это еще одна причина, на основании которой можно утверждать, что ни одна утилита не в состоянии корректно определять температуру процессора.

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

В завершение описания технологии аппаратного мониторинга температуры добавим, что в процессорах следующего поколения семейства Intel Core i7 (известных также под кодовым наименованием Nehalem) аппаратный мониторинг температуры тоже будет производиться с использованием DTS-сенсоров, однако с небольшими изменениями. В процессорах Nehalem на этапе калибровки DTS-сенсоров значение критической температуры tj будет заноситься в специальные программно-доступные регистры процессора. Поэтому в процессорах Nehalem можно будет корректно отслеживать не только ?T, но и реальную температуру процессора.

Тепловые характеристики процессора

После рассмотрения методов мониторинга температуры процессоров с архитектурой Intel Core для полноты картины напомним, какие еще (кроме критической температуры) используются тепловые характеристики процессора. В технической спецификации на любой процессор Intel в обязательном порядке указываются его тепловой профиль, TDP и максимальная температура корпуса.

Тепловой профиль (Thermal Profile) — это зависимость между количеством рассеиваемого процессором тепла (Power) через теплорассеивающую крышку и температурой корпуса (рис. 11).

Рис. 11. Тепловой профиль процессоров Intel Core 2 Duo серии E8000

При этом под температурой корпуса понимается температура, измеряемая в геометрическом центре теплорассеивающей крышки процессора (рис. 12).

Рис. 12. Точка, в которой измеряется температура корпуса процессора

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

Тепловой профиль процессора, определяющий зависимость между тепловыделением процессора и температурой корпуса, — это, скорее, некая лабораторная характеристика процессора, в том смысле что в реальных условиях (не в лабораторных) невозможно измерить ни тепловыделение процессора, ни температуру корпуса. Более практичной в этом плане является такая характеристика процессора, как TDP (Thermal Design Profile). Любой процессор рассчитан на работу в определенных термальных условиях, когда его тепловыделение и температура корпуса не превышают некоторых максимальных значений. Так вот, тепловыделение процессора, при котором достигается максимальная температура корпуса процессора, называется TDP. По тепловому профилю процессора всегда можно определить его TDP. К примеру, для процессоров Intel Core 2 Duo серии E8000, чей тепловой профиль показан на рис. 11, TDP составляет 65 Вт, причем при тепловыделении процессора 65 Вт температура корпуса процессора составит 72,4 °С.

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

Кроме максимальной температуры корпуса, TDP и теплового профиля, в документации на процессор нередко встречается и такая характеристика, как Tcontrol. С ней мы ознакомимся чуть позже, при описании технологии Intel QST.

Способы управления скоростью вращения вентиляторов

Как уже отмечалось, интенсивность теплорассеивания кулера процессора должна зависеть от его текущей температуры. Понятно, что интенсивность теплорассеивания зависит также от скорости вращения вентилятора, поэтому необходимо, чтобы скорость вращения вентилятора зависела от температуры процессора. Если говорить о способах управления скоростью вращения вентиляторов, то их два: управление методом изменения напряжения питания и управление методом широтно-импульсной модуляции напряжения питания (Pulse Wide Modulation, PWM).

Управление методом изменения напряжения питания

В технологии управления скоростью вращения вентилятора методом изменения напряжения питания для изменения скорости вращения меняется напряжение питания, подаваемое на электромотор вентилятора. Диапазон изменения напряжения питания составляет от 6 до 12 В. Данная схема управления скоростью вращения вентилятора достаточно проста: контроллер на материнской плате (Fan Speed Control, FSC), анализируя текущее значение температуры процессора, выставляет нужное значение напряжения питания вентилятора. До определенного значения температуры процессора напряжение питания на вентиляторе минимально и вентилятор вращается на минимальной скорости, создавая минимальный уровень шума. Как только температура процессора достигает некого порогового значения, напряжение питания вентилятора начинает динамически увеличиваться вплоть до максимального значения в зависимости от температуры. Соответственно меняется и скорость вращения вентилятора.

Рассмотренная технология управления скоростью вращения вентилятора реализована во всех материнских платах. Правда, почти все современные материнские платы поддерживают и второй способ управления скоростью вращения вентилятора — метод широтно-импульсной модуляции напряжения питания. Причем определить это очень просто. Если материнская плата совместима с технологией управления скоростью вращения вентилятора методом широтно-импульсной модуляции напряжения питания, то разъем для подключения кулера процессора должен иметь четыре контакта. Если же разъем является трехконтактным (как на старых материнских платах), то поддерживается только метод изменения напряжения питания. При этом его можно втыкать в четырехконтактный разъем, но в BIOS нужно выбрать соответствующий метод управления скоростью вращения. В случае если плата поддерживает оба способа изменения скорости вращения вентилятора, то в настройках BIOS должна иметься возможность выбора между методами управления.

Говоря о количестве контактов, заметим, что один из них — это напряжение питания, другой — «земля», а третий — сигнал тахометра, формируемый вентилятором и необходимый для определения текущей скорости его вращения. Сигнал тахометра представляет собой прямоугольные импульсы напряжения, причем за один оборот вентилятора формируется два импульса напряжения. Зная частоту следования импульсов сигнала тахометра (f). можно определить скорость вращения вентилятора: RPM (об./мин) = f (Гц)x30.

Управление методом широтно-импульсной модуляции напряжения питания

Второй способ управления скоростью вращения вентилятора — это применение широтно-импульсной модуляции (ШИМ-модуляции), или, если использовать англоязычное сокращение, модуляции PWM (Pulse Wide Modulation). Идея этого метода достаточно проста. Специальный PWM-контроллер на материнской плате формирует последовательность прямоугольных импульсов, подаваемых на контроллер вентилятора. Эти импульсы используются как управляющие сигналы для своеобразного электронного ключа, который периодически подключает и отключает вентилятор от напряжения питания в 12 В. Частота управляющих PWM-импульсов остается неизменной, меняется лишь их скважность, определяемая как отношение времени, при котором PWM-сигнал находится при высоком напряжении (Ton ), к длительности всего импульса (Ton +Toff ):

К примеру, если скважность составляет 40%, то это означает, что время, в течение которого на вентилятор подается напряжение, составляет 40% от периода PWM-импульса.

Согласно рекомендациям Intel, частота следования управляющих PWM-импульсов должна находиться в диапазоне от 21 до 28 кГц, а рекомендуемое значение амплитуды PWM-импульсов составляет 3,3 В (максимальное значение амплитуды — 5,25 В).

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

Как уже отмечалось, все вентиляторы, поддерживающие PWM-технологию, имеют четыре контакта. Первые три из них точно такие же, как и у трехконтактных вентиляторов (напряжение питания, «земля» и сигнал тахометра), а четвертый контакт предназначен для передачи управляющих PWM-импульсов.

Технология Intel QST

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

Контроллер, отвечающий за регулирование скорости вращения вентилятора, имеет обобщающее название FSC (Fan Speed Control). До недавнего времени на всех материнских платах он представлял собой отдельную микросхему (например, производства Winbond), которая, получая сведения о температуре процессора, управляла скоростью вращения вентиляторов. Как правило, это многофункциональные микросхемы, и управление скоростью вращения вентиляторов — лишь одна из их возможностей. Такие специализированные микросхемы содержат встроенный PWM-контроллер, а также позволяют динамически изменять напряжение на вентиляторе (для трехпиновых кулеров). Алгоритм, по которому изменяется скважность PWM-импульсов или напряжение на вентиляторе, «прошит» в самом контроллере. Программированием FSC-контроллеров занимаются производители материнских плат.

Альтернативный способ заключается в том, чтобы использовать для управления скоростью вращения вентиляторов не отдельную специализированную микросхему, а контроллер, встроенный в чипсет. Собственно, в этом и состоит технология Intel QST (Intel Quiet System Technology). Преимущество данного подхода заключается как минимум в том, что нет необходимости применять отдельную микросхему, что позволяет снизить себестоимость производства материнской платы.

Технология Intel QST впервые была реализована в чипсете Intel 965 Express и теперь поддерживается всеми новыми чипсетами Intel. Это вовсе не означает, что все производители материнских плат используют преимущества данной технологии. К примеру, несмотря на наличие встроенного в чипсет контроллера FSC, на многих материнских платах до сих пор реализуется управление скоростью вращения вентиляторами с использованием отдельных микросхем на материнских платах. Определить, поддерживает ли плата технологию Intel QST или нет, не так-то просто. Но если на плате нет отдельной микросхемы мониторинга типа Winbond, то это верный признак того, что на ней реализована поддержка технологии Intel QST. Однако наличие такой отдельной микросхемы еще не означает, что плата не поддерживает технологию Intel QST, поскольку, как мы уже отмечали, на эти микросхемы возлагается не только функция контроля за скоростью вращения вентиляторов.

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

Что касается преимуществ технологии Intel QST, то их как минимум четыре. Во-первых, как уже отмечалось, это интегрированное в чипсет решение, что позволяет снизить себестоимость производства материнских плат. Во-вторых, технология Intel QST позволяет контролировать не только скорость вращения вентилятора процессора, но и других вентиляторов, установленных в корпусе ПК или на материнской плате, за счет использования алгоритма весовой матрицы вентиляторов Fan Output Weighting Matrix. В-третьих, в технологии Intel QST реализован особый PID-алгоритм, позволяющий более точно (в сравнении с традиционными методами) контролировать температуру процессора или чипсета, соотнося ее с некой контрольной температурой Tcontrol. что позволяет в итоге минимизировать уровень создаваемого вентиляторами шума. И в-четвертых, технология Intel QST полностью программируемая.

Вкратце управление скоростью вращения вентилятора кулера процессора в технологии Intel QST можно описать следующим образом. Для контроля температуры процессора используются DTS-сенсоры, а само значение температуры передается по интерфейсу PECI в схему FSC, которая на основе полученных данных и заданного значения контрольной температуры Tcontrol выбирает требуемую скважность PWM-импульсов или напряжение питания (для трехконтактных вентиляторов), что позволяет изменить скорость вращения вентилятора. К примеру, если значение температуры, определяемое DTS-сенсором, менее –20 °С, то скорость вращения вентилятора может быть минимальной. При более высоком значении температуры скважность PWM-импульсов (или напряжение питания), а следовательно, и скорость вращения вентилятора увеличивается линейно с ростом температуры, достигая максимального значения при температуре Tcontrol. которая может составлять, к примеру, –10 °С (рис. 13).

Рис. 13. Пример зависимости скорости вращения вентилятора

от температуры процессора в технологии Intel QST

Структурная блок-схема реализации технологии Intel QST представлена на рис. 14.

Рис. 14. Структурная блок-схема реализации технологии Intel QST

PID-контроллер

Основным компонентом технологии Intel QST является PID-контроллер (Proportional-Integral-Derivative), задача которого заключается в выборе нужной скважности PWM-импульсов/напряжения питания на основе данных о текущей температуре процессора. PID-контроллеры широко используются в технике и электронике как контроллеры с обратной связью для поддержания на заданном уровне определенных параметров процесса. К примеру, PID-контроллеры находят применение для контроля на заданном уровне температуры, давления или скорости течения жидкости. В дальнейшем мы рассмотрим принцип действия PID-контроллера применительно к контролю температуры процесса.

Принцип действия PID-контроллера достаточно прост. Входными данными PID-контроллера являются текущая температура процесса (например, температура процессора или чипсета) и некая заранее определенная контрольная температура Tcontrol (иногда ее обозначают как Target Temperature или Setpoint). PID-контроллер рассчитывает разницу (ошибку) между текущей температурой и контрольной и на ее основе, а также с учетом скорости ее изменения и предыдущих значений разницы по специальному алгоритму вычисляет изменение скважности PWM-импульсов, необходимое для минимизации ошибки. То есть если рассматривать разницу между текущей и контрольной температурой как функцию ошибки, зависящую от времени e( t). то задача PID-контроллера заключается в том, чтобы минимизировать функцию ошибки, или, проще говоря, изменять скорость вращения вентилятора таким образом, чтобы постоянно удерживать температуру процессора на уровне контрольного значения.

Основной особенностью PID-контроллера является то, что алгоритм расчета необходимых изменений учитывает не только абсолютное значение разницы (ошибки) между текущей температурой и контрольной, но и скорость изменения температуры, а также предыдущие значения ошибок. То есть в алгоритме расчета необходимых корректировок используются три составляющие: пропорциональный член (Proportional, Pout ), интегральный член (Integral, Iout ) и дифференциальный член (Derivative, Dout). По их названиям получил имя и сам контроллер — Proportional-Integral-Derivative (PID).

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

Пропорциональный член P out определяется как произведение ошибки e( t) в текущий момент на некий коэффициент пропорциональности Kp :

Коэффициент Kp — это настраиваемая характеристика PID-контроллера. Чем больше значение коэффициента Kp. тем больше будет изменение управляемой характеристики при заданном значении ошибки. Слишком большие значения Kp приводят к нестабильности системы, в то время как слишком малые значения Kp — к недостаточной чувствительности PID-контроллера.

Интегральный член I

Источник: compress.ru

Категория: Безопасность

Похожие статьи:

Copyright © 2016 Мир компьютерных инноваций, inc.
All rights reserved.