Asynchroner Schaltkreis
Asynchrone Schaltkreise sind elektrische Schaltungen, die im Gegensatz zu synchronen Schaltkreisen ohne einen globalen Takt arbeiten. Bei einer rein synchronen Schaltung liegt das Taktsignal an allen Flipflops parallel an, d. h., alle Flip-Flops schalten zum gleichen Zeitpunkt. Bei asynchronen Schaltungen sind nicht alle Flipflops direkt mit dem gleichen Taktsignal verbunden. Das Taktsignal eines Flip-Flops kann hierbei beispielsweise das Ausgangssignal eines vorhergehenden Flip-Flops sein oder es kann das Ausgangssignal eines Logikgatters sein.
Diese Unterscheidung ist nicht relevant für Rechenwerke (engl. datapath) – diese brauchen generell kein Taktsignal –, sondern nur für Steuerwerke (engl. controlpath).
Steuerwerke müssen ihren internen Zustand speichern können. In asynchronen Schaltkreisen wird dies entweder ebenfalls durch integrierte Signalspeicher in Form von Flip-Flops oder durch den Signalpegel der ein- und ausgehenden Signalleitungen von externen Signalspeichern gewährleistet. Man unterscheidet dabei zwischen externen Signalen, die von der Umgebung kontrolliert werden, und lokalen Signalen, die vom Schaltkreis selbst kontrolliert werden.
Änderungen am Signalzustand können bei asynchronen Schaltungen unabhängig voneinander bzw. nebenläufig erfolgen. Auf theoretischer Ebene kann dies durch Signal Transition Graphs (STGs) beschrieben werden, einer speziellen Form von Petri-Netzen.
In der praktischen Schaltungsentwicklung hat die Verwendung der asynchronen Schaltungstechnik in der Vergangenheit zunehmend an Bedeutung verloren. Bei einem synchronen Schaltungsdesign kann die Zeit für die Signalverzögerung und das Schalten der Flip-Flops meist recht gut ermittelt bzw. abgeschätzt werden. Bei der asynchronen Schaltungstechnik ist das meist nur mit sehr großem Aufwand möglich, da nachfolgende Schaltvorgänge jeweils vom genauen Schaltzeitpunkt des vorhergehenden Bauelements abhängig sein können. Weiterhin besteht bei den rein asynchronen Schaltungen das Risiko von Designfehlern und Schaltfehlern, da für die Bauelemente im realen Betrieb meist nur eine minimale Schaltdauer und eine maximale Schaltdauer spezifiziert ist und der tatsächliche Schaltzeitpunkt irgendwo innerhalb des spezifizierten Bereichs liegt. Hochkomplexe Schaltungen sind heute ausnahmslos als rein synchrone Schaltungen aufgebaut.
Anwendungen
Ein Beispiel einer asynchronen Prozessorarchitektur ist der AMULET-Prozessor, basierend auf der ARM-Architektur.