Articulo de referencia

Control de reloj

En arquitectura de computadoras , la técnica de control de reloj (clock gating) es una técnica popular de administración de energía que se utiliza en muchos circuitos síncronos ...

En arquitectura de computadoras , la técnica de control de reloj (clock gating) es una técnica popular de administración de energía que se utiliza en muchos circuitos síncronos para reducir la disipación de potencia dinámica (una fuente importante de disipación de potencia en diseños digitales), eliminando la señal de reloj cuando el circuito, o una parte del mismo, está inactivo. El control de reloj ahorra energía al podar parte de la distribución del árbol de reloj , a costa de agregar más lógica al circuito.

La poda del reloj desactiva ciertas partes del circuito para que los biestables no cambien de estado, ya que este cambio consume energía. Al no haber conmutación, se reduce el consumo de energía . Esta técnica es especialmente eficaz en sistemas con tiempos de inactividad prolongados o periodos predecibles de inactividad en módulos específicos.

Detalles esenciales

Los circuitos digitales consumen energía a través de múltiples mecanismos, que generalmente se clasifican en componentes dinámicos y estáticos. La siguiente ecuación puede describir la disipación de potencia promedio en un circuito CMOS:

PAGpromedio=PAGdinámica+PAGcorto+PAGfuga+PAGestático{\displaystyle P_{\text{promedio}}=P_{\text{dinámico}}+P_{\text{corto}}+P_{\text{fuga}}+P_{\text{estático}}}
  • La función dinámica P resulta de la carga y descarga de cargas capacitivas durante las transiciones lógicas. Es proporcional a la actividad de conmutación, la capacitancia, el cuadrado de la tensión de alimentación y la frecuencia del reloj.
  • El cortocircuito P se produce durante las transiciones de señal, cuando los transistores PMOS y NMOS conducen momentáneamente de forma simultánea, creando una breve ruta de corriente de cortocircuito entre la alimentación y tierra.
  • La fuga de potencial se debe a las corrientes de fuga subumbral y de puerta, que se producen incluso cuando los transistores están apagados. Este componente cobra cada vez más importancia en las tecnologías de submicrones profundos.
  • La potencia estática incluye la potencia consumida por los bloques que están siempre activos, como los circuitos de polarización o los generadores de referencia, y está presente incluso en condiciones de espera.

Estos componentes definen colectivamente el perfil de potencia total de un sistema digital, y su optimización es crucial para el diseño de bajo consumo. [ 1 ]

Estos componentes se vuelven cada vez más críticos en los circuitos integrados modernos, especialmente con la miniaturización de la tecnología, donde las fugas y la potencia de cortocircuito pueden constituir una parte significativa del presupuesto total de energía. [ 1 ]

El control de reloj es una de las diversas técnicas utilizadas para reducir el consumo de energía de los circuitos digitales. Se centra específicamente en el componente de potencia dinámica, P dinámica , al disminuir la actividad de conmutación innecesaria en las señales de reloj. La siguiente ecuación puede aproximar la potencia dinámica:

PAGdinámica=αdoLVdd2F{\displaystyle P_{\text{dinámico}}=\alpha \cdot C_{L}\cdot V_{dd}^{2}\cdot f}

Dónde:

  • α es el factor de actividad de conmutación,
  • CL es la capacitancia de carga ,
  • Vdd es la tensión de alimentación ,
  • f es la frecuencia del reloj.

Al desactivar la señal de reloj en ciertas partes del circuito cuando no se utilizan, la técnica de control de reloj reduce α , disminuyendo así el consumo total de energía dinámica. Esto difiere de la técnica de control de potencia , que interrumpe completamente el suministro eléctrico y reduce simultáneamente múltiples fuentes de disipación de potencia.

Técnicas de control del reloj

Las técnicas de control de reloj suelen operar dirigiéndose a regiones específicas del reloj. Para aplicar estas técnicas, a menudo es necesario modificar los registros (o biestables) del circuito para que puedan controlarse y desconectarse de la red de distribución del reloj, aislando así bloques de lógica combinacional .

Ilustración de la técnica de biestables habilitados utilizada para aislar un bloque lógico interno. El reloj se habilita selectivamente, lo que permite la activación controlada de la lógica y reduce la actividad de conmutación innecesaria.

Los circuitos externos pueden controlar las señales de reloj y activación mediante una técnica conocida como biestables habilitados, o bien pueden generarse internamente utilizando métodos tradicionales de control de reloj.

Diagrama de temporización que ilustra el comportamiento del reloj controlado (Gclock) en un circuito de control de reloj. Cuando la señal de control (CNTRL) está en nivel alto, el reloj se desactiva y GCLK se mantiene en un nivel lógico constante (normalmente 0 lógico).

Cuando la señal de control (CNTRL) se establece en 1, el circuito de control de reloj desactiva el reloj manteniéndolo en un nivel lógico fijo, ya sea 0 o 1. Una implementación típica utiliza un transistor de paso CMOS controlado por la señal de control invertida.

La lógica de control de reloj se puede agregar a un diseño de diversas maneras:

  1. Se puede codificar en el código de nivel de transferencia de registros (RTL) como condiciones de habilitación que las herramientas de síntesis pueden traducir automáticamente en lógica de control de reloj (control de reloj de grano fino).
  2. Los diseñadores de RTL pueden insertarlo manualmente en el diseño (normalmente como control de reloj a nivel de módulo) mediante la creación de instancias de celdas de control de reloj integrado (ICG) específicas de la biblioteca para controlar los relojes de módulos o registros específicos.
  3. Puede insertarse de forma semiautomática en el RTL mediante herramientas de control de reloj automatizadas. Estas herramientas insertan celdas ICG en el RTL o añaden condiciones de habilitación al código RTL. Además, suelen ofrecer optimizaciones de control de reloj secuencial.

Control de reloj sin fallos

Una implementación común del control de reloj utiliza un biestable (o flip-flop) sensible al nivel para evitar fallos transitorios en el reloj controlado. La señal de habilitación se captura solo cuando el reloj está en su fase inactiva, lo que garantiza que el control de reloj se mantenga estable durante la transición al reloj activo. Esto evita pulsos cortos no deseados (fallos transitorios) que pueden provocar una conmutación incorrecta en los elementos secuenciales. Muchas celdas de control de reloj integrado (ICG) incluyen este biestable internamente para proporcionar un reloj controlado sin fallos transitorios.

En general, la aplicación de la limitación del reloj con una granularidad más gruesa conlleva una menor sobrecarga de recursos y un mayor ahorro de energía. [ 2 ]

Cualquier modificación del RTL para mejorar el control del reloj dará lugar a cambios funcionales en el diseño (ya que los registros ahora contendrán valores diferentes), los cuales deberán verificarse.

Otras consideraciones

El control secuencial del reloj es el proceso de propagar las condiciones de habilitación a través de elementos secuenciales ascendentes y descendentes, lo que permite controlar el reloj de registros adicionales. [ 3 ] Esta técnica extiende el control del reloj más allá de los flip-flops individuales para optimizar el ahorro de energía en secciones de circuito más grandes.

Los chips diseñados para aplicaciones alimentadas por batería o de muy bajo consumo —como teléfonos móviles, dispositivos portátiles y sistemas embebidos— suelen implementar simultáneamente múltiples estrategias de control de reloj. El control manual del reloj implica controladores de software que habilitan o deshabilitan los relojes de varios controladores inactivos. En cambio, el control automático del reloj utiliza mecanismos de hardware para detectar cuándo un reloj es innecesario y lo desactiva dinámicamente. Estos enfoques suelen operar conjuntamente dentro del mismo árbol de habilitación. Por ejemplo, un bus o puente interno puede emplear el control automático, manteniendo el reloj deshabilitado hasta que la CPU o un motor DMA accedan a él . Por el contrario, los periféricos de ese bus podrían desactivarse permanentemente si no se utilizan en un diseño de placa específico.

El control de reloj también puede utilizarse para reducir el área. Si muchos registros tienen la misma señal de habilitación, controlarlos en un punto superior del árbol de reloj puede costar solo el área equivalente a una puerta de reloj integrada, pero ahorraría el área equivalente a un multiplexor 2:1 (el "multiplexor de retroalimentación" que normalmente se utiliza para implementar la habilitación) por cada registro que tenga dicha habilitación.

Véase también

Referencias

  1. 1 2 Benini, Luca; DeMicheli, Giovanni (2012). Gestión dinámica de energía: técnicas de diseño y herramientas CAD . Springer . ISBN 9781461554554.
  2. Ratto, Francesco; Fanni, Tiziana; Raffo, Luigi; Sau, Carlo (2021-01-05). "Impacto mutuo entre el control de reloj y la síntesis de alto nivel en aceleradores de hardware reconfigurables" . Electronics . 73 : 73. doi : 10.3390/electronics10010073 . hdl : 11584/345408 .
  3. Weste, Neil HE; Harris, David (1992). Diseño VLSI CMOS: Una perspectiva de circuitos y sistemas (2.ª ed.). Addison-Wesley. ISBN  978-0-201-53376-7.