Clock gating
Clock gating — технология уменьшения энергопотребления в цифровых системах за счёт запрета подачи тактовых сигналов на неиспользуемые цепи схемы, исключая расходование энергии на бесполезное переключение их элементов. Размеры отключаемых цепей могут находиться в широком диапазоне: от отдельного триггера до функционального блока и подсистемы (например, памяти, ввода-вывода, ЦПУ). Однако схемы, отключающие тактовую частоту со слишком маленьких цепей или слишком часто, могут потреблять энергии больше, чем экономится с их помощью.
На нижнем уровне детализации схем, если вход регистра должен открываться подачей управляющего сигнала, этот сигнал используется для управления подачей тактовых импульсов на регистр через логический вентиль. Таким образом, ёмкости входных элементов всех триггеров регистра, при пассивном уровне управляющего сигнала, заменяются ёмкостью одного транзистора в вентиле. На уровне регистровых передач технология автоматически реализуется средствами САПР, которые транслируют входное описание в схему, работающую по указанному выше принципу.
На уровне логических блоков для реализации технологии используются системные подходы:
- предвычислений — используется схема предвычислений, которая на основе входных сигналов определяет логические блоки, не влияющие на окончательный результат;
- охраняемой оценки — не влияющие на результат блоки определяются по мере вычислений на основе существующих в схеме сигналов.
На уровне ядра процессора используется детерминистический метод для отключения тактовых импульсов от простаивающих функциональных блоков процессора. Например, информация с предыдущих этапов конвейера используется для отключения последующих.
Литература
[править | править код]- Stefanos Kaxiras, Margaret Martonosi. 4.2 Idle unit switching activity: clock gating // Architectural Techniques for Low Power. — Morgan & Claypool Publishers, 2008. — Vol. 4. — 207 p. — (Synthesis Lectures on Computer Architecture Series). — ISBN 1598292080.