[Перевод] Интуитивное описание состояний электропитания процессора с помощью человечков и лампочек

3592a535a1114967a307be5c11a2bbc2.jpgНа любую, даже сложную тему можно написать интересно, доходчиво и с юмором. Именно таким талантом обладает инженер Intel Тейлор Кидд (Taylor Kidd), регулярно публикующий в блоге компании статьи, посвященные состояниям энергосбережения процессоров Intel. В качестве пятничного позитива предлагаем ознакомиться с шуточным подходом Тейлора к весьма серьезной проблеме. В конце поста вы найдете ссылки на другие статьи этого автора.Это очередная публикация в серии записей об управлении электропитанием для сопроцессоров Xeon Phi. Впрочем, все сказанное здесь справедливо для любого процессора.Если отвлечься от избитой аналогии с зайцам и черепахами, я как-то упомянул «опытных программистов, старательно работающих на своих корпоративных работодателей». Давайте немного расширим эту концепцию. На КДПВ у нас есть один опытный программист. Он символизирует один аппаратный поток сопроцессора ЦП.В ядре — 4 аппаратных потока. Посмотрите на рисунок ниже. Все настолько очевидно, что я не стану утруждать себя написанием, а вас — чтением многостраничного пояснения. Также изображена и лампочка. Лампочка представляет инфраструктуру, поддерживающую ядро, такую как тактовые контуры и цепи питания.af71a8a6a09e441c8db15e3ee9a417bd.jpgОпытные программисты в комнате, т. е. ядро сопроцессора Intel Xeon Phi

Управление электропитанием: C0 и C1 ядра Какое отношение все это имеет к управлению электропитанием? Иногда отдельные либеральные студенты гуманитарных направлений заявляют, что инженеры лишены воображения и вообще зануды. Но мы-то с вами знаем, что даже если некоторое занудство нам порой не чуждо, то в отсутствии изображения нас обвинить нельзя. Помня об этом, представьте себе, что на каждом из этих столов стоят компьютеры и настольные лампы.Ядро в режиме C0: кода хотя бы один опытный программист напряженно работает (т. е. хотя бы один аппаратный поток ядра ЦП выполняет инструкции).ЦП выполняет инструкцию HALT: когда один из наших опытных программистов заканчивает работу, он выключает свою настольную лампу, выключает компьютер и уходит (т. е. один из аппаратных потоков выполняет инструкцию HALT).После входа в состояние ядра C1: когда все четыре опытных программиста заканчивают работу, они все выполняют инструкции HALT. Последний из них гасит за собой свет в помещении. (Т. е. снижение тактовой частоты ядра.)Управление электропитанием: состояние ядра C6 После входа в состояние ядра C6: да, я понимаю, что это очевидно, но мне нравится разговаривать с самим собой. С течением времени все уходят на обед. Поскольку в офисе никого нет, можно отключить еще больше электроприборов (т. е. снижение потребляемой мощности). Впрочем, помните, что работники вернутся после обеда, поэтому нужно иметь возможность быстро включить все выключенное.7ab93aecff694b0aa658796bdaf771b4.jpgЗдание, полное опытных программистов, т. е. сопроцессор Intel Xeon Phi

Управление электропитанием: состояния пакета AUTO-C3, DEEP-C3 и C6 Да, эта аналогия могла вам уже поднадоесть, но мне она нравится, так что продолжаем.Давайте пройдем немного дальше. Представьте здание, в котором очень много комнат, больше 60. Посмотрите на рисунок выше. Да, я знаю, что у нас в Кремниевой долине опытные программисты работают в великолепных и просторных комнатах, а не в тесных общих офисах. К сожалению, на этом моя аналогия останавливается, потому что мне нужен именно обычный офис.Вход в состояние пакета Auto-C3: все ушли с этажа, поэтому датчик движения автоматически выключает освещение на этаже. (Т. е. программное обеспечение управления сопроцессором снижает рабочую частоту внеядерных компонентов и прочих вспомогательных элементов кристалла.)Вход в состояние пакета Deep-C3: сейчас выходные, поэтому во всем здании (т. е. в модуле управления электропитанием драйвера сопроцессора MPSS) отключено кондиционирование воздуха и выключена телефонная связь. (Т. е. хост снижает напряжение VccP сопроцессора и заставляет его игнорировать прерывания)Вход в состояние пакета C6: новогодние каникулы: офис закрыт, все сотрудники добровольно или вынужденно отдыхают, поэтому техническая служба офиса отключила электричество, кондиционирование воздуха, телефоны, серверы, лифты, туалеты и пр. (т. е. хост выключил питание сопроцессора и отключил отслеживание трафика PCI Express*).

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

© Habrahabr.ru