Eine asynchrone Schaltung ist ein Netzwerk von weitgehend unabhängigen Komponenten, die Daten weiterleiten, wenn ihre Operationen abgeschlossen sind. Dies steht im Gegensatz zu einer synchronen Schaltung, bei der die Elemente als Reaktion auf ein globales Taktsignal nach Daten abgefragt werden. In einer asynchronen Schaltung bestimmen Datenübertragungsprotokolle, wann und wie Daten ausgetauscht werden. Anstatt jede Komponente regelmäßig abzufragen, werden Daten übertragen, wenn die Komponente selbst ihre Bereitschaft signalisiert.
Die meisten Implementierungen elektronischer Schaltungen verwenden synchrones Design. Dies ist ein einfacheres Modell, bei dem alle Komponenten im gleichen Zeitrahmen arbeiten. In einer asynchronen Schaltung arbeiten die Komponenten unabhängig von jedem Zeitrahmen. Anstelle einer global auferlegten diskreten Zeit verwenden die Komponenten Handshake- und Übertragungsprotokolle. Diese führen die notwendige Synchronisation, Datenübertragung und Operationssequenzierung durch.
Es gibt mehrere Übertragungsprotokolle, die in asynchronen Schaltungen verwendet werden. Alle beinhalten Handshaking, das sicherstellt, dass, wenn eine Komponente bereit ist, Daten an einen Nachbarn weiterzugeben, dieser frei ist, sie zu empfangen und weiterzugeben. Da die Komponenten ohne Bezug auf einen gemeinsamen Zeitrahmen funktionieren, können Operationen außerhalb der Reihenfolge abgeschlossen werden. Das Übertragungsprotokoll verschlüsselt die erzeugten Daten so, dass sie in der richtigen Reihenfolge zusammengestellt werden können.
Einige frühe Computer verwendeten asynchrones Design. Der Illinois Integrator and Automatic Computer oder ILLIAC I, der 1951 von der University of Illinois entwickelt wurde, war ein solches Design. Der schnelle Fortschritt in der Technologie integrierter Schaltungen erforderte jedoch ein einfacheres Design, das mit den verfügbaren Ressourcen kompatibel war. Synchrones Design mit einer Systemuhr wurde der bevorzugte Ansatz.
Ein asynchroner Schaltungsentwurf hat mehrere potentielle Vorteile. Der Stromverbrauch wäre weitaus geringer, wenn die Zeitgeberschaltung eliminiert wird und keine Notwendigkeit besteht, nicht verwendete Transistoren mit Leistung zu versorgen. Die Betriebsgeschwindigkeit würde durch die tatsächlichen Latenzen zwischen den Komponenten bestimmt. Beim synchronen Design wird die Geschwindigkeit auferlegt, um das schwächste Element aufzunehmen. Eine Schaltung, die für den Betrieb unter asynchroner Logik ausgelegt ist, wird typischerweise weniger durch die geringfügigen Abweichungen der Komponententeile aufgrund des Herstellungsprozesses beeinträchtigt.
Nachteile des asynchronen Schaltungsentwurfs ergeben sich hauptsächlich aus seiner Komplexität. Die Anzahl der erforderlichen Elemente kann viel größer sein als die für eine synchrone Schaltung erforderliche. Es gibt nur wenige Computer Assisted Design (CAD)-Tools, die für den asynchronen Schaltungsentwurf entwickelt wurden. Diese Schaltungen sind auch viel schwieriger zu debuggen und Fehler zu beheben als herkömmliche Designs. Der zusätzliche Hardware-Overhead und die Schwierigkeit bei der Implementierung können die Steigerungen des Energieverbrauchs und der Effizienz kompensieren.