La compuerta de reloj es una técnica popular utilizada en muchos circuitos síncronos para reducir la disipación dinámica de potencia , al eliminar la señal de reloj cuando el circuito no está en uso. La compuerta de reloj ahorra energía al podar el árbol del reloj , a costa de agregar más lógica a un circuito. La poda del reloj desactiva partes de los circuitos para que los flip-flops en ellos no tengan que cambiar de estado. Los estados de conmutación consumen energía. Cuando no se conmuta, el consumo de energía de conmutación llega a cero y solo se generan corrientes de fuga . [1]
Aunque los circuitos asíncronos por definición no tienen un "reloj", el término sincronización de reloj perfecta se usa para ilustrar cómo varias técnicas de sincronización de reloj son simplemente aproximaciones del comportamiento dependiente de datos exhibido por los circuitos asíncronos. A medida que la granularidad en la que se abre el reloj de un circuito síncrono se acerca a cero, el consumo de energía de ese circuito se acerca al de un circuito asíncrono: el circuito solo genera transiciones lógicas cuando está computando activamente. [2]
Detalles
La compuerta de reloj funciona tomando las condiciones de habilitación adjuntas a los registros y las usa para controlar los relojes. Un diseño debe contener estas condiciones de habilitación para poder utilizar y beneficiarse de la compuerta del reloj. Este proceso de compuerta de reloj también puede ahorrar un área de matriz significativa, así como energía, ya que elimina una gran cantidad de muxes y los reemplaza con lógica de compuerta de reloj. Esta lógica de sincronización de reloj tiene generalmente la forma de celdas de "sincronización de reloj integrado" (ICG). Sin embargo, la lógica de activación del reloj cambiará la estructura del árbol del reloj, ya que la lógica de activación del reloj se ubicará en el árbol del reloj.
La lógica de compuerta de reloj se puede agregar a un diseño de varias maneras:
- Codificado en el código de nivel de transferencia de registro (RTL) como condiciones de habilitación que se pueden traducir automáticamente en lógica de sincronización de reloj mediante herramientas de síntesis (sincronización de reloj de grano fino).
- Insertado en el diseño manualmente por los diseñadores de RTL (generalmente como compuerta de reloj a nivel de módulo) instanciando celdas de compuerta de reloj integrado (ICG) específicas de la biblioteca para controlar los relojes de módulos o registros específicos.
- Se inserta semiautomáticamente en el RTL mediante herramientas de control automático del reloj. Estas herramientas insertan celdas ICG en el RTL o agregan condiciones de habilitación en el código RTL. Por lo general, también ofrecen optimizaciones de sincronización de reloj secuencial.
Cualquier modificación de RTL para mejorar la sincronización del reloj dará como resultado cambios funcionales en el diseño (ya que los registros ahora tendrán valores diferentes) que deben verificarse.
La compuerta de reloj secuencial es el proceso de extraer / propagar las condiciones de habilitación a los elementos secuenciales ascendentes / descendentes, de modo que los registros adicionales puedan controlarse por reloj.
Los chips destinados a funcionar con baterías o con muy poca energía, como los que se utilizan en los teléfonos móviles, dispositivos portátiles, etc., implementarían varias formas de reloj sincronizado. En un extremo está la activación manual de los relojes por software, donde un controlador habilita o deshabilita los diversos relojes utilizados por un controlador inactivo determinado. En el otro extremo está la sincronización automática del reloj, donde se le puede decir al hardware que detecte si hay algún trabajo por hacer y que apague un reloj determinado si no es necesario. Estos formularios interactúan entre sí y pueden ser parte del mismo árbol de habilitación. Por ejemplo, un puente o bus interno puede usar la compuerta automática para que esté bloqueado hasta que la CPU o un motor DMA necesite usarlo, mientras que varios de los periféricos en ese bus podrían estar bloqueados permanentemente si no se usan en esa placa. .
Ver también
Referencias
- ^ Panda, Preeti Ranjan; Shrivastava, Aviral; vn Silpa, B .; Gummidipudi, Krishnaiah (17 de septiembre de 2010). Diseño de sistemas energéticamente eficientes (1 ed.). Springer . págs. 25, 73. ISBN 978-1-4419-6387-1.
- ^ Hübner, Michael; Becker, Jürgen (3 de diciembre de 2010). Sistema multiprocesador en chip: diseño de hardware e integración de herramientas (1 ed.). Springer . pag. 176. ISBN 978-1-4419-6459-5.
Otras lecturas
- Li, Hai; Bhunia, S. (28 de febrero de 2003) [12 de febrero de 2003]. Puerta de reloj determinista para la reducción de potencia del microprocesador . El Noveno Simposio Internacional sobre Arquitectura de Computadoras de Alto Rendimiento, 2003. HPCA-9 2003. Actas . IEEE . págs. 113-122. CiteSeerX 10.1.1.79.6234 . doi : 10.1109 / HPCA.2003.1183529 . ISBN 978-0-7695-1871-8. ISSN 1530-0897 .