Пути снижения энергопотребления во встраиваемых приложениях на базе DSP и FPGA


PDF версия

Бурное развитие портативных устройств и, в тоже время, рост требований к их производительности и функциональности, ставят перед разработчиками встраиваемых систем задачу повышения энергоэффективности используемых решений. В статье представлен обзор методов оптимизации энергопотребления систем на базе DSP и FPGA, рассмотрены особенности архитектуры DSP и FPGA с малой потребляемой мощностью, решения на их базе, а также использование программных инструментов для анализа и минимизации энергопотребления встраиваемых приложений.

Усложнение встраиваемых приложений требует применения более производительных DSP и FPGA, которые должны отвечать возрастающим требованиям по уменьшению габаритов и потребляемой мощности. Чтобы разрешить данное противоречие, разработчики должны найти оптимальное решение, с точки зрения обеспечения требуемых характеристик и ограничения энергопотребления. Кроме того, необходимо обеспечить возможность модернизации и перепрограммирования устройства, что особенно важно для телекоммуникационного и сетевого оборудования.
Тенденция к уменьшению энергопотребления затрагивает самые разные приложения. Например, необходимо обеспечить энергоэффективность портативного медицинского оборудования, которое позволяет быстро выполнить анализ и диагностику заболевания. Огромное количество различных встраиваемых устройств оборудованы дисплеями, которые потребляют значительную часть мощности. В промышленности системы управления электродвигателями рассматриваются как ключевые элементы для повышения общей энергоэффективности производственных процессов.
Какие решения сегодня предлагаются для снижения потребляемой мощности встраиваемых систем на базе DSP и FPGA?

Поиск баланса между производительностью и энергоэффективностью DSP

Раньше для увеличения производительности DSP разработчики увеличивали тактовую частоту крис­талла при переходе на уменьшенные технологические нормы. Это увеличивало эффективность чипа, так как с уменьшением размеров элементов схемы возрастала скорость ее работы. Однако при переходе на топологические нормы менее 90 нм возникла проблема чрезмерного увеличения рассеиваемой мощности. Каждое увеличение тактовой частоты кристалла увеличивает энергопотребление и рассеиваемое тепло.
Одним из путей решения этой проблемы стало использование нескольких более медленных процессоров в одном устройстве, что привело к появлению многоядерных DSP. Это снижает потребляемую мощность, однако требует увеличения площади кристалла. Тем не менее вычислительная мощность устройства возрастает, так как за счет снижения энергопотребления на кристалле можно разместить большее количество процессорных ядер.

Ограничения, связанные с удельной рассеиваемой мощностью

При заданных условиях (корпус и компоновка системы) рассеивания мощности происходит увеличение тепла, генерируемое кристаллом, что приводит к пропорциональному увеличению температуры кремния. В настоящее время высокопроизводительные процессоры уже работают вблизи максимальной допустимой температуры перехода. Поэтому для преодоления этих ограничений необходима новая технология корпусирования кристаллов.
Потребляемая мощность в основном зависит от трех ключевых факторов: рабочей частоты, паразитной емкости и напряжения питания ядра процессора. Мощность пропорциональна частоте, емкости и квадрату напряжения питания.
При технологических нормах менее 90 нм напряжение питания ядра процессора может быть снижено лишь на 5% при переходе на каждый новый уровень технологии. В среднем, общее снижение емкости проводников и транзисторов при таком уменьшении размеров составляет приблизительно 25%. В результате уменьшения длины проводников и паразитной емкости рабочая частота увеличивается в среднем в 1,33 раза при снижении напряжения питания на 5%.
При уменьшении размеров кристалла в два раза удельная рассеиваемая мощность, представляющая собой мощность, рассеиваемую на единицу площади кремния, увеличивается в 1,8 раза при переходе на новые технологические нормы менее 90 нм. На рисунке 1 показана нормализованная удельная мощность проекта при различных технологических нормах.

Рис. 1. Зависимость удельной рассеиваемой мощности от технологического уровня изготовления кристалла DSP

Таким образом, когда температура перехода находится близко к максимально допустимому значению, отвод тепла, рассеиваемый корпусом и кристаллом, следует увеличить примерно в два раза. Чтобы удерживать температуру перехода ниже допустимого уровня, дальнейшее увеличение удельной мощности невозможно. Единственным выходом было бы снижение тактовой частоты примерно на 25% и соответствующее уменьшение производительности кристалла. Следовательно, необходимо решение, которое позволило бы улучшить производительность системы без увеличения рассеиваемой мощности.

Асинхронные схемы — путь выхода из кризиса

Высокоскоростные схемы на базе DSP требуют громоздкой системы тактовых сигналов для синхронизации отдельных блоков системы. Мощные буферные каскады этой системы и проводники межсоединений со значительной емкостью существенно увеличивают энергопотребление кристалла. Система тактовых сигналов не выполняет какие-либо задачи по обработке данных и в то же время потребляет значительную часть мощности. Исключение такой системы позволило бы снизить энергопотребление высокоскоростных процессоров на целых 40%.
В архитектуре современных DSP используется огромное количество промежуточных триггеров и регистров, работающих на высокой частоте. Они также не участвуют в вычислительном процессе и обработке сигнала.
Кроме того, промежуточные триггеры имеют свое время установки и удержания, которое следует вычесть из времени цикла в высокоскоростных системах. При этом дальнейшее увеличение удельной мощности уже невозможно. Следовательно, эти элементы должны работать значительно быстрее одного цикла тактовой частоты. Это вызывает необходимость использования высокоскоростных схем, потребляющих значительную энергию.
Не требующие синхронизации, или асинхронные, схемы всегда имели плохую репутацию в полупроводниковой отрасли из-за проблемы гонки сигналов. Однако некоторые асинхронные чипы все же были реализованы на коммерческом рынке. Например, компания ARM создала асинхронный процессор с весьма малым энергопотреблением. Есть также удачные разработки в области микросхем для Ethernet-коммуникации. Несмотря на это, считается, что асинхронные схемы труднореализуемы и ненадежны. Разработчики стараются избегать асинхронных решений в высокопроизводительных DSP и других сложных схемах.
Однако свежий и открытый взгляд на такие решения позволил бы определить строгую и надежную методологию разработки асинхронных схем. Появление соответствующих инструментов проектирования привело бы к возможности создания эффективной и надежной среды разработки асинхронных схем. В такой среде можно было бы осуществлять моделирование и функциональное проектирование асинхронных схем так же тщательно, как и тактируемых схем.
Некоторые из наиболее существенных преимуществ асинхронных схем связаны с уменьшением потребляемой мощности и эффективным использованием площади кристалла.
В асинхронных схемах нет необходимости учитывать жесткие требования по синхронизации отдельных блоков и, следовательно, они могут быть построены на основе менее мощных каскадов, что снижает общее энергопотребление системы и экономит площадь кристалла.
Кроме того, из-за уменьшения площади кристалла соединительные проводники становятся короче, их паразитная емкость уменьшается, что также способствует снижению потребляемой мощности. В результате уменьшения площади кристалла уменьшается и конечная стоимость продукта.

Интегрирование DSP-ядра и микропроцессора

Во встраиваемых системах присутствуют как алгоритмы обработки сигнала, так и управляющие алгоритмы, которые должны работать вместе, чтобы выполнять необходимые функции. Это взаимодействие организуется в различных приложениях по-разному. В таких приложениях как сотовые телефоны и MP3-плееры проблема традиционно решается путем реализации алгоритмов управления на RISC-процессоре, а обработки сигналов — на DSP. Например, в сотовых телефонах функции обработки сигналов могут включать эхо-подавление или кодирование/декодирование видео- и аудиоданных. Эти алгоритмы эффективно работают на DSP. Управляющее программное обеспечение реализует машину состояний, которая управляет пользовательским интерфейсом, клавиатурой и другими функциями.
Существует несколько проблем, связанных с совместной работой функций обработки сигналов и управления. Например, при реализации сложного приложения на встраиваемой системе отладка функционирования процессорных ядер в режиме реального времени и соответствующее разделение кода может быть весьма трудной задачей из-за необходимости синхронизации двух разных ядер. Многие сложные приложения, такие как обработка видеосигналов, трудно разделить между ядрами. Основной проблемой разделения системного приложения является то, что каждое ядро требует свою внешнюю подсистему памяти, что увеличивает общее энергопотребление системы. Кроме того, требуется обеспечить управление этими независимыми подсистемами памяти; зачастую каждое ядро должно управлять своим набором периферии для того, чтобы обеспечить обмен данными. Это также приводит к увеличению энергопотребления и дополнительной загрузки системных коммуникаций.
Альтернативный подход заключается в объединении DSP и микропроцессора в одном устройстве, которое можно осуществить путем добавления DSP-команд к RISC-ядру. Это могут быть команды умножения или аккумулирования, команды для выполнения специальных видов адресации и др. Такой метод объединения ресурсов обеспечивает несколько преимуществ, одним из важнейших из которых является работа лишь одного приложения в исходном формате под управлением ОС, что упрощает проектирование, облегчает интеграцию и ускоряет время разработки.

Добавление DSP-команд в RISC-ядро

Интегрирование DSP-блока в RISC-архитектуру приводит к дополнительному параллелизму выполнения команд и более эффективному разделению ресурсов, включая периферию и память. Кроме того, DSP-алгоритмы могут выполняться быстрее за счет использования более быстродействующей RISC-архитектуры.
Однако RISC-архитектура основана на принципе загрузки с запоминанием и использует набор команд общего назначения, что может негативно отражаться на производительности. Для решения этой задачи система команд RISC-процессоров может быть дополнена DSP-расширениями для поддержки таких DSP-алгоритмов как умножение и аккумулирование и специализированными блоками для обработки графики и изображений.
Так как один процессор со встроенным RISC/DSP-ядром выполняет работу двух устройств, отпадает необходимость в коммуникации между процессорами. Единое ядро позволяет осуществлять динамическое распределение DSP-кода и управляющего кода при изменении системных требований или внешних условий. Кроме того, эта модель обеспечивает более быстрое контекстное переключение и меньшее потребление ресурсов из-за отсутствия дублирования периферии или памяти. Интеграция большего количества функциональных блоков в одном устройстве позволяет также снизить энергопотребление системы и обеспечивает другие преимущества (стоимость, производительность и размер кристалла)
Можно использовать различные подходы для реализации DSP на процессоре общего назначения. Разработчики могут добавлять специализированные команды с многокомпонентными данными и расширения (например, команды Multi-Media Extension (MMX) в процессоре Pentium) или использовать каналы данных для выборки нескольких операндов, подобных реализованным в DSP с фиксированной точкой (например, в процессоре Hitachi SH-DSP). DSP-сопроцессор может быть добавлен в процессорное ядро, как реализовано в архитектуре NEON компании ARM. Разработчики могут также создать гибридные архитектуры, например такие, как в процессоре TriCore компании Infineon.

Архитектуры процессоров со встроенными функциями DSP

В архитектуре NEON компании ARM SIMD-команды допускают параллельную обработку до 16 элементов, что увеличивает скорость работы медиа- и DSP-приложений. Они тесно связаны с ядром (см. рис. 2), и такая интеграция обеспечивает общий доступ к памяти, которая может быть использована ARM-ядром. Это позволяет задействовать единый поток команд, что ускоряет разработку всего приложения.
Подобная архитектура хорошо подходит для таких приложений как сотовые телефоны стандарта 3G. В этих приложениях DSP-подсистема данных могла бы быть использована для специализированной обработки, например, видеокодирования; ARM-ядро с DSP-расширениями — для аудио- и видеодекодирования, а RISC-подсистема — для пользовательского интерфейса и обработки стека протоколов.
Архитектура TriCore (см. рис. 3) сочетает RISC-архитектуру загрузки с запоминанием с DSP-подобной гарвардской архитектурой. В ней используется 32-разрядная адресная шина и 64-разрядные шины памяти программ и данных. Само ядро не содержит память, однако может быть переконфигурировано разработчиком. Суперскалярная архитектура содержит 32-разрядный канал данных с фиксированной точкой, блок загрузки и запоминания и блок программного управления. Это устройство может выполнять до трех команд за цикл, что требуется для высокопроизводительных DSP-приложений.

Рис. 2. Процессорная архитектура NEON компании ARM
Рис. 3. Процессорная архитектура TriCore

Эта архитектура поддерживает также следующие режимы DSP-адресации, включая косвенную регистровую адресацию: индексную, циркулярную и адресацию с инвертированием разрядов.
Таким образом, ключевыми пре­имуществами использования интегрированного RISC/DSP-процессора для встраиваемых систем реального времени являются следующие.
– Единая архитектура объединяет свойства DSP и микроконтроллера без ущерба для производительности процессора.
– Быстрое переключение между задачами DSP и микроконтроллера позволяет интегрированному ядру действовать подобно виртуальному процессору.
– Более крупные блоки встроенной памяти (RAM, ROM) увеличивают производительность и снижают энергопотребление системы.
– Интегрированная архитектура обеспечивает непосредственное управление встроенной периферией без дополнительной логики связи.

Использование FPGA во встраиваемых приложениях с малым энергопотреблением

Микросхемы программируемой логики — FPGA — с их гибкостью и возможностью адаптации к изменяющимся условиям играют все более существенную роль во многих встраиваемых приложениях, включая те, для которых ключевым требованием является малая потребляемая мощность. Однако не все устройства программируемой логики подходят для малопотребляющих систем. Некоторые из современных маломощных FPGA потребляют ток до 30 мА, что зачастую на порядок или на два превышает предельные значения для портативных устройств с батарейным питанием. В FPGA на базе SRAM наблюдаются всплески потребления энергии при включении питания и при загрузке конфигурации во время системной инициализации. Кроме того, для конфигурирования таких FPGA требуется специальное внешнее устройство (например, загрузочная PROM или микроконтроллер).
FPGA на основе флэш-памяти не требуют внешней памяти, в которой была бы записана конфигурация устройства для поддержки при каждом включении питания прибора и при системной загрузке. Исключение дополнительных компонентов, которые требуются для FPGA на базе SRAM, не только уменьшает площадь печатной платы и мощность, рассеиваемую системой, но также повышает надежность и снижает общую стоимость системы на целых 70%, по сравнению с подобными решениями на основе SRAM.
В общем случае, мощность, потребляемая FPGA, состоит из статической и динамической составляющей. Статическая мощность определяется токами утечки, когда устройство включено, сконфигурировано и находится в состоянии покоя. Динамическая мощность потребляется, когда устройство находится в активном рабочем режиме. До последнего времени динамическая мощность доминировала в общем энергопотреблении (см. рис. 4). Уменьшение технологических размеров и, соответственно, переход на более низкое напряжение питания помогало решить проблему роста динамической мощности потребления. Однако в настоящее время дальнейшее масштабирование схем становится затруднительным.

Рис. 4. Рост динамической и статической мощности FPGA в зависимости от технологического уровня

Проблему осложняет то, что при каждом масштабировании технологического процесса увеличивается статическая составляющая мощности потребления FPGA на основе SRAM, что обусловлено явлениями квантового туннелирования и предпороговой утечкой. В результате, статическая составляющая мощности потребления становится доминирующей.
При проектировании системы на базе SRAM FPGA, кроме статической и динамической мощности, необходимо учитывать еще три режима энергопотребления: включение питания (запуск), конфигурирование и различные режимы низкого энергопотребления. Мощность, потребляемая во время запуска и конфигурирования, может быть довольно значительной, и это необходимо принимать во внимание при разработке системы питания и выборе емкости батарей. В полностью энергонезависимой FPGA на базе флэш-памяти отсутствуют режимы запуска и конфигурирования, что упрощает задачу проектирования и снижает общее энергопотребление системы (см. рис. 5).

Рис. 5. Мощность, потребляемая SRAM FPGA и флэш-FPGA

Так как энергонезависимая FPGA на основе флэш-памяти не использует миллионы ячеек SRAM, потребляющих значительную мощность, они имеют значительно меньшую статическую мощность потребления, что делает их идеальными для приложений, критичных к рассеиваемой мощности. Кроме того, улучшается быстродействие, и обеспечивается надежность и безопасность системы.
Одним из важнейших приложений с жесткими требованиями по потребляемой мощности является портативное медицинское оборудование. Эти приборы должны отвечать высоким требованиям по надежности, многофункциональности (встроенные возможности), обладать коммуникационными возможностями и способностью к регистрации данных.
Сегодня от современной медицинской техники ожидают больше, чем измерения и мониторинга параметров. Некоторые из приборов регистрируют и анализируют данные и пересылают их в медицинские учреждения. Например, приборы для измерения уровня инсулина в настоящее время оборудованы коммуникационными портами (ИК и беспроводными) для передачи результатов измерений в режиме реального времени на ПК или дозатор инсулина.
На рисунке 6 показана блок-диа­грамма медицинского прибора, на которой представлены функциональные блоки, реализуемые с помощью FPGA (выделены цветом). Эти функции могут быть выполнены с помощью индивидуального перепрограммируемого устройства либо встроены в более крупную FPGA.

Рис. 6. Блок-схема портативного медицинского прибора, некоторые функции которого реализованы на FPGA

Другим приложением, в котором FPGA с малым энергопотреблением могут играть существенную роль, являются дисплеи. В портативных приборах LCD-дисплеи могут потреблять до 50% общей энергии приложения, что заставляет искать приемлемое решение по улучшению энергоэффективности системы. Некоторые FPGA с энергопотреблением до 5 мВт позволяют построить контроллер LCD-дисплея, который обеспечивает малую потребляемую мощность, в то же время сохраняя содержимое системной памяти и регистров данных. В результате, использование FPGA позволяет поддерживать работу LCD-дисплея в дежурном режиме (с отключением подсветки), что сохраняет заряд батарей.
Для улучшения энергэффективности многие поставщики FPGA FPGA встраивают микроконтроллерные и микропроцессорные ядра в свои приборы. Некоторые из таких приборов потребляют всего 24 мкА в статическом режиме и 3 мкА — в дежурном. Компания Actel использует режим Flash Freeze, который обеспечивает быстрое переключение между режимами сверхнизкого энергопотребления и в то же время сохранение данных в SRAM и регистрах. Данный режим позволяет уменьшить ток покоя устройства до 20 мкА. Это примерно в 200 раз меньше, чем у конкурирующих приборов.
Подобные преимущества можно получить и в FPGA смешанного сигнала. Такие микросхемы содержат программируемую логику, RAM, флэш-память и аналоговые блоки на одном кристалле. Увеличенная функциональность этих устройств позволяет исключить с платы такие компоненты как флэш-память, некоторые аналоговые микросхемы, источники тактового сигнала, EEPROM и часы реального времени, что уменьшает стоимость, габариты системы и общее энергопотребление.
При проектировании системы важ­но выбрать FPGA, которая позволяет оптимизировать использование таких ресурсов как RAM, блок ФАПЧ и порты ввода/вывода. При выборе архитектуры FPGA нужно учитывать наличие всех режимов низкого энергопотребления и других возможностей для экономии энергопотребления таких блоков как ФАПЧ, RC-генераторы и банки ввода/вы­вода.
При разработке системы синхронизации встраиваемого приложения важно точно рассчитать, какие блоки системы нуждаются в быстром тактовом сигнале, а какие — в более медленном, так как частота переключения влияет на динамическую рассеиваемую мощность.
Динамическая мощность также сильно зависит от топологии и разводки кристалла. Необходимо по возможности располагать связанные блоки схемы поблизости друг от друга, так как при уменьшении длины провод­ников емкостная нагрузка уменьшается и рассеиваемая мощность падает. Современные программные средства разработки FPGA способны оптимизировать топологию схемы в целях снижения энергопотребления. В зависимости от количества тактовых сигналов и узлов в схеме можно добиться снижения энергопотребления до 25%.
Для улучшения энергоэффективности системы используют также выборочное снижение напряжения питания отдельных блоков чипа или определенных микросхем на плате. Реализация нескольких шин питающих напряжений, не связанных друг с другом, позволяет осуществлять выборочное отключение определенных блоков FPGA.
Для снижения энергопотребления может быть также использована макрооптимизация. Некоторые стандартные логические элементы могут предлагаться в различных версиях, оптимизированных для высокой производительности, высокой плотности упаковки или низкой мощности потреб­ления. Высокопроизводительные версии рассеивают большую мощность, поэтому снижение мощности потребления может быть достигнуто при применении высокопроизводительных макросов, только когда они требуются. Например, быстрый сумматор потребляет в 10 раз больше энергии, чем более медленный сумматор со сквозным переносом.

Инструменты анализа и оптимизации энергопотребления

Для минимизации энергопотребления FPGA и ускорения цикла проектирования разработчики используют программные инструменты, оптимизирующие рассеиваемую устройством мощность. Это могут быть как инструменты разработки топологии, так и средства анализа рассеиваемой мощности.
С помощью инструментов разработки топологии можно проверить все межсоединения между функциональными блоками схемы и рассчитать энергопотребление тех узлов, которые имеют большую величину произведения частоты на паразитную емкость. В основном, это касается системы тактового сигнала, так как эти цепи обычно имеют наибольшую емкость и рабочую частоту.
Обычно в результате моделирования формируется файл VCD (Value Change Dump), используемый в качестве исходного для генерации топологии и точного анализа потребляемой мощности. В VCD-файле представлен отчет о параметрах определенного узла схемы во время его работы. Для выполнения оптимизации энергопотребления схемы необходимо вначале разработать топологию схемы в режиме расчета временных соотношений, выполнить обратное аннотирование, запустить моделирование для генерации VCD-файла, импортировать VCD-файл в проект и выполнить проверку топологии в режиме расчета энергопотребления.
Как было сказано выше, проектируемые схемы могут работать в комбинированных режимах. Некоторые инструменты анализа потребляемой мощности представляют данные о средней потребляемой мощности на основе графика работы устройства, когда инженер задает время работы устройства в определенном режиме энергопотребления. Это удобно для выбора подходящей для приложения батареи, так как срок ее службы значительно увеличивается при работе устройства в режиме энергосбережения.
Наконец, в некоторых инструментах анализа VCD-файл, полученный в результате моделирования, можно использовать для определения пиковой мощности в течение тактового цикла или за несколько циклов. Эта возможность позволяет точно определить момент времени или номер тактового цикла, когда потребляется максимальная мощность, что позволяет дополнительно уменьшить энергопотребление схемы.

Заключение

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

Литература
1. Robert Oshana. Embedded applications using integrated DSP and microprocessor cores//www.dsp-fpga.com/articles/id/?2546.
2. Doug Morrissey. Power vs. performance: The ultimate DSP design challenge//www.dsp-fpga.com/articles/id/?4048.
3. Christian Plante. The drive to lower power//www.dsp-fpga.com/articles/id/?3951.
4. Fred Wickersham. Design techni­ques for FPGA power optimization//www.dsp-fpga.com/articles/id/?4044.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *