Asynchrones System - Asynchronous system

Der Schwerpunkt dieses Artikels liegt auf der asynchronen Steuerung in digitalen elektronischen Systemen. In einem synchronen System werden Operationen ( Anweisungen , Berechnungen , Logik usw.) durch ein oder mehrere zentralisierte Taktsignale koordiniert . Ein asynchrones System hingegen hat keine globale Uhr. Asynchrone Systeme sind für einen zuverlässigen Betrieb nicht auf strikte Ankunftszeiten von Signalen oder Nachrichten angewiesen. Die Koordination wird unter Verwendung einer ereignisgesteuerten Architektur erreicht, die durch die Ankunft von Netzwerkpaketen , Änderungen (Übergänge) von Signalen, Handshake-Protokolle und andere Methoden ausgelöst wird .

Modularität

Asynchrone Systeme - ähnlich wie die objektorientierte Software - sind typischerweise aus aufgebaut aus modularen ‚Hardware - Objekten‘, die jeweils mit gut definierten Kommunikationsschnittstellen . Diese Module können mit variablen Geschwindigkeiten arbeiten, sei es aufgrund von datenabhängiger Verarbeitung, dynamischer Spannungsskalierung oder Prozessvariation . Die Module können dann ohne Bezug auf ein globales Taktsignal zu einem korrekt arbeitenden System zusammengefügt werden . Typischerweise wird eine geringe Leistung erzielt, da Komponenten nur bei Bedarf aktiviert werden. Darüber hinaus wurde gezeigt, dass mehrere asynchrone Stile getaktete Schnittstellen aufnehmen und dadurch gemischtes Timing-Design unterstützen. Daher entsprechen asynchrone Systeme gut dem Bedarf an konstruktionskorrekten Methoden beim Zusammenbau großer heterogener und skalierbarer Systeme.

Designstile

Es gibt ein großes Spektrum an asynchronen Designstilen mit Kompromissen zwischen Robustheit und Leistung (und anderen Parametern wie Leistung). Die Wahl des Designstils hängt vom Anwendungsziel ab: Zuverlässigkeit/Designfreundlichkeit vs. Geschwindigkeit. Die robustesten Designs verwenden " verzögerungsunempfindliche Schaltungen ", deren Funktion unabhängig von Gate- und Leitungsverzögerungen korrekt ist ; jedoch können mit diesem Stil nur begrenzt nützliche Systeme entworfen werden. Etwas weniger robust, aber viel nützlicher, sind quasi-verzögerungsunempfindlichen Schaltungen (auch als geschwindigkeitsunabhängigen Schaltkreisen bekannt), wie beispielsweise verzögerungsunempfindlichen Minterm - Synthese , die korrekt arbeiten , unabhängig von Gate - Verzögerungen ; die Drähte an jedem Fanout- Punkt müssen jedoch auf ungefähr gleiche Verzögerungen abgestimmt werden. Weniger robuste, aber schnellere Schaltungen, die einfache lokalisierte einseitige Timing-Beschränkungen erfordern , umfassen Controller , die einen Fundamentalmodus-Betrieb verwenden (dh mit Setup/Hold-Anforderungen, wenn neue Eingaben empfangen werden können) und gebündelte Datenpfade mit angepassten Verzögerungen (siehe unten). Im Extremfall wurden hochleistungsfähige "zeitgesteuerte Schaltungen" vorgeschlagen, die enge zweiseitige Timing-Beschränkungen verwenden, bei denen der Takt immer noch vermieden werden kann, aber eine sorgfältige Abstimmung der physikalischen Verzögerung erforderlich ist, wie beispielsweise für einige Hochgeschwindigkeits- Pipeline- Anwendungen.

Asynchrone Kommunikation

Asynchrone Kommunikation wird typischerweise auf Kommunikationskanälen durchgeführt . Die Kommunikation wird sowohl zum Synchronisieren von Operationen des nebenläufigen Systems als auch zum Übergeben von Daten verwendet. Ein einfacher Kanal besteht normalerweise aus zwei Drähten: einer Anforderung und einer Bestätigung. In einem '4-Phasen- Handshaking- Protokoll ' (oder Rückkehr auf Null) wird die Anforderung von der Senderkomponente bestätigt, und der Empfänger antwortet, indem er die Bestätigung bestätigt; dann werden beide Signale der Reihe nach deaktiviert. Bei einem '2-Phasen- Handshake- Protokoll ' (oder Übergangssignalisierung) schaltet der Anforderer einfach den Wert auf der Anforderungsleitung (einmal) um, und der Empfänger antwortet, indem er den Wert auf der Bestätigungsleitung umschaltet. Kanäle können auch erweitert werden, um Daten zu kommunizieren.

Asynchrone Datenpfade

Asynchrone Datenpfade werden typischerweise unter Verwendung mehrerer Schemata codiert. Robuste Schemata verwenden zwei Drähte oder "Schienen" für jedes Bit, die als "Dual-Rail-Codierung" bezeichnet werden. In diesem Fall wird die erste Schiene geltend gemacht, um einen 0-Wert zu übertragen, oder die zweite Schiene wird geltend gemacht, um einen 1-Wert zu übertragen. Die geltend gemachte Schiene wird dann auf Null zurückgesetzt, bevor der nächste Datenwert übertragen wird, wodurch "keine Daten" oder ein "Abstandshalter"-Zustand angezeigt wird. Ein weniger robustes, aber weit verbreitetes und praktisches Schema wird als „Single- Rail- Bundleed Data“ bezeichnet. Hier kann ein Single-Rail-Funktionsblock (dh im synchronen Stil) mit einer begleitenden angepassten Worst-Case- Verzögerung verwendet werden. Nachdem gültige Dateneingaben ankommen, wird ein Anforderungssignal als Eingabe für die angepasste Verzögerung geltend gemacht . Wenn die angepasste Verzögerung eine 'fertige' Ausgabe erzeugt, hat der Block garantiert die Berechnung abgeschlossen. Obwohl dieses Schema zeitliche Beschränkungen hat, sind sie einfach, lokalisiert (im Gegensatz zu synchronen Systemen ) und einseitig, daher sind sie normalerweise leicht zu validieren.

Literatur

Die Literatur auf diesem Gebiet existiert in einer Vielzahl von Konferenz- und Zeitschriftenbänden. Das führende Symposium ist das 1994 gegründete IEEE Async Symposium (International Symposium on Asynchronous Circuits and Systems). Seit Mitte der 1980er Jahre wurden auch eine Vielzahl von asynchronen Beiträgen in Konferenzen wie IEEE/ACM Design Automation Conference , IEEE International Conference . veröffentlicht on Computer Design , IEEE/ACM International Conference on Computer-Aided Design , International Solid-State Circuits Conference und Advanced Research in VLSI sowie in führenden Zeitschriften wie IEEE Transactions on VLSI Systems, IEEE Transactions on Computer-Aided Design of Integrierte Schaltkreise und Systeme und Transaktionen auf verteilten Computern.

Siehe auch

Verweise

  • SM Nowick und M. Singh, „Asynchronous Design – Teil 1: Überblick und jüngste Fortschritte“ , IEEE Design and Test, vol. 32:3, S. 5–18 (Mai/Juni 2015).
  • SM Nowick und M. Singh, „Asynchronous Design – Part 2: Systems and Methodologies“ , IEEE Design and Test, vol. 32:3, S. 19–28 (Mai/Juni 2015)
    • Diese beiden Artikel bieten eine umfassende und moderne Momentaufnahme des Stands der Technik des asynchronen Designs. Sie umfassen eine kurze Geschichte des asynchronen Designs sowie eine technische Einführung in Handshaking-Protokolle und Datencodierung, gefahrenfreie Logik und Controller-Design. Sie decken auch die jüngsten industriellen Erfolge in Mainstream-Technologien (IBM, Intel, Philips Semiconductors usw.) sowie die jüngsten Anwendungen in aufstrebenden Bereichen (neuromorphe Computer, flexible Elektronik, Quantenzellularautomaten , zeitkontinuierliche DSPs, Ultra-Low-Voltage-Design) ab , extreme Umgebungen). Hebt ausführlich mehrere Anwendungsbereiche mit einer breiten Palette zitierter Veröffentlichungen hervor: GALS-Systeme, Networks-on-Chip, Computerarchitektur, Testing und Design-for-Testability sowie CAD-Tool-Entwicklung.
  • Claire Tristram, "Es ist Zeit für Clockless Chips", Titelgeschichte, Technology Review Magazine des MIT, vol. 104:8, S. 36–41, Oktober 2001.
  • CH van Berkel, MB Josephs und SM Nowick, Applications of Asynchronous Circuits , Proceedings of the IEEE, Vol. 2, No. 87, Nr. 2, S. 223–233, Februar 1999. ( Diese gesamte Ausgabe ist mit vielen anderen relevanten Artikeln den asynchronen Schaltungen gewidmet .)
  • L. Lavagno und SM Nowick, "Asynchronous Control Circuits", Kapitel 10 in der Hrsg. Soha Hassoun und Tsutomu Sasao (2002). Logische Synthese und Verifikation . Kluwer akademischer Verlag. ISBN 0-7923-7606-4.CS1-Pflege: Zusatztext: Autorenliste ( Link ), S. 255–284,( Enthält Hinweise auf neuere asynchrone Chips sowie eine Abdeckung von CAD-Techniken für asynchrone Steuerschaltungen .)

Angepasst von Steve Nowicks Kolumne im ACM SIGDA e-newsletter von Igor Markov
Originaltext ist verfügbar unter https://web.archive.org/web/20060624073502/http://www.sigda.org/newsletter/2006/ eNews_060115.html


Externe Links