¿Cómo saben los módulos en un circuito asíncrono cuándo deben indicar que su salida está lista?

5

Recientemente me han fascinado las CPU asíncronas , que no tienen reloj central y cada módulo envía una señal cuando Sus datos han sido procesados. Sin embargo, me he estado preguntando cómo esos módulos realmente saben cuando su salida está lista y estable.

En el siguiente ejemplo de un circuito secuencial asíncrono, algunos módulos se comunican utilizando un protocolo simple de intercambio de la siguiente manera:

  1. Un módulo es activado por una señal LISTA de un módulo anterior.
  2. El módulo comienza a manipular los datos de entrada.
  3. La señal RECIBIDA se envía al módulo anterior, cuando la entrada se ha leído y puede modificarse con el módulo anterior.
  4. Cuando la salida se actualiza y es estable, se envía una señal LISTA al siguiente módulo.
  5. Cuando la señal RECIBIDA se envía como respuesta, el proceso comienza de nuevo.

simular este circuito : esquema creado usando CircuitLab

  • ¿Es posible enviar una señal LISTA cuando la salida de un módulo es estable, sin sincronizar específicamente el retardo de propagación del circuito del módulo?
    • Si no, ¿cuál sería la forma más simple de retrasar una señal READY en función del retraso de propagación en el peor de los casos?
pregunta Sam Olesen

2 respuestas

1
  

¿Es posible enviar una señal READY cuando la salida de un módulo es   estable, sin cronometrar específicamente el retardo de propagación de la   circuito del módulo?

No.

  

Si no, ¿cuál sería la forma más sencilla de retrasar una señal READY?   ¿Basado en el retraso de propagación del peor caso de un circuito?

Para cada módulo, tiene una línea de retardo coincidente formada por una serie de puertas AND configuradas como búferes.

Ver imágenes a continuación:

    
respondido por el KillaKem
1

Sin reloj central no significa que no haya reloj. M1 y M2 no necesitan saber a qué velocidad corre cada uno; deben saber lo que hacen los demás y tener definido el protocolo entre ellos . Lo que ambos deben hacer es asegurarse de que se transmitan los datos entre sí de manera adecuada, y debe suceder de manera sincronizada para una transferencia de datos consistente.

En su diagrama, usted describió un sistema de transferencia de solicitud / confirmación de muy alto nivel; en la implementación real puede ser más complejo que eso, y puede incluir relojes entre los dispositivos.

    
respondido por el Anonymous

Lea otras preguntas en las etiquetas