Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Энергоэффективность и авторазгон

По этим пунктам нового немного: снижение напряжения и потребления ЦП в энергосостоянии S3 (сон всей системы), внедрение силовых ключей в контроллеры ввода-вывода (отдельно для памяти и остальных), и технология PAIR (power aware interrupt routing — подача ядрам сигналов о прерываниях с учётом экономии энергии), которая при частичной нагрузке выбирает одно из включенных ядер для обработки всех прерываний, чтобы остальные ядра продолжали спать. Также внедрена приоритезация прерываний — обработка малозначимых и не требующих немедленной реакции событий может откладываться, пока какое-то из ядер не проснётся…

Эта глава получилась бы очень куцей, однако в прошлом году на конференции Hot Chips 2011 был опубликован весьма подробный доклад на эту тему, касающийся Sandy Bridge. Многие указанные там подробности были упущены даже в нашем наиподробнейшем обзоре. Поэтому далее следует по сути дополнение к сказанному там — тем более, что всё это наверняка присутствует и в IB.

Во-первых, оказывается, в каждом банке кэша L3 есть два силовых домена, в которых находятся две половины ячеек, несущих собственно данные и биты ECC. Центральная (осевая) часть банка, где находятся контроллер и местный агент кольцевой шины, от питания не отключается. Куда в этой схеме попадают массивы с тегами — неясно. Оба домена включаются и отключаются одновременно. До сих пор было известно, что после засыпания всех ядер в состояние C6 мобильные модели могут отключить и весь L3. Теперь же оказывается, что банки могут отключаться по-отдельности — к сожалению, остаётся лишь гадать, по какому алгоритму. Возможно, он похож на тот, что появился ещё в Pentium-M для L2, и который мы описали в обзоре архитектуры Bobcat. Общее правило одно: чем большая порция кэша оказывается выключена — тем больше данных будет недоступно при обращении к L3, а значит — тем больше надо будет их подкачивать из ОЗУ, тратя на это больше времени и драгоценных микроджоулей, чем при попадании в кэш.

Напряжение Число ядер Базовая (Turbo) частота ядер, ГГц TDP всего TDP при 800 МГц
Повышенное (XE)   2,5 (3,5)    
Нормальное 2,2 (3,4)    
  2,5 (3,4)    
Низкое (LV) 2,1 (3,2)    
Оч. низкое (ULV) 1,4 (2,7)    

Далее, у силового контроллера, управляющего в т. ч. и авторазгоном по технологии Turbo Boost 2.0, помимо обычного показателя TDP есть ещё один — для случая, когда как минимум одно ядро находится в низкочастотном (LFM) режиме простоя (при частоте 800 МГц для мобильных ЦП и 1600 для остальных), а остальные ядра спят. Указанные этой цифрой ватты почти монопольно достанутся встроенному ГП. Из таблицы, где приведены параметры линеек мобильных SB, можно узнать ещё много интересного. Например, при стандартном напряжении разница между 2-ядерным и 4-ядерным ЦП составляет аж 33−26=7 Вт для 800 МГц, но почему-то всего 10 Вт для базовой частоты. Параметры для IB, очевидно, другие (хотя часто́ты простоя те же), но отношение должно быть похожим: ГП получит в лучшем случае ¾ номинального TDP, т. к. всё тепловыделение кристалла не может быть сосредоточено на одном пятачке сбоку.

Впрочем, после продолжительных периодов простоя, когда чип успел охладиться, Turbo Boost 2.0, как мы уже знаем, может превысить показатель TDP на время до 64 с (этот максимум программируется), пока температура не достигла предела. А теперь известно, и насколько можно превысить — на 20–30%. Причём мгновенное потребление энергии может быть ещё выше и ограничивается аппаратным максимумом подачи тока для данного корпуса ЦП. На него также должен быть рассчитан расположенный на системной плате модуль VRM, подающий регулируемые напряжения потребителям (прежде всего — ЦП). А у IB вдобавок обнаруживается возможность программировать несколько уровней TDP. Например, у ноутбукаможно отключить кулеры для полностью бесшумной работы, и ЦП должен быть «официально» оповещён (через ОС и драйверы) о сильно сниженной теплоотводной способности. Зато включив режим турбопылесоса, можно добавить несколько ватт в резерв авторазгона.

Более того, реально потребляемые ватты, как ни парадоксально, можно экономить и при хорошем охлаждении, учитывая общее свойство любой КМОП-схемы — при нагреве растут утечки, причём пропорционально аж 4-й степени температуры. Например, при 100 °C (373 кельвина) они вдвое больше, чем при 40 °C (313 K) — теперь ясно, зачем оверклокерам жидкий азот. А утечка в современных ЦП — это ≈20% всей мощности, что для экономного IB означает 10–15 Вт. Половину которых, стало быть, вполне можно сэкономить, если активней охлаждать процессор. Только вот на само́м таком охлаждении можно потерять столько же, да и шумом турбопылесос быстро достанет…

Также стало известно, что силовой контроллер для оптимального баланса между скоростью и экономией вычисляет метрику «масштабируемости». Это не самое удачное название, исходя из сути. Суть же заключается в том, что метрика является прогнозом производительности при понижении частоты ниже текущей. Если вычисляется, что в данный момент метрику можно поднять при незначительном замедлении фактической работы — то частота будет сброшена на одну или несколько ступенек умножителя. Самый верный для этого момент — когда ядра особенно часто стопорятся из-за кэш-промахов в L3, и тогда их частота оказывается не так важна на фоне темпа работы ОЗУ. Если её понизить, скажем, на 10% (разумеется, вместе с напряжением) — это поможет сохранить 25% потребления ценой потери 5% темпа фактически выполняемых вычислений. А вот если метрика приближается к 1, то производительность меняется почти линейно от частоты, и последнюю лучше не снижать. Смысл всех этих замеров и регулировок — чтобы «масштабируемость» в любой момент была поближе к 1 (100%). По утверждению Intel, у SB этот параметр редко опускается ниже 90%, держась в среднем на уровне 95% и часто поднимаясь до 99%.

Любопытно взаимодействие потоков с их индивидуальными оповещениями о загрузке (программа может указать процессору через ОС, что её можно усыпить). Один из потоков в ядре не может перевести его в состояние сна, если второй активен. Но вот если таких ядер два, то два спящих потока можно спарить в одном ядре, которое и уснёт, а два активных — в другом. Разумеется, это наверняка снизит их суммарную производительность, и тут важную роль играет выставленный в ОС режим работы (скоростной, «оптимальный» или экономный), правильно написанные драйверы и отдельно обновляемая прошивка силового контроллера самого ЦП. У ядер есть 4 C-состояния: C0, C1, C3 и C6. Если все ядра (хотя неясно насчёт ГП…) находятся в C3, то весь ЦП переходит в PC3, а если в C6 — то в PC6. Буква P тут означает package — упаковка, т. е. корпус. Из PC6 можно уснуть в самую глубокую «кому» — PC7, когда отключено почти всё. Отдельный набор из трёх экономных состояний есть у ИКП: обычный простой, отключение предзаряда битовых шин и их терминаторов (оконечной нагрузки), а также (дополнительно) отключение местного умножителя. Перевод модуля в режим авторегенерации также управляется силовым контроллером.

Наконец, доблестный процессор защищает не только себя, но и систему. При перегреве модуля памяти силовой контроллер ЦП использует дросселирование (пропуск тактов) шины и уполовинивает период регенерации. Последнее нужно, т. к. при высокой температуре чипа ОЗУ происходит ускоренное рассасывание заряда, что приводит к повышенной вероятности неверного прочтения данных. А температуру контроллер берёт либо из встроенного в модуль термодатчика (который пока редкость), либо из VTS — «виртуального термосенсора».

VTS предсказывает температуру, имея, во-первых, данные из чипа SPD (который давно имеется во всех видах DIMM и подключен к ЦП по последовательной шине) о примерном нагреве модуля при различных операциях с памятью (предполагая, что эти цифры там присутствуют и верны, что не факт…), а во-вторых — собранную в ИКП статистику фактических операций с этим модулем. Однако этих данных недостаточно для точного предсказания (в частности, обдув модуля берётся как среднеожидаемый «по больнице», т. е. по разным корпусам), и VTS часто показывает якобы перегрев до 80–100°C, что ведёт к дросселированию шины памяти. Поэтому если в модуле нет термодатчика, то такую «защиту» рекомендуется отключать, для чего есть, например, утилита «Memory Throttle».

Модуль VRM тоже имеет свой сенсор, показания которого, по идее, также должны спасать VRM от перегрева — видимо, уменьшением нагрузки. Кстати, модулей VRM может быть несколько, но начиная с SB (а также последних ЦП AMD) они все управляются общей 3-проводной шиной стандарта SVID — причём речь идёт не только о регулировке напряжений, но и числа активных фаз (опять же, для экономии). По этой же шине VRM сообщает о своих возможностях и ограничениях, а также текущей температуре и сопротивлении силовых шин.

SB, как и предыдущие ЦП (начиная ещё с Core 2 Duo) поддерживает ещё одну цифровую шину управления силовыми параметрами — PECI (Platform Environment Control Interface), который в 2011 г. Intel почему-то назвала новой. Через этот интерфейс встроенный силовой контроллер подключается к внешнему, расположенному на плате, и сообщает ему всё нужное, в т. ч. для регулировки оборотов кулера. Внешний чип же может управлять пределом потребления ЦП (и пиковым, и средним) и другими настройками, диктуемыми требованиями платформы.

Модели

Как обычно, прокомментируем список моделей в Википедии. Процессоры с ядрами архитектуры IB официально называются Core 3-го поколения, но т. к. первым поколением считается Nehalem и его родственники (хотя до этого слово Core как торговая марка уже давно использоваласьIntel), то точнее будет сказать, что это 3-е поколение Core i. Если не считать серверных Xeon E3-12xx(L)V2, то наименование всех видов Core отличается от прошлых ЦП первой цифрой 4-значного номера (3 вместо 2), а всё остальное весьма похоже. У настольных моделей имеются такие линейки (троеточие указывает на отличия от пункта выше):

· Core i7 38xx и 39xx: предположительно, с такими номерами выйдут «экстремальные» модели без ГП, только вот незадача — у SB-экстремалов номера тоже начинаются с тройки. Но почему? И их как не перепутать? Ответ см. ниже…

· Core i7 37xx (пока доступны только модели с цифрой 70, зато их аж 5): 4-ядерные ЦП со включенными Hyper-Threading (HT) и авторазгоном всего (ГП — до 1150 МГц), имеют 8 МБ кэша L3 и старший ГП HD4000, официально поддерживают память до DDR3-1600;

· Core i5 35xx: …минус HT и 2 МБ L3; HD4000 доступен пока лишь у 3570K, а у почти всех остальных моделей тут и далее — HD2500;

· Core i5 34xx: …Turbo-частота ГП — 1100 МГц, а модель 3470T совсем выбивается из общего ряда — она даже не 4-ядерная; 3475S — единственная с HD4000;

· Core i5 33xx (в списке пока не указана планируемая модель 3335S): … Turbo-частота ГП — 1050 МГц, а у 3350P графика полностью отключена;

· Core i3 32xx: 2 ядра, HT, 3 МБ L3, PCIe только версии 2.0 (хотя вы почти ничего не потеряете), и без авторазгона x86-ядер;

· Pentium G21xx: …минус AVX, HT и спецфункции ГП (Quick Sync Video, InTru 3D, Clear Video HD, Wireless Display и Insider), в результате чего последний тут зовётся просто HD Graphics — точно также, как и в предыдущих двух поколениях «Пентиумов». Снова те же вопросы: почему номера этих моделей начинаются с двойки, и как не перепутать их HD Graphics с аналогами в предыдущих ЦП? А по кочану и никак — это работает фирменная технология Intel Bardack 3.0:)

· Pentium G20xx: …память — только до DDR3-1333;

· Celeron G16xx: …минус 1 МБ L3 (останется 2).

Что касается буквы после номера, то её расшифровка неизменна:

· нет буквы — большой TDP;

· K — большой TDP и разблокированный множитель (который, кстати, теперь достигает 63 и может вручную меняться без перезагрузки);

· S — средний TDP;

· T — малый TDP;

· P — процессор с выключенным ГП и «особым» TDP;

· X — предполагаемые «экстремалы» наверняка снова будут заканчиваться этой буквой.

TDP настольных моделей (если не считать P-версии и грядущих «экстремалов») принимает значения 77, 65, 55, 45 и 35 Вт. Причём значения букв K, S и T в этом ряду не обязательно соседние. (Поначалу тут ещё была цифра 95, но Intel быстро стала указывать и для этих ЦП 77 Вт, заявив, что «95» было нужно разработчикам материнских плат и кулеров для совместимости и с SB, и с IB, а вот тепловыделение самих IB на 18 Вт меньше.) «5» в конце номера означает HD4000 вместо HD2500, но только не для 37xx и K-моделей (где старший ГП и так есть), да и к будущим «Селеронам» и «Пентиумам» это также вряд ли будет относится. Уже запутались? Подбираете изощрённую пытку для маркетологов Intel? Погодите, ведь ещё есть мобильные модели! Они опознаются по отдельному набору букв (слава Муру, что и тут расшифровка одинакова для Core, Pentium и Celeron):

· XM — «экстремально» 4-ядерный;

· QM — просто 4-ядерный;

· M — просто 2-ядерный;

· U — особо экономный 2-ядерный (и базовая частота ГП тут не 650 МГц, как у предыдущих, а 350);

· Y — самый экономный 2-ядерный;

· E — для встроенных применений;

· C — у новых версий SB, вышедших в этом году (ЦП Gladden для платформы Crystal Forest), эта буква означет особо экономные встроенные версии, работающие на очень низких частотах (например, Xeon E3-1105C — 4 ядра, 1 ГГц и 25 Вт), лишённые ГП и авторазгона, но (даже у 1-ядерных версий) сохраняющие в наличие все остальные свойства полноценного чипа: AVX, HT, ECC-память и т. п. Не лишним будет предположить, что и среди IB появятся аналогичные модели с той же буквой C.

А вот из номеров понятно чуть более чем ничего — у Core вторая цифра модели бывает от 1 до 9, и по ней нельзя точно определить даже число ядер: 1–5 это 2-ядерные ЦП, 7–9 — 4-ядерные, а 6 — как придётся. Хорошо, что у всех мобильных Core i включен HT, а у Pentium и Celeron его нет — но не факт, что очередная новая модель не станет исключением. Цифра в конце номера означает:

· 2 — пониженный TDP;

· 5 — +100 МГц к Turbo-частоте у ГП;

· 7 — низкий TDP (но тогда зачем буква U?);

· 9 — самый низкий TDP (дублёр буквы Y).

Мобильные Pentium 2020M и 2117U, в отличие от настольных тёзок, получат лишь по 2 МБ L3 — также, как и у встроенных Celeron 1020E и 1047UE. Наконец, есть ещё Celeron 927UE — 1 ядро, 1 поток и 1 МБ L3. И наверняка это не последняя 1-ядерный IB. Причём, судя по эволюции моделей на ядрах SB, некоторые из будущих 1-ядерных Селеронов могут даже получить HT.

Мобильный ряд TDP таков: 55 (только для -XM), 45, 35, 17, 13 и 10 Вт. Как и обещано, некоторым из этих моделей разрешено регулировать TDP «на лету»: 7←10←13, 14←17→25 (младшим 25 Вт недоступны) и 45←55→65. Да-да, 65 Вт в ноутбуке, а ведь там ещё и видеокарты бывают! Оплатив $1096 за один только процессор, вы, помимо прочего, сможете пожарить под ноутбуком яичницу, но вот таскать батарейки в чемоданах лучше только в «Ералаше»… На противоположном конце диапазона — модели с буквой Y, которые могут сокращать TDP аж до 7 Вт (называется это сценарным потреблением), но ценой ещё большего снижения скорости и максимальной выдерживаемой температуры (со 105 до 80°C).

Для работы с IB подойдут и некоторые старые чипсеты 60-й серии (Z68, P67 и H67), и новые — 70-е, работающие только с SB. Их настольные версии подробно описаны в нашем материале, а полные данные на все 12 видов (включая 6 мобильных) даны тут. Главная цифра оттуда: TDP мобильных версий — 3–4,1 Вт. В сумме с наиэкономнейшими из ЦП получается всего 20 Вт.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...