Perché i circuiti completamente asincroni non sono più prevalenti? [chiuso]


19

Da quanto ho capito, la maggior parte delle moderne CPU consumer si basano su una logica sincrona. Alcune applicazioni ad alta velocità (elaborazione del segnale, ecc.) Utilizzano la logica ansync per la sua velocità più elevata.

Tuttavia, nel mercato odierno, la velocità dei prodotti di consumo è uno dei principali punti di forza (vedi AMD vs Intel). Lo sviluppo di una litografia più complicata è più veloce dell'adozione di una logica completamente asincrona? Oppure la logica ansync è troppo complicata / poco pratica per le applicazioni VLSI?


4
Penso che sia molto difficile programmarli in modo procedurale.
mehmet.ali.anil

16
Le architetture attuali sono ibride. I blocchi sincroni sono interconnessi in modo asincrono. E sì, la logica asincrona è molto più complicata.
Eugene Sh.

5
Perché non abbiamo ancora buoni strumenti per la chiusura temporizzata asincrona.
Oldfart

2
I sistemi stanno diventando sempre più asincroni. Nelle CPU moderne cose come RAM, cache e core della CPU funzionano tutte con clock indipendenti. I nuovi processori Intel HEDT fanno un ulteriore passo avanti e consentono a ciascuno dei molti core nei chip di funzionare a clock indipendenti l'uno dall'altro e da RAM, cache e bus esterni, ecc.
J ...

1
Una cosa da ricordare, gli orologi sincroni introducono un battito cardiaco standardizzato per il sistema, mentre se si utilizza un design asincrono puro, altrimenti differenze di temporizzazione banali come il ritardo di propagazione potrebbero dover essere adattate in qualche altro modo. Inoltre è relativamente efficiente implementare funzioni pure in progetti asincroni, ma le funzioni stateful (o le operazioni più difficili come la radice quadrata) possono complicarsi. Anche i segnali di routing possono essere difficili (nessun autobus, potresti rimanere bloccato collegando tutto a tutto).
jrh

Risposte:


45

Ho trascorso alcuni anni in una startup commercializzando la tecnologia di progettazione asincrona, quindi ho familiarità con i motivi:

  • async non è intrinsecamente più veloce. Il ritardo del percorso peggiore rimane lo stesso. È solo che a volte puoi trarre vantaggio da un'esecuzione più rapida del percorso.

  • async ha anche un sovraccarico di rilevamento del completamento.

  • Strumenti di progettazione. Questo è davvero grande: non esiste un "flusso" asincrono completo di strumenti disponibili con la stessa qualità del design sincrono.

  • Formazione. Dovresti effettivamente riqualificare tutti i tuoi progettisti sul nuovo paradigma e strumenti.

  • Rischio e conservatorismo. Gran parte del settore è "produrre qualcosa di simile al precedente, ma un po 'diverso". Ciò ha un'altissima possibilità di lavorare. Le aziende sono molto più riluttanti a costruire qualcosa di totalmente diverso dal momento che ha molte più possibilità di essere una cancellazione totale che costa decine di milioni di dollari.


Potrebbe essere intrinsecamente più economico ma più lento.
Tony Stewart Sunnyskyguy EE75

3
Ricordo di aver pensato una volta a questo, e ho anche capito: un chip sincronizzato è banalmente underclock (per batteria / temp / ecc.), Mentre un chip asincrono è probabilmente meno?
Mooing Duck

In termini di strumenti di progettazione / paradigma, la logica sincrona è in grado di ignorare totalmente i difetti nell'output della logica combinatoria e richiede solo che i segnali di clock siano privi di glitch. Inoltre, è più probabile che i circuiti asincroni richiedano l'aggiunta di un ritardo aggiuntivo per alcuni segnali, per garantire che un segnale pronto non possa arrivare al blocco successivo prima dell'arrivo dei dati, ecc. Nei circuiti sincroni è raramente necessario un ritardo artificiale. Uno dei pochi casi da ricordare è quello di soddisfare i requisiti di tempo di attesa, che possono spesso essere soddisfatti da un ritardo naturale. Anche alcune situazioni di domini cross clock possono richiedere ritardi.
Kevin Cathcart,

Penserei che in molte situazioni l'uso di un orologio non sovrapposto a due fasi potrebbe offrire molti vantaggi rispetto a un singolo orologio. Quando si utilizza un singolo clock, qualsiasi impulso di runt può far saltare le rotaie da un sistema, ma quando si utilizza un clock a due fasi generato alimentando un ingresso di clock attraverso due comparatori, gli impulsi di runt su una fase di clock sarebbero innocui se preceduti o seguiti da un impulso di clock di lunghezza valida senza un impulso intermedio sulla fase di clock opposta.
supercat

3
@MooingDuck Dipende dal paradigma logico. Ho lavorato su un po 'di Null Convention Logic, e sarebbe stato veloce quanto le condizioni (processo, tensione, temperatura) avrebbero permesso. Non avresti bisogno di sotto-clock a causa di quelle condizioni, lo farebbe automaticamente .
W5VO,

3

È molto allettante progettare circuiti integrati asincroni. Le altre risposte già coprono molte ragioni per pensarci due volte prima di farlo. Eccone un altro:

Lo sviluppo dell'IC non è terminato con il design. La verifica e il test sono ugualmente importanti. Non solo gli strumenti di progettazione sono molto avanzati per i circuiti sincroni, ma è lo stesso con gli strumenti di simulazione e le apparecchiature di prova.

Verifica

Non è sufficiente che i circuiti funzionino in condizioni di laboratorio. Devono essere robusti rispetto all'intervallo di tensione operativa (V), all'intervallo di temperatura operativa (T) e alla variazione dovuta al processo di fabbricazione (P). Per la logica sincrona questo può essere garantito con l'aiuto dell'analisi di temporizzazione statica. Il circuito è suddiviso in tutti i percorsi di temporizzazione, dal flip-flop al flip-flop. I tempi di configurazione e di attesa vengono controllati per ogni singolo percorso di temporizzazione e per diverse combinazioni di P, T e V. Queste combinazioni di PTV sono i cosiddetti angoli di simulazione.

Una verifica simile potrebbe essere fatta per i circuiti asincroni, ma è molto più difficile e molto meno supportata dagli strumenti di progettazione. Limita inoltre il progettista a costrutti asincroni che possono essere effettivamente verificati. Non esiste una verifica affidabile per circuiti asincroni arbitrari.

Test

Difficoltà simili ci sono quando si tratta di testare l'hardware. Il test della logica sincrona è pienamente supportato dal collaudo di standard e apparecchiature. Testare i circuiti asincroni non solo è più complicato, ma a causa della mancanza di astrazione di temporizzazione, non è nemmeno sufficiente dimostrare che il circuito funzionerà per tutti gli angoli di PTV. Il circuito potrebbe non funzionare a causa delle condizioni di gara in alcune combinazioni di PTV, che non sono coperte dagli angoli.

Sommario

I progettisti di circuiti integrati non hanno rinunciato al paradigma asincrono, ma la logica asincrona presenta gravi svantaggi durante la verifica e la convalida. In un contesto industriale, la progettazione di circuiti integrati asincroni deve essere limitata alla costruzione che può essere dimostrata funzionare su tutto lo spazio dei parametri di variazione del processo, nonché sugli intervalli operativi per temperatura e tensione.

Il cosiddetto design "Locally sincrono globalmente asincrono" è un modo per ottenere più benefici e meno svantaggi di entrambi i paradigmi di temporizzazione.


0

I contatori binari asincroni sono più semplici perché usano solo 1 cella di memoria o infradito T per divisione per due. Quindi il vecchio CD e 74HC4020 e 4040 offrono molti stadi binari a buon mercato. Il ritardo dell'elica in ogni fase significa che non può essere utilizzato senza condizioni di gara o anomalie con decodifica del gate degli indirizzi binari a meno che il ritardo dell'elica non sia inferiore a 1/2 del ciclo di clock di ingresso che utilizza il bordo posteriore per bloccare il risultato. La latenza di output viene quindi moltiplicata per N stadi.

I contatori binari sincroni utilizzano una cella di memoria aggiuntiva su D FF per ritardare, ma riducono al minimo il ritardo a 1 valore per qualsiasi lunghezza di contatori in modo da consumare più area.

Quindi tutte le CPU utilizzano clock complementari per ottimizzare la latenza prevista in lettura / scrittura dell'indirizzo e della memoria per massimizzare il thruput ma non superare il ritardo dell'elica, i tempi di configurazione e di attesa.

La memoria ora utilizza molte fasi come DDR, 3DR, 4DR, 5DR specialmente per la memoria grafica ma con i clock della CPU che vanno molto più velocemente della velocità RAM a ciclo singolo in modo che i ritardi di lettura e scrittura degli indirizzi possano essere cronometrati di conteggi singoli o multipli o della metà superclock (ad es. 100MHz xN) indicato da T conteggi frazionari o interi per ciascun parametro. Questi ritardi prop aumentano con la temperatura. Per CMOS e ridurre con una tensione Vram più elevata che, se adeguatamente raffreddata, potrebbe ridurre la latenza o altri aumenti di Pd e aumento della temperatura e peggiorare la situazione (più lentamente). Quindi il raffreddamento, V, f, T sono tutti fondamentali per una latenza ottimale sia che venga utilizzato per le operazioni Asincrono che Sinc.


-1

I primi progetti logici erano asincroni. Spesso venivano anche mescolati con circuiti analogici. Tuttavia, con il passare del tempo i progetti sono diventati più complicati, richiedendo quindi più ingegneri di lavorare su un singolo progetto. I diagrammi dei tempi di asincrono. la logica può essere ingombrante quando ci sono molti stati. Ora aggiungi un team di ingegneri che provano a interfacciare blocchi logici diversi ma i tempi tra loro non sono allineati molto bene. I disegni diventano fragili ai cambiamenti in modi imprevisti.

Inserisci la progettazione della logica sincrona. Ora tutti i flussi di stato sono allineati a un segnale di clock che consente alle interfacce di essere molto ben definite e più robuste rispetto alle modifiche di progettazione. Sì, potrebbe usare più porte, ma è (di solito) stabile dal design; al contrario di stabile finché nessuno lo tocca!


1
Esistono anche metodologie di progettazione asincrone che garantiscono "corrette per progettazione" e "interfacce ben definite". Questi sono semplicemente diversi dalle ipotesi di semplificazione fatte per i progetti sincroni.
Edgar Brown,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.