En electrónica y especialmente en circuitos digitales síncronos , una señal de reloj (históricamente también conocida como pulso lógico ) [1] es una señal lógica electrónica ( voltaje o corriente ) que oscila entre un estado alto y uno bajo a una frecuencia constante y se utiliza como un metrónomo para sincronizar acciones de circuitos digitales . En un circuito lógico síncrono , el tipo más común de circuito digital, la señal de reloj se aplica a todos los dispositivos de almacenamiento, flip-flops y pestillos, y hace que todos cambien de estado simultáneamente, evitando condiciones de carrera .
Una señal de reloj se produce mediante un oscilador electrónico llamado generador de reloj . La señal de reloj más común tiene forma de onda cuadrada con un ciclo de trabajo del 50% . Los circuitos que utilizan la señal de reloj para la sincronización pueden activarse en el flanco ascendente, en el flanco descendente o, en el caso de una tasa de datos doble , tanto en el flanco ascendente como en el descendente del ciclo de reloj.
La mayoría de los circuitos integrados (CI) de suficiente complejidad utilizan una señal de reloj para sincronizar las distintas partes del circuito, con ciclos a una velocidad más lenta que los retardos de propagación internos del peor caso . En algunos casos, se requiere más de un ciclo de reloj para realizar una acción predecible. A medida que los CI se vuelven más complejos, el problema de proporcionar relojes precisos y sincronizados a todos los circuitos se vuelve cada vez más difícil. El ejemplo más destacado de estos chips complejos es el microprocesador , el componente central de las computadoras modernas, que se basa en un reloj de un oscilador de cristal . Las únicas excepciones son los circuitos asincrónicos, como las CPU asincrónicas .
Una señal de reloj también puede estar compuertada, es decir, combinada con una señal de control que activa o desactiva la señal de reloj para una determinada parte de un circuito. Esta técnica se utiliza a menudo para ahorrar energía apagando de forma eficaz partes de un circuito digital cuando no se utilizan, pero tiene el coste de una mayor complejidad en el análisis de tiempos.
La mayoría de los circuitos sincrónicos modernos utilizan únicamente un "reloj monofásico"; en otras palabras, todas las señales del reloj se transmiten (efectivamente) por un cable.
En circuitos sincrónicos , un "reloj de dos fases" se refiere a señales de reloj distribuidas en 2 cables, cada uno con pulsos no superpuestos. Tradicionalmente, un cable se llama "fase 1" o "φ1" ( phi 1), el otro cable lleva la señal de "fase 2" o "φ2". [2] [3] [4] [5] Debido a que se garantiza que las dos fases no se superponen, se pueden usar pestillos con compuerta en lugar de flip-flops disparados por flanco para almacenar información de estado siempre que las entradas a los pestillos en una fase solo dependan de las salidas de los pestillos en la otra fase. Dado que un pestillo con compuerta usa solo cuatro compuertas en lugar de seis compuertas para un flip-flop disparado por flanco, un reloj de dos fases puede conducir a un diseño con un recuento total de compuertas más pequeño, pero generalmente con alguna penalización en la dificultad de diseño y el rendimiento.
En la década de 1970, los circuitos integrados de semiconductores de óxido metálico (MOS) solían utilizar señales de reloj duales (un reloj de dos fases). Estas se generaban externamente tanto para los microprocesadores Motorola 6800 como para los Intel 8080. [6] La siguiente generación de microprocesadores incorporó la generación de reloj en chip. El 8080 utiliza un reloj de 2 MHz, pero el rendimiento de procesamiento es similar al del 6800 de 1 MHz. El 8080 requiere más ciclos de reloj para ejecutar una instrucción de procesador. Debido a su lógica dinámica , el 6800 tiene una frecuencia de reloj mínima de 100 kHz y el 8080 tiene una frecuencia de reloj mínima de 500 kHz. En 1976 se lanzaron versiones de mayor velocidad de ambos microprocesadores. [7]
El 6501 requiere un generador de reloj externo de 2 fases. El MOS Technology 6502 utiliza la misma lógica de 2 fases internamente, pero también incluye un generador de reloj de dos fases en el chip, por lo que solo necesita una entrada de reloj de una sola fase, lo que simplifica el diseño del sistema.
Algunos de los primeros circuitos integrados utilizan lógica de cuatro fases , lo que requiere una entrada de reloj de cuatro fases que consta de cuatro señales de reloj independientes y no superpuestas. [8] Esto era particularmente común entre los primeros microprocesadores, como el National Semiconductor IMP-16 , el Texas Instruments TMS9900 y el chipset Western Digital MCP-1600 utilizado en el DEC LSI-11 .
Los relojes de cuatro fases se han utilizado muy pocas veces en los procesadores CMOS más nuevos, como el microprocesador DEC WRL MultiTitan [9] y en la tecnología Fast14 de Intrinsity . La mayoría de los microprocesadores y microcontroladores modernos utilizan un reloj de una sola fase.
Muchos microordenadores modernos utilizan un " multiplicador de reloj " que multiplica un reloj externo de menor frecuencia por la frecuencia de reloj adecuada del microprocesador. Esto permite que la CPU funcione a una frecuencia mucho mayor que el resto del ordenador, lo que permite obtener ganancias de rendimiento en situaciones en las que la CPU no necesita esperar a un factor externo (como la memoria o la entrada/salida ).
La gran mayoría de los dispositivos digitales no requieren un reloj con una frecuencia fija y constante. Siempre que se respeten los períodos de reloj mínimo y máximo, el tiempo entre los bordes del reloj puede variar ampliamente de un borde al siguiente y viceversa. Dichos dispositivos digitales funcionan igual de bien con un generador de reloj que cambia dinámicamente su frecuencia, como la generación de reloj de espectro ensanchado , el escalado de frecuencia dinámico , etc. Los dispositivos que utilizan lógica estática ni siquiera tienen un período de reloj máximo (o en otras palabras, una frecuencia de reloj mínima); dichos dispositivos pueden ralentizarse y pausarse indefinidamente, y luego reanudarse a la velocidad de reloj completa en cualquier momento posterior.
Algunos circuitos de señal mixta sensibles , como los convertidores analógico-digitales de precisión , utilizan ondas sinusoidales en lugar de ondas cuadradas como señales de reloj, porque las ondas cuadradas contienen armónicos de alta frecuencia que pueden interferir con los circuitos analógicos y causar ruido . Estos relojes de onda sinusoidal suelen ser señales diferenciales , porque este tipo de señal tiene el doble de velocidad de respuesta y, por lo tanto, la mitad de incertidumbre de temporización que una señal de un solo extremo con el mismo rango de voltaje. Las señales diferenciales irradian con menos fuerza que una sola línea. Alternativamente, se puede utilizar una sola línea protegida por líneas de alimentación y tierra.
En los circuitos CMOS, las capacitancias de compuerta se cargan y descargan continuamente. Un capacitor no disipa energía, pero la energía se desperdicia en los transistores de control. En computación reversible , se pueden usar inductores para almacenar esta energía y reducir la pérdida de energía, pero tienden a ser bastante grandes. Alternativamente, utilizando un reloj de onda sinusoidal, compuertas de transmisión CMOS y técnicas de ahorro de energía, se pueden reducir los requisitos de potencia. [ cita requerida ]
La forma más eficaz de hacer llegar la señal de reloj a cada parte de un chip que la necesita, con el menor sesgo , es una rejilla metálica. En un microprocesador grande, la potencia utilizada para impulsar la señal de reloj puede ser más del 30% de la potencia total utilizada por todo el chip. Toda la estructura con las puertas en los extremos y todos los amplificadores intermedios deben cargarse y descargarse en cada ciclo. [10] [11] Para ahorrar energía, la compuerta de reloj apaga temporalmente parte del árbol.
La red de distribución de reloj (o árbol de reloj , cuando esta red forma un árbol como un árbol H ) distribuye la(s) señal(es) de reloj desde un punto común a todos los elementos que las necesitan. Dado que esta función es vital para el funcionamiento de un sistema sincrónico, se ha prestado mucha atención a las características de estas señales de reloj y a las redes eléctricas utilizadas en su distribución. Las señales de reloj suelen considerarse como simples señales de control; sin embargo, estas señales tienen algunas características y atributos muy especiales.
Las señales de reloj suelen cargarse con el mayor abanico de salida y funcionan a las velocidades más altas de cualquier señal dentro del sistema sincrónico. Dado que las señales de datos reciben una referencia temporal de las señales de reloj, las formas de onda del reloj deben ser particularmente limpias y nítidas. Además, estas señales de reloj se ven particularmente afectadas por el escalamiento de la tecnología (consulte la ley de Moore ), ya que las líneas de interconexión globales largas se vuelven significativamente más resistivas a medida que se reducen las dimensiones de la línea. Esta mayor resistencia de línea es una de las razones principales de la creciente importancia de la distribución del reloj en el rendimiento sincrónico. Finalmente, el control de cualquier diferencia e incertidumbre en los tiempos de llegada de las señales de reloj puede limitar gravemente el rendimiento máximo de todo el sistema y crear condiciones de carrera catastróficas en las que una señal de datos incorrecta puede quedar atrapada dentro de un registro.
La mayoría de los sistemas digitales sincrónicos consisten en bancos en cascada de registros secuenciales con lógica combinacional entre cada conjunto de registros. Los requisitos funcionales del sistema digital se satisfacen mediante las etapas lógicas. Cada etapa lógica introduce un retraso que afecta el rendimiento de temporización, y el rendimiento de temporización del diseño digital se puede evaluar en relación con los requisitos de temporización mediante un análisis de temporización. A menudo se debe tener en cuenta la necesidad de cumplir con los requisitos de temporización. Por ejemplo, los requisitos de rendimiento global y de temporización local se pueden satisfacer mediante la inserción cuidadosa de registros de canalización en ventanas de tiempo igualmente espaciadas para satisfacer las restricciones de temporización críticas en el peor de los casos . El diseño adecuado de la red de distribución de reloj ayuda a garantizar que se satisfagan los requisitos de temporización críticos y que no existan condiciones de competencia (consulte también sesgo de reloj ).
Los componentes de retardo que forman un sistema síncrono general se componen de los siguientes tres subsistemas individuales: los elementos de almacenamiento de memoria, los elementos lógicos y los circuitos de reloj y la red de distribución.
Actualmente se están desarrollando nuevas estructuras para mejorar estos problemas y brindar soluciones efectivas. Entre las áreas de investigación importantes se incluyen las técnicas de reloj resonante ("malla de reloj resonante"), [12] [13] [14] [15] interconexión óptica en chip y metodologías de sincronización local .
la energía consumida por el subsistema de reloj de EV6 era aproximadamente el 32% de la energía total del núcleo. A modo de comparación, era aproximadamente el 25% para EV56, aproximadamente el 37% para EV5 y aproximadamente el 40% para EV4.
Adaptado de la columna de Eby Friedman Archivado el 12 de agosto de 2014 en Wayback Machine
en el boletín electrónico ACM SIGDA por Igor Markov
El texto original está disponible en https://web.archive.org/web/20100711135550/http://www.sigda.org/newsletter/2005/eNews_051201.html