Cos'è un circuito asincrono?
Un circuito asincrono è una rete di componenti in gran parte indipendenti che inoltrano i dati quando le loro operazioni sono state completate. Ciò è in contrasto con un circuito sincrono in cui gli elementi sono interrogati per i dati in risposta a un segnale di temporizzazione globale. In un circuito asincrono, i protocolli di trasferimento dei dati determinano quando e come vengono scambiati i dati. Invece di pollicare regolarmente ogni componente, i dati vengono trasferiti quando il componente stesso segnala che è pronto.
La maggior parte delle implementazioni dei circuiti elettronici utilizza un design sincrono. Questo è un modello più semplice in cui tutti i componenti operano nello stesso lasso di tempo. In un circuito asincrono, i componenti operano indipendentemente da qualsiasi lasso di tempo. Invece di un tempo discreto imposto a livello globale, i componenti utilizzano protocolli di handshake e trasferimento. Questi eseguono la sincronizzazione necessaria, il trasferimento dei dati e il sequenziamento delle operazioni.
Esistono diversi protocolli di trasferimento utilizzati nei circuiti asincroni. Tutti includono HandshakinG, che assicura che quando un componente è pronto a passare i dati a un vicino, il vicino è libero di riceverli e trasmetterli. Poiché i componenti funzionano senza riferimento a un periodo di tempo comune, le operazioni possono essere completate fuori sequenza. Il protocollo di trasferimento codifica i dati prodotti in modo tale da poter essere assemblati nell'ordine corretto.
Alcuni primi computer impiegavano un design asincrono. L'Illinois Integrator e il computer automatico, o Illiac I, sviluppato dall'Università dell'Illinois nel 1951, era un tale design. Il rapido progresso nella tecnologia dei circuiti integrati ha richiesto un design più di base compatibile con le risorse disponibili, tuttavia. Il design sincrono con un orologio di sistema è diventato l'approccio preferito.
Il design del circuito asincrono presenta diversi potenziali vantaggi. Il consumo di energia sarebbe molto meno con l'eliminazione del circuito di temporizzazione e ci sonoG non è necessario alimentare i transistor non in uso. La velocità operativa sarebbe determinata dalle latenze effettive tra i componenti. Nel design sincrono, la velocità è imposta per ospitare l'elemento più debole. Un circuito progettato per funzionare sotto la logica asincrona sarebbe in genere meno effettuato dalle lievi variazioni nelle parti dei componenti a causa del processo di produzione.
Gli svantaggi del design del circuito asincrono derivano principalmente dalla sua complessità. Il numero di elementi necessari può essere molto più grande di quello richiesto per un circuito sincrono. Esistono pochi strumenti di design assistito da computer (CAD) realizzati per la progettazione di circuiti asincroni. Questi circuiti sono anche molto più difficili da eseguire il debug e risolvere i problemi rispetto ai progetti convenzionali. Il sovraccarico di hardware aggiuntivo e la difficoltà nell'implementazione possono compensare i guadagni nel consumo di energia e nell'efficienza.