Функции управления производительностью и энергопотреблением процессоров Intel

Часть 4: процессоры семейства Intel Core 2


Мы продолжаем начатое нами исследование технологий управления производительностью и энергопотреблением современных процессоров, начало которому положили наши статьи, посвященные исследованию указанных технологий в процессорах Intel Pentium 4 и Intel Pentium M. Вполне естественно расширить это рассмотрение на случай новых процессоров Intel, основанных на микроархитектуре Intel Core. Примером такого процессора выступит новейший, только что анонсированный «экстремальный» процессор Intel Core 2 Extreme QX6700, характеризующийся четырехъядерной (2x2) конфигурацией процессорного ядра, получившего кодовое наименование Kentsfield.

Конфигурация тестового стенда

  • Процессор: Intel Core 2 Extreme QX6700 (Kentsfield rev. B3, CPUID 6F7)
  • Чипсет: Intel 975X
  • Материнская плата: Intel D975XBX2 rev. 303, версия BIOS BX97520J.86A.1024.2006.0814.1142 от 08/14/2006
  • Память: 2x1 ГБ Corsair XMS2-6400, DDR2-800, 5-5-5-15

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

  • RightMark CPU Clock Utility (RMClock) версии 2.2RC3 (pre-release)
  • SpeedFan 4.31
  • StressTest, SSE2 build

Intel Core 2: новые технологии и особенности их реализации

Прежде всего, остановимся на кратком рассмотрении новых технологий управления производительностью и энергопотреблением, реализованных в процессорах семейства Intel Core 2, а также особенностей их реализации, связанных с многоядерной конфигурацией данных процессоров.

Для начала, взглянем на скриншот последней версии утилиты RightMark CPU Clock Utility 2.2RC3 (pre-release), в которой полностью реализована поддержка двух- и четырехъядерных процессоров семейства Intel Core 2.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 1

По основному скриншоту видно, что четырехъядерный процессор Intel Core 2 Extreme (Kentsfield) поддерживает все пять рассмотренных ранее технологий управления производительностью и энергопотреблением — технологию управления производительностью процессора по запросу Enhanced Intel SpeedStep (EIST), функции защиты процессора от перегрева Thermal Monitor 1 (TM1) и Thermal Monitor 2 (TM2), устаревшую технологию модуляции тактовой частоты процессора по запросу On-Demand Clock Modulation (ODCM), а также улучшенные режимы простоя Enhanced C States (CxE). По сравнению с процессорами Intel Pentium 4 и Pentium D 600-х, 800-х и 900-х серий, которые, как известно, характеризовались лишь наличием улучшенного режима простоя Enhanced Halt (C1) State, в процессорах Intel Core 2 (а также мобильных процессорах Intel Core Solo/Duo) последняя функция была расширена на случай всех возможных состояний бездействия процессора, включая режимы Stop Grant (C2), Deep Sleep (C3) и Deeper Sleep (C4).

Существенным отличием процессоров семейства Intel Core 2 от рассмотренных нами ранее процессоров Intel является наличие цифровых измерителей температуры ядра (Digital Thermal Sensor), встроенных в каждое ядро процессора. Эти датчики доступны также в мобильных процессорах Intel Core Solo/Core Duo. Их показания можно считывать и отображать независимо для каждого из ядер, что реализовано в последних версиях утилиты RMClock. С технической точки зрения, возвращаемым значением является отрицательное смещение температуры относительно максимально допустимой температуры функционирования ядра процессора (junction temperature, Tj). Последняя указывается в спецификации процессора и составляет 100°C как для процессоров Intel Core Solo/Core Duo, так и для процессоров семейства Intel Core 2. Однако, как показывает опыт, в последнем случае из показаний температуры необходимо вычитать дополнительное смещение, задаваемое в одном из дополнительных модель-специфичных регистров (MSR) процессора, относящихся к рассматриваемым функциям. Это смещение составляет, как правило, 16°C, и его учет реализован в готовящейся к выпуску версии 2.2 утилиты RMClock.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 2

Возвращаясь к улучшенным режимам простоя процессора, из скриншота дополнительных настроек процессора видно, что для десктопных процессоров Intel Core 2 по умолчанию включен лишь режим Enhanced Halt (C1) State — C1E. Связано это с тем, что более глубокие режимы «сна» процессора, как правило, не используются в десктопных платформах — операционная система «не видит» их наличие в информации, предоставляемой ей ACPI BIOS материнской платы. Они приобретают актуальность для мобильных платформ — так, в частности, на платформе Intel Centrino Duo по умолчанию, как правило, оказываются включенными улучшенные режимы C2E и C4E.

Что касается технологий TM1 и TM2, по приведенному скриншоту можно легко увидеть основное отличие в их реализации по сравнению с предыдущими процессорами Intel — в процессорах Intel Core 2 можно задействовать обе технологии одновременно, что в рассматриваемом случае сделано по умолчанию. Однако, как будет показано ниже, само по себе это особого смысла не имеет — для реализации возможности одновременного использования TM1 и TM2 необходимо включение режима так называемого «расширенного троттлинга» (Extended Throttling). Суть последнего, как мы увидим ниже, заключается в аварийном включении технологии TM1 в том случае, если технология TM2 оказывается недостаточно эффективной для сохранения температуры процессора в допустимом интервале температур, заданных производителем. Несмотря на известную высокую эффективность технологии TM2, такая ситуация, в чем легко убедиться, вполне может возникнуть на четырехъядерных процессорах Intel Core 2 Quad / Intel Core 2 Extreme, поэтому мы можем сказать, что режим расширенного троттлинга для этих процессоров предусмотрен производителем явно не зря.

Последняя из дополнительных настроек, являющаяся отключенной по умолчанию, — режим синхронизации TM1 на ядрах процессора (Sync TM1 on CPU cores) — заключается в использовании одного и того же режима модуляции тактовой частоты процессора одновременно для всех его ядер. По всей видимости, особого смысла в использовании этого режима действительно не имеется — ведь каждому из ядер процессора (даже включая те, которые являются составной частью «общего ядра») позволительно иметь собственный режим модуляции тактовой частоты, в зависимости от условий его загрузки и рабочей температуры. С одной стороны, принудительная синхронизация режима TM1 может способствовать более эффективному снижению температуры процессорного ядра в целом, но с другой стороны, она может приводить к более выраженному снижению производительности процессора в случае его перегрева. Видимо, производитель счел более важным сохранение как можно более высокой производительности процессора даже при его сильном перегреве, в связи с чем этот режим не используется по умолчанию.

Говоря о независимости или, наоборот, зависимости отдельных ядер друг от друга, мы перешли к рассмотрению особенностей реализации функций управления производительностью и энергопотреблением процессоров семейства Intel Core 2, поскольку указанные особенности связаны именно с этим обстоятельством. Как известно, классические двухъядерные процессоры Intel Core 2, а также Intel Core Duo, характеризуются наличием общего для обоих ядер процессора L2-кэша. Поскольку этот ресурс функционирует на полной частоте ядра процессора, становится совершенно очевидно, что оба ядра двухъядерных процессоров Intel Core 2 (и Intel Core Duo) всегда обязаны функционировать на одной и той же тактовой частоте. Несмотря на то, что каждое из ядер имеет свой собственный набор модель-специфичных регистров (MSR-ов), предоставляющих возможность управления производительностью и энергопотреблением ядра процессора, попытка установки разных значений тактовой частоты (точнее, множителя системной шины, FID) для разных ядер процессора приводит к немедленному зависанию системы.

Поскольку прямое отношение к тактовой частоте ядра процессора имеют лишь технологии EIST и TM2, одинаковыми для обоих ядер должны быть значения именно этих параметров. А если учесть, что программирование режима TM2 для процессоров Intel Core 2 оказывается недоступным (соответствующий MSR у этих процессоров является «read-only»), проблема синхронизации тактовой частоты ядер сводится к ее управлению посредством технологии EIST. Естественно, драйвер процессора или утилиты управления вроде RMClock должны быть «в курсе» этой особенности управления производительностью двухъядерных процессоров Intel посредством технологии EIST. В то же время, как мы уже упоминали выше, каждому из ядер позволительно иметь собственный уровень «троттлинга» (модуляции тактовой частоты — по запросу, посредством ODCM, либо автоматически, посредством TM1), поскольку «троттлинг» затрагивает лишь исполнительные ресурсы ядра процессора, но не влияет на функционирование его L2-кэша.

На первый взгляд, несколько более сложной может оказаться ситуация управления производительностью и энергопотреблением четырехъядерных процессоров, примером которого является рассматриваемый нами Intel Core 2 Extreme QX6700. Однако таковой она кажется лишь на первый взгляд — дело в том, что ядро этого процессора, по сути, представляет собой как бы два независимых процессора Intel Core 2 Duo E6700, помещенных вместе в один корпус. Соответственно, управление каждым из этих независимых «двухъядерных ядер» оказывается также независимым.

Рассматриваемый процессор представляется операционной системе в виде четырех «системных» процессоров, под которыми, как мы знаем, может подразумеваться все, что угодно — либо полноценное процессорное ядро (например, Intel Pentium M), либо его составная часть (Intel Core Duo или Intel Core 2), либо и вовсе логический процессор (Intel Pentium 4 с технологией Hyper-Threading). Соответственно, для управления каждым из «системных» процессоров необходимо как-либо отнести его к конкретному физическому устройству, а далее — сгруппировать «системные» процессоры по критерию их принадлежности к данному физическому процессору/ядру, которым можно управлять как целым устройством. Для решения этой задачи отлично подходит так называемый APIC ID процессора, который, вообще говоря, может произвольно назначаться ему операционной системой. В случае четырехъядерных процессоров Intel Core 2 младший бит APIC ID означает индекс «зависимого» («дочернего») ядра процессора внутри составляющего его «независимого» («главного») ядра (0 либо 1), а следующий за ним бит APIC ID, смещенный вправо на единицу, отражает индекс «независимого ядра» внутри корпуса процессора. Более наглядно это представлено ниже в таблице.

Индекс системного процессораAPIC IDИндекс «главного» ядра, APIC ID[1] >> 1Индекс «дочернего» ядра, APIC ID[0]
0000
1210
2101
3311

Из этой таблицы видно, что APIC ID процессора не обязательно совпадает с номером связанного с ним «системного» процессора, поэтому полагаться на этот номер было бы ошибочно. Заметим также, что представленная выше расстановка ядер процессора Intel Core 2 Extreme QX6700 формально совпадает с таковой для предыдущих «экстремальных» двухъядерных процессоров, оснащенных технологией Hyper-Threading — например, Intel Pentium Extreme 965. Разница заключается лишь в том, что индексу «главного» ядра в том случае соответствует собственно индекс ядра, а индексу «дочернего» ядра — индекс логического процессора, входящего в состав ядра. Аналогия оказывается более чем полной.

Intel Core 2: тестовые испытания

Выше мы рассмотрели основные технологии управления производительностью и энергопотреблением процессоров семейства Intel Core 2 и особенность их реализации в этих процессорах. Самое время перейти к собственно испытаниям этих технологий.

Поведение технологий EIST и CxE в процессорах Intel Core 2 существенно аналогично их поведению в исследованных нами ранее процессорах Intel Pentium 4 и Intel Pentium M, с точностью до рассмотренных выше особенностей, связанных с многоядерной архитектурой процессоров. Намного больший интерес представляют технологии автоматической защиты процессора от перегрева — TM1 и TM2, получившие развитие в виде расширенного режима троттлинга. Тем более что ситуация перегрева четырехъядерного процессора, как выяснилось, оказывается далеко не такой уж и редкой…

Для начала, рассмотрим вид кривых мониторинга (здесь и далее мониторингу подвергалось первое ядро процессора — «CPU 0», поведение остальных ядер оказывалось в существенной степени аналогичным) в случае простоя процессора.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 3

Видно, что «номинальная» частота ядра процессора оказывается сброшенной до минимального уровня — 1600 МГц (частоты шины 266 МГц, минимальный множитель 6x) за счет функционирования технологий улучшенного режима простоя CxE (в данном случае — C1E). В то же время, измерение «частоты троттлинга» процессора (под которой следует понимать реальную частоту ядра процессора) показывает почти максимальное значение, поскольку само измерение неизбежно является нагрузкой для процессора и выводит его из режима C1E в полностью «рабочее» состояние C0. Температура ядра процессора оказывается на минимальном уровне (порядка 33°C). Следует отметить особенность реализации технологии C1E в процессорах семейства Intel Core 2, заключающуюся в том, что запрашиваемое напряжение ядра процессора (VID), измеряемое при простое системы, как бы практически постоянно остается на максимальном уровне, тогда как множитель системной шины (FID) снижается до минимума. По-видимому, это является особенностью измерения VID на этом типе процессоров, поскольку сама по себе технология C1E по определению помещает процессор в режим минимального энергопотребления, характеризующегося минимальной частотой (FID) и напряжением (VID).

Функции управления производительностью и энергопотреблением процессоров Intel., фото 4

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

Функции управления производительностью и энергопотреблением процессоров Intel., фото 5

В скором времени, даже в условиях штатной системы охлаждения (надо заметить, весьма шумной!) можно лицезреть картину, представленную на приведенном выше скриншоте. Да-да, все именно так: мы наблюдаем порог срабатывания режима защиты процессора от перегрева. Температура ядра при этом составляет примерно 81°C.

Картина троттлинга в условиях штатного охлаждения разворачивается во времени примерно следующим образом.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 6

На кривых изменения тактовой частоты (а также множителя) процессора во времени легко заметить появление «скачков» до минимального уровня производительности — частоты 1600 МГц при множителе системной шины 6x. Из предыдущих исследований нам хорошо известно, что так работает технология защиты процессора от перегрева TM2. В данном случае (при включенных режимах TM1, TM2, Extended Throttling) она срабатывает в первую очередь, что выглядит вполне естественно, учитывая ее высокую эффективность. Кстати, о последней можно судить также по кривой изменения температуры ядра процессора — она остается на постоянном уровне 81°C. Наконец, по кривой реальной загрузки процессора (CPU Load) можно заметить, что производительность процессора снижается до уровня примерно 97%. Иными словами, хотя троттлинг и имеет место быть (в условиях штатного охлаждения процессора), его влияние на производительность процессора оказывается весьма минимальным.

Изучение троттлинга продолжаем следующим образом: с помощью утилиты SpeedFan снижаем скорость вращения вентилятора процессора до минимально возможного уровня. Полная остановка вентилятора нам не удалась, скорость его вращения снизилась примерно до 1000 об/мин.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 7

Достаточно быстро троттлинг процессора посредством TM2 достигает своей максимальной эффективности — «средняя» частота ядра постепенно снижается практически до минимальной отметки, примерно 1.7 ГГц. Это соответствует примерно 64% эффективной производительности ядра процессора, которую, к сожалению, напрямую нельзя увидеть по изменению кривой CPU Load. Дело в том, что последняя отсчитывается относительно текущей, а не «полной» частоты ядра процессора, и в силу ошибок измерения (связанных с множественными переключениями процессора между минимальной и максимальной частотой) она может оказаться даже выше 100%, в том случае, когда реально измеренная «средняя» частота ядра оказывается реально выше по сравнению с синтетическим мгновенным значением «текущей» частоты. Эффективность защиты процессора от перегрева остается на весьма высоком уровне — обратите внимание, насколько мало изменяется температура ядра процессора.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 8

Принципиальных отличий не наблюдается и по мере продолжения испытания. Единственное отличие заключается в том, что «средняя» частота процессора падает до своего минимального значения (в условиях функционирования TM2), равного 1.6 ГГц. Увидеть режим «расширенного троттлинга» не удается в действии даже в этих условиях, при крайне малой скорости вращения вентилятора кулера процессора. Нам ничего не остается, как остановить его полностью, вручную.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 9

Extended throttling в действии! В реальности все оказалось так, как оно и описано в теории — при недостаточной эффективности TM2 в дело вступает технология TM1, суть которой заключается в модуляции тактовой частоты процессора вставкой «принудительно холостых» тактов. Последняя, измеренная относительно минимальной опорной частоты 1.6 ГГц, в условиях нашего эксперимента достигает отметки примерно 0.91 ГГц, т.е. 57% относительно минимальной частоты процессора, обусловленной действием TM2. По отношению к исходной, полной частоте процессора (2.67 ГГц), эта величина составляет примерно 34%. По-видимому, дальнейшее снижение частоты процессора невозможно даже при одновременном использовании TM2+TM1 в максимальной степени. Обратите внимание на график температуры ядра процессора — в момент экстренного срабатывания TM1 показания последней «исчезают»: цифровой датчик температуры ядра процессора перестает выдавать осмысленные значения, обнуляя при этом свой бит «reading valid», говорящий, как нетрудно догадаться, о корректности выдаваемого им значения. А это означает, что температура ядра процессора отныне не сохраняется на постоянном уровне (примерно 82°C) и продолжает расти. Действительно, устаревшая технология TM1, управляющая лишь эффективной частотой, но не напряжением ядра процессора, неспособна поддерживать его температуру в той же мере, что и технология TM2. По всей видимости, реальная температура ядра в этих крайне жестких условиях испытания продолжает неограниченно расти, пока не достигнет порога срабатывания датчика аварийного перегрева процессора и пока не произойдет принудительное отключение питания системы.

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

Функции управления производительностью и энергопотреблением процессоров Intel., фото 10

Троттлинг процессора (посредством TM1) весьма медленно сводится на нет, далее появляются первые признаки «оживления» TM2 в виде кратких попыток восстановления максимальной частоты процессора, наконец, возобновляется мониторинг температуры ядра процессора. Следом, возобновляем максимальное охлаждение процессора.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 11

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

Функции управления производительностью и энергопотреблением процессоров Intel., фото 12

Ради интереса, попробуем теперь отключить режим расширенного троттлинга, оставив при этом одновременно включенными TM1 и TM2. Снизим скорость вращения вентилятора до минимальной.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 13

TM2 достигает своей максимальной эффективности, температура ядра сохраняется на постоянном уровне. Теперь полностью остановим вентилятор кулера процессора.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 14

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

Функции управления производительностью и энергопотреблением процессоров Intel., фото 15

Восстановление активного охлаждения процессора приводит к возвращению практически максимального уровня производительности процессора.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 16

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

Функции управления производительностью и энергопотреблением процессоров Intel., фото 17

Снижение скорости вращения вентилятора до минимальной оказывается достаточным, чтобы быстро реализовать троттлинг процессора посредством технологии TM1 в полной мере. Опорная частота ядра процессора остается максимальной, однако его реальная частота достаточно быстро снижается до уровня примерно 56% (1.49 ГГц), уже знакомого нам по испытаниям режима расширенного троттлинга. При достижении максимального уровня троттлинга температура ядра процессора достаточно быстро выходит за допустимый предел, в связи с чем показания датчика температуры исчезают. Это лишний раз подтверждает, что технология TM1 оказывается намного менее эффективной по сравнению с TM2. В одинаковых условиях эксперимента эта технология не только приводит к более выраженному снижению частоты процессора, но и оказывается неспособной поддержать его температуру на постоянном уровне.

Функции управления производительностью и энергопотреблением процессоров Intel., фото 18

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

Заключение и практические рекомендации

Проведенные испытания показали недостаточно высокую эффективность штатной системы охлаждения процессора Intel Core 2 Extreme QX6700, которая, к тому же, обладает весьма высоким уровнем шума. В условиях полной загрузки всех четырех ядер процессора штатная система охлаждения не справляется с нагрузкой и приводит к срабатыванию защиты процессора от перегрева посредством троттлинга. Рекомендованным решением этой проблемы является использование более эффективной системы охлаждения. Дополнительные исследования показали, что с этой задачей вполне могут справиться и неэкзотические системы воздушного охлаждения, вроде кулера Zalman CNPS9700NT.

Испытания троттлинга как такового в рассматриваемом процессоре показали весьма высокую эффективность реализации технологии Thermal Monitor 2 в плане поддержания температуры ядра процессора в допустимом пределе в течение длительного времени даже в условиях минимального охлаждения. Однако при возникновении внештатной ситуации, например, при полной остановке вентилятора системы охлаждения процессора в условиях полной загрузки процессора, технология Thermal Monitor 2 может оказаться уже недостаточно эффективной, что приведет к срабатыванию режима расширенного троттлинга — включению технологии Thermal Monitor 1 на фоне Thermal Monitor 2. Наши испытания показали, что в этих условиях температура ядра процессора уже не способна сохраняться в допустимом пределе, что может привести к ее дальнейшему возрастанию и, в конечном счете, к аварийному отключению питания системы. Таким образом, мы считаем, что к проблеме охлаждения четырехъядерных процессоров Intel, каковым является процессор Intel Core 2 Extreme QX6700, следует относиться весьма внимательным образом.




Не пропускайте наши новостиДобавьте сайт в предпочитаемые источники, чтобы видеть нас чащеДобавить в Google

Главное