A delay-insensitive circuit is a type of asynchronous circuit which performs a digital logic operation often within a computing processor chip. Instead of using clock signals or other global control signals, the sequencing of computation in delay-insensitive circuit is determined by the data flow.
Data flows from one circuit element to another using "handshakes", or sequences of voltage transitions to indicate readiness to receive data, or readiness to offer data. Typically, inputs of a circuit module will indicate their readiness to receive, which will be "acknowledged" by the connected output by sending data (encoded in such a way that the receiver can detect the validity directly[1]), and once that data has been safely received, the receiver will explicitly acknowledge it, allowing the sender to remove the data, thus completing the handshake, and allowing another datum to be transmitted.
In a delay-insensitive circuit, there is therefore no need to provide a clock signal to determine a starting time for a computation. Instead, the arrival of data to the input of a sub-circuit triggers the computation to start. Consequently, the next computation can be initiated immediately when the result of the first computation is completed.
The main advantage of such circuits is their ability to optimize processing of activities that can take arbitrary periods of time depending on the data or requested function. An example of a process with a variable time for completion would be mathematical division or recovery of data where such data might be in a cache.
La clase Delay-Insensitive (DI) es el modelo de retardo de circuito asíncrono más robusto . No hace suposiciones sobre el retardo de los cables o compuertas. En este modelo, todas las transiciones en las compuertas o cables deben ser reconocidas antes de volver a transicionar. Esta condición evita que se produzcan transiciones no vistas. En los circuitos DI, cualquier transición en una entrada a una compuerta debe verse en la salida de la compuerta antes de que se permita una transición posterior en esa entrada. Esto hace que algunos estados o secuencias de entrada sean inválidos. Por ejemplo, las compuertas OR nunca deben entrar en el estado donde ambas entradas son uno, ya que la entrada y la salida de este estado no se verán en la salida de la compuerta. Aunque este modelo es muy robusto, no es posible crear circuitos prácticos debido a la falta de condicionales expresables en los circuitos DI. [ 2 ] En cambio, el modelo Quasi-Delay-Insensitive es el modelo de compromiso más pequeño hasta ahora capaz de generar circuitos de computación útiles. Por esta razón, a menudo se hace referencia incorrectamente a los circuitos como Delay-Insensitive cuando son Quasi Delay-Insensitive.
Véase también
Referencias
Enlaces externos
- "Códigos insensibles al retardo: una visión general" por Tom Verhoeff
- "TITAC: Diseño de un microprocesador cuasi-insensible al retardo" por Takashi Nanya et al. 1994
- "Una propuesta de bus cuasi insensible al retardo para sistemas asíncronos" por Pedro A. Molina y Peter YK Cheung, 1997.
- "Los circuitos cuasi-insensibles al retardo son Turing-completos" por Manohar, Rajit y Martin, Alain J. (1995)
- "EDIS, la enciclopedia de sistemas insensibles al retardo", editada por Tom Verhoeff.
- unidad central de procesamiento