Введение

Оптимизация энергопотребления — это использование средств автоматизированного проектирования электроники для оптимизации (снижения) потребляемой мощности цифровой схемы, например, интегральной микросхемы, с сохранением её функциональности.

Введение и история

Растущая скорость и сложность современных разработок влечет за собой значительное увеличение энергопотребления очень больших интегральных схем (VLSI). Для решения этой задачи исследователи разработали множество различных методов снижения энергопотребления. Сложность современных интегральных схем, содержащих более 100 миллионов транзисторов с тактовой частотой более 1 ГГц, означает, что ручная оптимизация энергопотребления была бы невыполнимо медленной и, скорее всего, содержала бы ошибки. Инструменты и методологии автоматизированного проектирования (CAD) являются обязательными. Одной из ключевых особенностей, обеспечивших успех технологии КМОП (CMOS), было ее изначально низкое энергопотребление. Это позволяло разработчикам схем и средствам автоматизированного проектирования электронных устройств (EDA) сосредоточиться на максимизации производительности и минимизации площади схемы. Еще одной важной особенностью технологии КМОП являются ее хорошие масштабируемые свойства, которые обеспечили устойчивое уменьшение размеров элементов (см. закон Мура), позволяя создавать все более сложные системы на одном чипе, работающие на более высоких тактовых частотах. Проблемы, связанные с энергопотреблением, возникли с появлением первых портативных электронных устройств в конце 1980-х годов. На этом рынке время автономной работы от батареи является решающим фактором коммерческого успеха продукта. Примерно в то же время стало очевидным, что увеличение интеграции активных элементов на единицу площади кристалла приведет к недопустимо высокому энергопотреблению интегральной схемы. Высокий абсолютный уровень мощности нежелателен не только по экономическим и экологическим причинам, но и создает проблему теплоотвода. Для поддержания рабочей температуры устройства на приемлемом уровне избыточное тепло может потребовать дорогостоящих систем охлаждения. Эти факторы способствовали тому, что энергопотребление стало одним из основных параметров проектирования, наряду с производительностью и размером кристалла. Фактически, энергопотребление рассматривается как ограничивающий фактор дальнейшего масштабирования технологии КМОП. Для решения этой задачи в последнее десятилетие активно ведутся исследования по разработке средств автоматизированного проектирования (CAD), решающих задачу оптимизации энергопотребления. Первоначальные усилия были направлены на инструменты уровня схемы и логики, поскольку на этом уровне инструменты CAD были более зрелыми и позволяли лучше контролировать ситуацию. Сегодня большинство исследований в области CAD направлены на оптимизацию на системном или архитектурном уровне, что потенциально может оказать большее общее влияние, учитывая широту их применения. Наряду с инструментами оптимизации необходимы эффективные методы оценки энергопотребления, как для определения соответствия потребления схемы заданному целевому значению, так и для относительной оценки энергетических преимуществ различных альтернатив при исследовании пространства проектирования.

Оптимизация мощности на уровне цепи

Для снижения энергопотребления на уровне схемы используется множество различных методов. Некоторые из основных из них:
Изменение размеров транзисторов: регулировка размеров отдельных логических элементов или транзисторов для достижения минимального энергопотребления. Масштабирование напряжения: снижение напряжения питания позволяет снизить энергопотребление, но приводит к уменьшению быстродействия. Разделение по областям питания: различные блоки могут работать при разных напряжениях, что позволяет экономить энергию. Эта конструкторская практика может потребовать использования преобразователей уровней при взаимодействии двух блоков с разными напряжениями питания. Переменное VDD: напряжение питания для отдельного блока может изменяться в процессе работы – высокое напряжение (и высокое энергопотребление) при необходимости высокой скорости работы блока и низкое напряжение, когда допустима медленная работа. Множественные пороговые напряжения: современные технологические процессы позволяют создавать транзисторы с различными пороговыми напряжениями. Энергию можно сэкономить, используя комбинацию CMOS-транзисторов с двумя или более различными пороговыми напряжениями. В простейшем случае доступны два различных порога, обычно называемые High Vt и Low Vt, где Vt обозначает пороговое напряжение. Транзисторы с высоким порогом медленнее, но имеют меньшие токи утечки и могут использоваться в некритических схемах. Power gating (управление питанием): эта техника использует транзисторы с высоким пороговым напряжением (sleep transistors), которые отключают блок схемы, когда он не активен. Размер sleep-транзистора является важным конструктивным параметром. Эта техника, также известная как MTCMOS (Multi Threshold CMOS), снижает энергопотребление в режиме ожидания или токи утечки, а также позволяет проводить тестирование Iddq. Транзисторы с увеличенной длиной канала: транзисторы с длиной канала больше минимальной имеют меньшие токи утечки, но занимают большую площадь и работают медленнее. Состояния наложения и удержания: логические элементы могут иметь разные токи утечки в логически эквивалентных состояниях (например, 10 на схеме NAND вместо 01). В некоторых состояниях конечные автоматы могут демонстрировать меньшие токи утечки. Логические стили: динамическая и статическая логика, например, имеют различные компромиссы между скоростью и энергопотреблением.

Поддержка EDA Power Aware

Существуют форматы файлов, которые можно использовать для записи файлов проекта, определяющих требования к энергопотреблению и реализацию проекта. Информация в этих файлах позволяет инструментам EDA автоматически внедрять функции управления питанием и проверять соответствие результата заданным требованиям. IEEE DASC предоставляет платформу для разработки этого формата в рамках рабочей группы IEEE P1801. В 2006 и первые два месяца 2007 года были разработаны Унифицированный формат энергопотребления и Общий формат энергопотребления для поддержки различных инструментов. Рабочие группы IEEE P1801 работают над сближением этих двух стандартов. Для поддержки оценки энергопотребления на архитектурном уровне были разработаны несколько инструментов EDA, включая McPAT, Wattch и Simplepower.