stringtranslate.com

Стробирование часов

В архитектуре компьютера стробирование тактовых импульсов является популярным методом управления питанием, используемым во многих синхронных схемах для снижения динамического рассеивания мощности путем удаления тактового сигнала , когда схема или ее часть не используется или игнорирует тактовый сигнал. Стробирование тактовых импульсов экономит энергию , обрезая дерево тактовых импульсов за счет добавления в схему дополнительной логики. Обрезка тактовых импульсов отключает части схемы, так что триггеры в них не переключают состояние, поскольку переключение состояния потребляет энергию. Когда они не переключаются, потребление мощности переключения стремится к нулю, и возникают только токи утечки . [1]

Хотя асинхронные схемы по определению не имеют глобальных «часов», термин «идеальное стробирование часов» используется для иллюстрации того, как различные методы стробирования часов являются просто приближениями зависимого от данных поведения, демонстрируемого асинхронными схемами. Поскольку гранулярность, на которой стробируется такт синхронной схемы, приближается к нулю, энергопотребление этой схемы приближается к энергопотреблению асинхронной схемы: схема генерирует логические переходы только тогда, когда она активно вычисляет. [2]

Подробности

Альтернативным решением для стробирования тактовых импульсов является использование логики Clock Enable (CE) на синхронном пути передачи данных с использованием входного мультиплексора, например, для триггеров типа D: с использованием обозначений языка C / Verilog: Dff= CE? D: Q; где: Dff — D-вход триггера типа D, D — вход информации о модуле (без входа CE), Q — выход триггера типа D. Этот тип стробирования тактовых импульсов свободен от состояния гонки и предпочтителен для конструкций ПЛИС. Для ПЛИС каждый триггер типа D имеет дополнительный входной сигнал CE.

Тактовый строб работает, принимая условия включения, прикрепленные к регистрам, и используя их для стробирования тактов. Проект должен содержать эти условия включения, чтобы использовать и извлекать пользу из тактового стробирования. Этот процесс тактового стробирования может также сэкономить значительную площадь кристалла, а также мощность, поскольку он удаляет большое количество мультиплексоров и заменяет их логикой тактового стробирования. Эта логика тактового стробирования обычно имеет форму ячеек «интегрированного тактового стробирования» (ICG). Однако логика тактового стробирования изменит структуру тактового дерева, поскольку логика тактового стробирования будет находиться в тактовом дереве.

Пример стробирования часов

Логику управления тактовой частотой можно добавить в конструкцию различными способами:

  1. Закодировано в коде уровня передачи регистра (RTL) как условия включения, которые могут быть автоматически преобразованы в логику стробирования тактовых импульсов с помощью инструментов синтеза (тонкозернистое стробирование тактовых импульсов).
  2. Вставляется в конструкцию вручную разработчиками RTL (обычно в качестве тактового генератора на уровне модуля) путем создания экземпляров специфичных для библиотеки ячеек интегрированного тактового генератора (ICG) для тактового генератора определенных модулей или регистров.
  3. Полуавтоматически вставляется в RTL с помощью автоматизированных инструментов синхронизации часов. Эти инструменты либо вставляют ячейки ICG в RTL, либо добавляют условия включения в код RTL. Они обычно также предлагают последовательные оптимизации синхронизации часов.

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

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

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

Чипы, предназначенные для работы от батарей или с очень низкой мощностью, такие как те, что используются в мобильных телефонах, носимых устройствах и т. д., будут реализовывать несколько форм стробирования часов вместе. На одном конце находится ручное стробирование часов программным обеспечением, где драйвер включает или выключает различные часы, используемые данным простаивающим контроллером. На другом конце находится автоматическое стробирование часов, где аппаратному обеспечению можно приказать обнаружить, есть ли какая-либо работа, которую нужно выполнить, и выключить заданные часы, если они не нужны. Эти формы взаимодействуют друг с другом и могут быть частью одного и того же дерева включения. Например, внутренний мост или шина могут использовать автоматическое стробирование, так что они будут отключены до тех пор, пока ЦП или движку DMA не понадобится их использовать, в то время как несколько периферийных устройств на этой шине могут быть постоянно отключены, если они не используются на этой плате.

Смотрите также

Ссылки

  1. ^ Панда, Прити Ранджан; Шривастава, Авирал; вн Силпа, Б.; Гуммидипуди, Кришнайя (17 сентября 2010 г.). Проектирование энергоэффективных систем (1-е изд.). Спрингер . стр. 25, 73. ISBN. 978-1-4419-6387-1.
  2. ^ Хюбнер, Михаэль; Беккер, Юрген (2010-12-03). Многопроцессорная система на кристалле: проектирование оборудования и интеграция инструментов (1-е изд.). Springer . стр. 176. ISBN 978-1-4419-6459-5.
  3. ^ Ратто, Франческо; Фанни, Тициана; Раффо, Луиджи; Сау, Карло (2021-01-05). «Взаимное влияние между тактовым стробированием и высокоуровневым синтезом в реконфигурируемых аппаратных ускорителях». Электроника . 73 : 73. doi : 10.3390/electronics10010073 . hdl : 11584/345408 .

Дальнейшее чтение