Me pregunto cómo funcionan realmente las computadoras en un nivel de puerta. Puedo ver cómo se puede construir un mecanismo de almacenamiento a partir de puertas lógicas (por ejemplo, SR NOR latch ). Lo que me pregunto: ¿cómo se actualizan los valores en las celdas de memoria si el nuevo valor depende del anterior?
Ejemplo: tengo una celda de almacenamiento de un bit y quiero crear una lógica que invierta el valor en la celda. Fácil - lea el valor antiguo - inviértalo - active la entrada correspondiente a la celda de memoria para establecer el nuevo valor (R o S). Pero eso solo va a desencadenar un bucle de retroalimentación, cambiando el bit lo más rápido posible.
¿Cómo se maneja esta situación en los microprocesadores? Me imagino que tiene algo que ver con la señal del reloj, pero no veo cómo resolverlo, incluso con un reloj externo.
Dicho de otra manera: dado un RS-Flip flop y una línea de señal de reloj, ¿hay un arreglo de puerta que invierta el Flip flop una vez por cada tictac del reloj? Si esto no es realmente solucionable en el nivel de la puerta, ¿cómo se resuelve en microchips reales?