Техническое руководство по Dsp процессору питания и режимы сна
Цифровые процессоры сигналов (DSP) незаменимы в современных встроенных системах, обрабатывая обработку в реальном времени для таких приложений, как аудиокодеки, беспроводная связь, управление двигателем и обработка изображений. По мере роста сложности системы растет спрос на энергоэффективность, особенно в устройствах с батарейным питанием, где каждый милливатт имеет значение. Два краеугольных метода снижения энергопотребления DSP - это режимы сна [FLT: 1] и [FLT: 2]. Это техническое руководство исследует как глубину, охватывая их основные принципы, компромиссы реализации, стратегии интеграции и практические соображения для дизайнеров. В конце вы поймете, как объединить эти методы для достижения значительной экономии энергии при сохранении производительности в реальном времени.
Фундаментальные основы Power Gating
Что такое Power Gating?
Силовое затворничество — это метод проектирования, который выборочно отключает логический блок от источника питания, когда он не нужен. В то время как затворное затворничество уменьшает динамическую мощность, останавливая часы, затворное затворничество атакует статичную (утечку) мощность , которая стала доминирующей в продвинутых технологических узлах (например, 28 нм и ниже). Ток затвора проходит через транзисторы, даже когда они выключены, теряя энергию и генерируя тепло. Затвор затвора устраняет эти отходы, полностью отрезая рельс питания в простаивающие области.
На уровне транзистора, забивание мощности реализуется с использованием переключателей мощности — обычно высокопороговых (высоковольтных) MOSFET, которые действуют как заголовки (между VDD и виртуальным VDD) или нижние колонтитулы (между виртуальными GND и GND). Когда область активна, переключатели включаются, обеспечивая путь с низкой устойчивостью. При холостом, переключатели выключаются, изолируя область и уменьшая утечку до незначительных уровней. Переключатели рассчитаны на обработку максимального тока спроса при минимизации ИК-падения во время активной работы.
Рассмотрение осуществления
Развертывание электропитания в DSP требует тщательного внимания к следующим элементам:
- Мощные домены: Чип разбит на несколько островов напряжения. Каждый остров может быть независимо закрыт. Типичный DSP может иметь отдельные домены для ядра, памяти, периферийных устройств и аппаратных ускорителей.
- Сохранение состояния: Если закрытый блок содержит состояние (регистр, SRAM), то это состояние должно быть сохранено до выключения питания. Сохранение flip-flops (также называемый «балетными» регистрами) или небольшой всегда включенный домен питания может сохранять критические данные. Многие DSP используют регистры удержания , которые работают из отдельного, непереключенного источника.
- Секвенирование управления: Включение или выключение переключателей питания приводит к сбоям тока и напряжения впуска. Тщательно спланированная последовательность — например, включение переключателей по одному за раз — предотвращает отключение питания. То же самое относится и к выключению: состояние должно быть сохранено, часы стабилизированы, а затем переключатели открыты.
- Падение ИК и электромиграция: Виртуальные рельсы питания имеют более высокое сопротивление, поэтому размещение переключателя питания и размер межсоединения должны обеспечивать приемлемое падение напряжения при пиковой нагрузке.
Преимущества и торговые операции
Преимущества:
- Уменьшает мощность утечки до 99% в холостых блоках.
- Позволяет увеличить срок службы батареи и снизить тепловой рассеивание.
- Позволяет более тонкое гранулярность управления питанием, не влияя на активную работу.
Товарные позиции:
- Накладные расходы от переключателей питания и логики удержания (обычно 5-15% на затворную область).
- Энергия пробуждения и задержка: включение блока стоит как времени, так и динамической мощности для зарядки виртуального рельса и восстановления состояния.
- Повышенная сложность проектирования в физической компоновке и верификации.
Для более глубокого изучения реализации определения мощности в SoC на основе DSP, обратитесь к TI Управление питанием для устройств DSP .
Глубокий погружение в режимы сна
В то время как энергозатраты являются аппаратно-ориентированным подходом, спящие режимы объединяют аппаратное и программное обеспечение, чтобы поместить DSP в состояние с низкой мощностью, когда позволяет рабочая нагрузка. Сонный режим обычно включает остановку часов, отключение PLL и необязательно снижение напряжения - часто в сочетании с энергозатратами.
Таксономия режима сна
Процессоры DSP обычно предлагают несколько уровней сна, каждый из которых позволяет сэкономить электроэнергию при задержке пробуждения:
- Режим работы без спящего режима: Часы процессорного ядра закрыты, но все рельсы питания остаются на. Кэш и содержимое регистра сохранены. DSP может возобновляться в несколько тактовых циклов. Типичная экономия тока: 30-60%.
- Режим работы: Основное напряжение снижается (через DVFS или отдельный регулятор малой мощности), и большинство периферийных часов запираются. Основной PLL может быть выключен. Более быстрый источник часов (например, всегда включенный RC осциллятор) поддерживает основное время. Задержка пробуждения: 10-100 мкс.
- Глубокий режим сна: Большая часть чипа питается от питания через электропитание. Активным остается лишь небольшой «всегда включенный» домен, содержащий контроллер пробуждения, часы реального времени и некоторые регистры удержания. Вся другая логика теряет состояние, если не сохраняется в энергонезависимой памяти. Время пробуждения может составлять 1-10 мс.
- Режим выключения: Весь чип выключен, за исключением нескольких контактов ввода/вывода. Этот режим достигает самой низкой утечки, но требует полной последовательности загрузки после пробуждения.
Например, аудио DSP, обрабатывающий речевой кодек, может использовать режим ожидания между голосовыми кадрами (каждые 10-20 мс), в то время как сенсорный концентратор может входить в глубокий сон в течение длительных периодов бездействия пользователя.
Сохранение и память государства
Режимы глубокого сна часто полагаются на удерживающую SRAM, которая работает от всегда включенного источника. Удерживающая SRAM потребляет примерно 10-30% своей активной утечки, но сохраняет данные неповрежденными. Для файлов реестра используются флип-флопы удержания. Типичный флоп удержания добавляет вторую защелку, питаемую изолированным источником. Во время сна основной флоп удерживает энергию, но защелка удержания сохраняет состояние. Этот метод добавляет около 30-50% площади на регистр, но необходим для большинства трубопроводов DSP, которые должны быстро возобновляться.
Задержка и механизмы пробуждения
Выход из режима сна требует чистой последовательности: восстановить питание, включить часы, стабилизировать PLL и возобновить выполнение. Общее время пробуждения доминирует время блокировки PLL (если выключен) и зарядка конденсатора. Выделенные контроллеры пробуждения управляют этими шагами автономно. Общие источники пробуждения включают:
- Обнаружение края на GPIO-пинах
- Исход таймера от осциллятора малой мощности
- Прерывания от активных периферийных устройств (например, UART, USB)
В некоторых проектах небольшой сопроцессор остается включенным во время глубокого сна для предварительного обработки событий пробуждения, что еще больше снижает основную активность DSP.
Пример: Qualcomm Hexagon DSP Sleep States
Семейство Hexagon DSP (используется в SoC Snapdragon) поддерживает несколько состояний сна, включая режим удержания , где напряжение ядра падает чуть выше порога удержания (< 0.6 V), and a ]Обвал мощности (PC) , где ядро полностью закрыто. Пробуждение от режима ПК занимает около 100 мкс, в то время как режим удержания восстанавливается менее чем в 1 мкс. Менеджер питания платформы выбирает состояние на основе мониторов активности аппаратного обеспечения. Для более подробной информации см. эту статью EE Times об управлении питанием DSP .
Интеграция режимов питания и сна
Для максимизации энергоэффективности должны работать согласованно режимы питания и сна. Типичный переход от полной работы к маломощному состоянию предполагает несколько этапов:
Координированная переходная последовательность
- Программное обеспечение инициировано: Операционная система или прошивка DSP записывается в регистр управления питанием, запрашивая запись в определенное состояние сна.
- Часы и сохранение состояния: DSP сохраняет регистры для хранения (внутренние или внешние). Все процессорные часы остановлены.
- Изоляция энергетического домена: Блок управления питанием (PMU) активирует изоляционные ячейки между закрытым доменом и всегда включенными областями для предотвращения плавающих входов.
- Мощность затвора: PMU открывает переключатели заголовка/футера, отключая виртуальный источник питания.В некоторых конструкциях PMU также снижает напряжение до уровня удержания перед открытием переключателей (чтобы минимизировать ввод при включении питания).
- Проснись: На волновом событии PMU восстанавливает мощность, ждёт стабилизации питания, включает часы и выпускает сброс. DSP загружается в векторный обработчик, который восстанавливает контекст из памяти удержания.
Контрольная логика и блок управления питанием
PMU — это специализированная машина с конечным состоянием, которая управляет переходами состояния мощности. Она обрабатывает временные ограничения, управление регулятором напряжения и секвенирование переключателей питания. Advanced PMU также поддерживает адаптивное масштабирование напряжения (AVS) для точной настройки напряжения на основе технологических и температурных изменений. Хорошо спроектированный PMU может переходить между активными, холостыми и глубокими состояниями сна в микросекундах, обеспечивая целостность данных.
Софтверные соображения
Со стороны программного обеспечения, фреймворк управления питанием координирует состояния сна по всей системе. Например, в Linux, губернатор CPUIdle выбирает состояния сна для ядра DSP, в то время как подсистема DEVPM обрабатывает периферийное питание. Операционные системы реального времени, такие как FreeRTOS, обеспечивают бесщекотные режимы простоя, которые позволяют DSP входить в более глубокие состояния сна между выполнением задач.
Ключевые обязанности программного обеспечения включают:
- Прогнозирование продолжительности холостого хода для выбора оптимального уровня сна.
- Сохранение и восстановление контекста (включая регистрационные файлы и теги кэша).
- Управление задержками прерывания, чтобы критические сроки в реальном времени все еще соблюдались после пробуждения.
Для практического руководства по внедрению см. серию встроенных.com по управлению питанием DSP .
Комбинирование с DVFS
Динамическое напряжение и частотное масштабирование (DVFS) дополняют спящие режимы. Вместо того, чтобы отключать блок, DVFS снижает свою рабочую точку во время более легких рабочих нагрузок. Например, DSP может работать при 1,2 В и 800 МГц при большой нагрузке, затем падать до 0,9 В и 400 МГц, когда в состоянии низкой активности. Когда блок полностью простаивает, энергозатраты берут верх. Комбинация DVFS и спящих режимов может дать 50-70% общей экономии энергии по сравнению с фиксированной конструкцией питания.
Передовые технологии
Адаптивное питание
Современные DSP используют мониторы активности (например, счетчики на путях передачи данных, очереди вопросов инструкций) для динамического решения того, какие подблоки к затвору питания. Если блок многократного накопления (MAC) был простаивает для N циклов, контроллер автоматически закрывает свою мощность. Этот мелкозернистый подход требует небольших переключателей питания и быстрого пробуждения (< 1 cycle) to be effective. Some processors implement ]: переключатели питания включаются с задержкой на основе прогнозируемой продолжительности простоя.
Многоуровневый дизайн и сдвиговые устройства уровней
Когда разные домены мощности работают при разных напряжениях (например, ядро при 0,8 В и периферийное при 1,2 В), на границах сигнала должны быть вставлены сдвигатели уровня . Сами сдвигатели уровня потребляют мощность, поэтому они часто размещаются внутри всегда включенного домена. Использование одного полностью интегрированного регулятора напряжения на домен упрощает конструкцию, но добавляет площадь. И наоборот, общие регуляторы требуют секвенирования напряжения и могут ограничивать независимое управление доменом.
Прекрасно выработанная силовая мутация
Вместо того, чтобы склеивать целые ядра, некоторые архитектуры DSP затворивают отдельные функциональные блоки — ALU, множитель, переключатель, блок загрузки / хранения. Это особенно полезно в векторных процессорах, где некоторые полосы могут быть простаивающими. Для измерения мощности при этой детализации требуются сложные часы и сеть питания, а также распределение ресурсов в реальном времени. Дополнительные накладные расходы оправданы в таких приложениях, как обработка базовой полосы, где высокое использование варьируется в параллельных элементах обработки.
Практические соображения для дизайнеров
Инструменты анализа мощности
Эффективная реализация начинается с точной оценки мощности. Такие инструменты, как PrimePower (Synopsys) или Redhawk (Ansys) имитируют утечку, динамический ток и падение ИК во всех областях. Дизайнеры используют их для проверки того, что определение мощности дает чистую экономию при рассмотрении затрат на пробуждение. Типичный анализ включает:
- Порог времени простоя (точка безубыточности) для закрытого блока.
- Влияние тока включения на сеть электроснабжения.
- Утечка удержания против состояния восстановления энергии.
Тестирование и валидация
Проверка мощности галочки является сложной задачей, потому что переходы не должны повреждать данные. Необходима проверка состояния на скорости. Сканирование цепей часто включает в себя регистры сканирования удержания , которые позволяют тестировщику читать/записывать сохраненные данные после цикла сна. Ток сна измеряется с использованием выделенных тестовых режимов, которые удерживают чип в определенном состоянии с низким энергопотреблением. Вставка DFT (дизайн для тестирования) для галочки питания включает в себя тестовые обертки, которые изолируют каждый домен.
Влияние на надежность
Частое забивание мощности может ускорить электромиграцию (EM) из-за высоких скачков тока во время пробуждения. Сеть переключателей питания должна быть спроектирована с достаточным запасом для обработки пиковых токов в течение срока службы чипа. Кроме того, горячее впрыскивание несущей (HCI) и отрицательная нестабильность температуры смещения (NBTI) деградирует транзисторы при напряжении высокого напряжения; забивание мощности снижает напряжение во время простоя, что может фактически повысить надежность, если переходы управляются правильно. Такие методы, как деутверждение затвора питания с контролем за током рампы помогают смягчить EM.
Выводы и будущие тенденции
Мощность и режимы сна являются не только дополнительными функциями - они необходимы для современных DSP, которые должны обеспечивать высокую производительность в рамках ограниченных бюджетов мощности.Понимая взаимодействие транзисторного уровня, удержание состояния и программно-ориентированные иерархии сна, инженеры могут проектировать системы, которые балансируют экономию энергии с отзывчивостью в реальном времени.
Заглядывая вперед, такие тенденции, как почти пороговые вычисления (где напряжения питания приближаются к порогу транзистора), будут дополнительно сжимать утечку, требуя еще более точного определения мощности. Рост вывода о машинном обучении на периферийных устройствах приводит к тому, что архитектуры DSP с сотнями небольших обрабатывающих элементов, каждый из которых независимо энергозависим. Нелетучие технологии памяти (например, MRAM, FeRAM) могут в конечном итоге заменить удержания флип-флопс, полностью устраняя статическую утечку во время глубокого сна. Основные принципы, обсуждаемые здесь, останутся основой, на которой построены эти инновации.
Для дальнейшего чтения по продвинутому управлению мощностью DSP, обратитесь к примечанию NXP о методах с низким энергопотреблением для SoC на основе DSP и ARM Power Management Guide (релевантно для ядер DSP на основе ARM).