Низкое энергопотребление миропроцессоров.

Мотивирующий пример – рынок настольных компьютеров

Процессоры от 8080 до 80486SL в принципе рассеивали корпусом. Малые радиаторы сохранялись на скалярных последних СISC 80486 (без активного охлаждения). Первый «кулер» (активное охлаждение) появился на Pentium-I. Иные процессоры (Pentium-II, Pentium-III, Pentium-4, Athlon, Athlon XP) ставили очередные рекорды в энергопотреблении. Возник рынок устройств, предназначеных для охлаждения и улучшения эргономики (снижения уровня шума), появились водяные системы охлаждения. Существенно увеличились мощности блоков питания (от 200 до 300-400 Ватт). Типичный настольный компьютер превращался в монстра, который просто не вписывался в эргономику дома или квартиры. Новейшие процессоры с повышенной тактовой частотой можно было успешно использовать для отопления небольшого помещения.

С каких-то пор энергопотребление стало выгодным маркетинговым лозунгом (значение которого несколько преувеличивалось, особенно в случае настольных машин). Появилось явное разделение направленности «энергетических» маркетологов на разные сегменты рынка: настольных решений, серверных решений и мобильных решений. Ноутбучные решения: Pentium-M, Celeron-M, Core Duo, Turion, Turion x2, Core Solo, Core 2 Duo. Настольные решения: Athlon-64 Winchester, Venice, Merom.

Самым весомым вкладом стало увеличение срока работы ноутбука от батарей от 2 до 4-х часов. Дальнейшим продвижением в этом направлением стал переход на нормы 28нм, когда с появлением процессоров серии Sandy Bridge потребление системного блока с современным блоком питания 300 Вт составляет всего 50-60 Вт. Перевод серверных процессоров на те же технологические нормы привёл к резкому падению энергопотребления серверных процессоров. Экономические выгоды от перехода на низкопотребляющие процессоры таковы, что гораздо выгоднее приобрести процессор на базе новых технологических норм (22нм, 14нм) и уменьшить мощность системы охлаждения, чем пользоваться старыми серверами.

Однако, только переход на новые производственные нормы (28 и менее нм) не позволяет сам по себе серьёзно сократить энергопотребление процессора. Пример замеров реального потребления системного блока с процессором Sandy Bridge показывает, что при его максимальном термопакете в 65 Вт реальное потребление всего системного блока составляет всего 50-55 Вт. Резкое уменьшение энергопотребления достигается прежде всего за счёт

1) полной ревизии потребления энергии процессором - фактически энергопотребление отдельных блоков регулируется цепями, которые могут как полностью отключать энергию от блока так и регулировать частоту тактового сигнала, поступающего на блок. Таким образом неиспользуемые блоки (векторная обработка, плавающая точка) могут быть выключены полностью;

2) ревизия вспомогательных компонентов - системных шин, уменьшение паразитных токов утечки;

3) оптимизация управления энергии с помощью программных компонент, позволяющих системе переводить процессор в специальные состояния низкого потребеления, например в разы опуская тактовую частоту.

Необходимо понимать, что в случае снижения энергопотребления срабатывает аналог закона Амдала – мы не можем существенно уменьшить энергопотребление системы, уменьшив энергопотребление лишь отдельного компонента… либо же прибегнуть к маркетологической хитрости. С другой стороны без маркетологоческих хитростей ноутбук работает 8 часов без подзарядки, а это практически весь рабочий день.

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

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

Мобильный рынок – мотивирующий пример

Эргономика и удобство применения ставят, в том числе, следующие вопросы:

Параметры энергопотребления устройства диктуются эргономикой.

Кому нужен ноутбук, на котором нельзя работать более 2-х часов? Может ли батарея весить больше чем ноутбук? Мобильное устройство – это комплекс. В определённый момент перед инженерами, пытающимися снизить потребление энергии встаёт вопрос – энергопотребление узла (монитор, винчестер, …) нельзя снизить без существенной деградации его характеристик. Например, в целях уменьшения потребления монитора можно уменьшить диагональ или яркость, но будет ли приятно пользоваться таким устройством.

Цифры

Современные низкопотребляющие платформы

Доля процессора и электроники в общем мала, часто лимитирующим фактором являются дисплей, графическая подсистема и блок питания.

Рынки встраиваемых систем

Несколько лет назад средний американец сталкивался с 35-40 компьютерными устройствами в день (от гаражного замка до компьютера). Сегодня это количество выросло минимум на 50%.

Каким должно быть автономно работающее устройство?

Какова должна быть схема питания такого устройства?

Что может ожидать устройство от схемы питания?

Технологические моменты

Оптимизация потребления питания

Архитектурные решения для снижения потребления

Оптимизация (управления питанием)

Проще всего – остановить процессор

Введения логики запрещения тактового сигнала: если в некоторый момент (интервал) времени устройство не используется, зачем подавать тактовый сигнал?

Оптимизация управления питанием

А если у нас специализированный процессор?

Архитектурные решения

Модель тепловыделения для CMOS процесса

Способы борьбы

Типичный сумматор в CMOS-логике

Как достичь 100000 МФлопс?

Примем, что у нас существует регистровый файл (РФ) с N регистрами

Организация регистрового файла

Трансформации:

Регистровый файл включает

Простой файл

Иерархический файл

Потоковый файл

Схема и размещение регистровой ячейки

Централизованный регистровый файл

РФ с большим количеством портов растёт в размере как Rp2.

Один регистровый файл и N ФУ требует r регистров для обслуживания одного АЛУ и pe+3 портов (два порта на чтение и 1 на запись).

R=rN, p = (pe+3)N; Rp2 ~ N3

(pe – количество портов, соединённых с памятью, кеш-памятью, forwarding-логикой)

Организация распределённого РФ (экстремальная версия)

Локальный регистровый файл имеет один порт записи, один порт чтения, содержит r/2 регистров. Необходимо подключить: N арифметико-логических устройств, peN внешних портов и 2N распределённых РФ. Для большого количества АЛУ имеет смысл организовать их в двухмерный массив и использовать двухуровневый коммутатор (см. рис.)

Каждая строка АЛУ подключается к N1/2 b-битовых шин для передачи результатов к столбцам, и каждый столбец АЛУ требует 2N1/2 b-битовых шин для передачи как минимиум одного значения к каждому и распределённых РФ в этой строке. Так же необходимо наличие дополнительных peN шин данных для подключения дополнительных портов. Как правило, площадь переключателя превышает площадь распределённого РФ.

Задержки

Задержки распространения по линиям связи

Задержки включения и выключения вентилей

Задержка включения/выключения для централизованного РФ превышает задержку распространения при поддержке более чем 10 АЛУ (0.18 мкм), общая задержка растёт пропорционально N3/2

Для распределённого РФ задержка обычно постоянна (2-х портовые файлы), но задержка коммутатора растёт линейно с числом N и превышает время доступа в регистровый файл при подключении более 35 АЛУ

Рассеиваемая мощность

Пропорциональная ёмкости переключающихся элементов. Для централизованного РФ с большим количеством портов – это ёмкость линий проводников. Для количества битовых линий (bR)1/2, которые соединяют (pR)1/2 регистровых ячеек, результирующая ёмкость пропорциональна bR(h+p)Cw

Рассеивание энергии на линиях портов пропорционально p2R.

Общая рассеиваемая энергия растёт пропорционально N3.

Для РФ с малым количеством портов – это ёмкость переключающихся транзисторов. Пропорциональна bRCbit.

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

Для распределённого РФ

Каждый 2-портовый РФ рассеивает постоянную мощность. Но линии связи рассеивают пропорционально N2, их рассеивание становится определяющим при подключении более чем 20 АЛУ. Общая рассеиваемая мощностью растёт как N2.

Централизованный РФ

Количество регистров растёт пропорционально количеству АЛУ. R = (ra+rmT)N, каждое АЛУ требует ra регистров для входных и выходных операндов и rm регистров для сокрытия времени доступа к памяти T.

Количество портов для доступа к АЛУ p=(M+3)N – M портов в память и 3 для получения/передачи данных к каждому АЛУ.

Площадь регистрового файла

поэтому отношение площадей РФ к АЛУ растёт как N3.

Времена задержки – в основном, это время задержки распространения сигнала

задержка централизованного РФ растёт пропорционально N3/2.

Рассеянная мощность – в основном из-за большой ёмкости проводников

поэтому превышение рассеянной мощности в АЛУ и ФУ над рассеянной мощностью в ФУ растёт пропорционально N2.

Централизованный РФ

T – время доступа в память (1 и 40).

Рост площади

Рост задержки (такты)

Рост потребляемой мощности

РФ типа SIMD, распределённые РФ

SIMD-регистр поделен на С кластеров, в каждом N/C АЛУ, отношение площади АЛУ к к площади ФУ растёт как N2/C2.

Распределённый РФ растёт по площади пропорционально N2 – в основном, из-за коммутатора, площадь же самим регистров растёт линейно от N.

Рост площади

Рост задержки (такты)

Рост потребляемой мощности

Иерархический РФ

Рост размера РФ связан с временем доступа в память: rmT регистров для поддержки АЛУ, но количество регистров для операций с АЛУ постоянно – ra. В иерархическом РФ сам РФ разбит на большой суб-РФ с несколькими портами для операций с памятью и временного хранения значений, и меньший РФ с большим количеством портов для подключения АЛУ (например, Крей).

Таким образом площадь регистрового файла вместо получается равной но: существуют дополнительные порты (количеством GN) для соединения обоих файлов, что даёт окончательную площадь но даже в этом случае итоговая площадь гораздо меньше, чем площадь соответствующего централизованного РФ (см. далее).

Иерархическая организация РФ комбинируется с распределёнными реализациями и SIMD-реализациями РФ

Иерархический РФ

Сравнение площадей

Сравнение задержек

Потоковый РФ

Буфер для потоковых вычислений, скрадывающий время доступа к памяти.

Каждый буфер включает rsW регистров, rs – объём буферирования для скрадывания времени доступа в память, W – ширина доступа в РФ.

Один порт потокового РФ должен иметь такую же пропускную способность, как все порты иерархического РФ, поэтому W=(G+M)N, что позволяет уменьшить размер коммутатора, изначально растущий как N2.

Площадь потокового буфера растёт пропорционально N2, и в большинстве случаев гораздо больше площади коммутатора, уменьшение объёма коммутатора способствует некоторому уменьшению времени доступа в буфер.

Потоковый РФ

Сравнение площадей в разных РФ

Сравнение задержки в разных РФ

Рассеянная мощность в разных РФ

Некоторые примеры экономичных архитектур

Atmel SmartARM (ARM7TDMI) - старая базовая модель

ARM Cortex-M0 - современная сверхнизкопотребляющая модель

MSP430 (Texas Instruments)

К сведению: формулы для площади, задержки и мощности

Справочные материалы – формулы для различных организаций РФ

Справочные материалы - параметры

Спасибо за внимание!