Flip-flops y circuitos secuenciales
Realimentar un circuito lo convierte en memoria: la salida empieza a depender del pasado. Eso es lo que separa una calculadora de una máquina que ejecuta programas.
Para este tema conviene tener claro:Compuertas y circuitos combinacionales
La lógica combinacional no puede recordar nada: sus salidas dependen sólo de lo que entra ahora. Sin memoria no hay contador, no hay registro y no hay programa. La pieza que agrega memoria es más simple de lo que parece: una salida que vuelve a la entrada.
Dos compuertas cruzadas ya son memoria
Dos compuertas NOR cruzadas, cada una alimentando la entrada de la otra, forman un latch. El circuito tiene dos estados estables: mientras nadie lo toque, se queda donde está.
Ese “se queda donde está” es un bit de memoria. Con dos entradas, set y reset, se lo lleva a uno
o a cero. Y aparece la primera regla del diseño secuencial: hay una combinación de entradas
prohibida —activar las dos a la vez— porque deja el estado indefinido.
Antes de seguir, predecí
Para qué sirve el reloj
El latch responde en cuanto cambia la entrada, y eso en un sistema grande es un caos: las señales llegan con retardos distintos y el estado queda a merced de la carrera entre ellas.
La solución es el reloj: una señal periódica que marca cuándo se permite cambiar. Un flip-flop captura su entrada en el flanco del reloj y la mantiene hasta el siguiente. Así todo el sistema avanza a saltos discretos y sincronizados, que es lo que hace el diseño manejable.
La señal D cambia varias veces a lo largo del tiempo, sin ningún orden particular.
El flip-flop D es un bit
El más usado es el flip-flop D: en cada flanco copia lo que haya en su entrada y lo retiene. Es literalmente un bit de almacenamiento, y agrupando varios se arma un registro.
El flip-flop T invierte su estado en cada pulso, y encadenándolos se obtiene un contador binario: cada etapa cambia a la mitad de la frecuencia de la anterior, que es exactamente contar en binario. El JK generaliza set y reset sin combinación prohibida.
Setup y hold, las dos restricciones que mandan
Hay dos restricciones temporales que definen todo. El setup: la entrada tiene que estar estable un rato antes del flanco. El hold: tiene que seguir estable un rato después.
Si se violan, el flip-flop puede entrar en metaestabilidad: una salida a mitad de camino que tarda un tiempo impredecible en decidirse. No es teórico —es el problema central al cruzar señales entre dos relojes distintos— y se maneja con sincronizadores de dos etapas, que reducen la probabilidad pero no la eliminan.
Registros más lógica: una máquina de estados
Con registros y lógica combinacional se arma una máquina de estados: los flip-flops guardan el estado actual, un bloque combinacional calcula el estado siguiente y las salidas.
Es el mismo autómata finito de la teoría de la computación, ahora en silicio. Y es cómo se implementa la unidad de control de un procesador: los estados son las etapas del ciclo de instrucción, y las salidas son las señales que abren y cierran los caminos de datos.
De dónde sale la frecuencia máxima
El período del reloj tiene que alcanzar para lo más lento: el retardo del flip-flop, más el camino combinacional más largo, más el setup del siguiente. Esa suma es lo que limita la frecuencia.
Por eso subir el reloj no es gratis y por eso se recurre al pipeline: partir un camino largo en etapas más cortas con registros en el medio permite un reloj más rápido, aunque cada instrucción tarde más etapas en completarse.
De dónde sale la frecuencia del procesador
| Concepto | Qué es | Qué limita |
|---|---|---|
| Camino crítico | la cadena de lógica más lenta entre dos flip-flops | la frecuencia máxima |
| Tiempo de establecimiento | cuánto antes del flanco tiene que estar estable la entrada | el margen del ciclo |
| Tiempo de retención | cuánto después tiene que seguir estable | errores por señales muy rápidas |
| Desfase del reloj | la señal no llega igual a todos lados | obliga a márgenes |
| Metaestabilidad | la entrada cambió justo en el flanco | sincronizadores entre dominios |
Cierre
Realimentar da estados estables, y eso es memoria. El reloj ordena los cambios en flancos; el flip-flop D es el bit de almacenamiento y los registros salen de agruparlos. Setup y hold son las restricciones que hay que respetar, y su suma con el camino crítico fija la frecuencia máxima.
Autoevaluación
¿Lo entendiste?
Práctica