240 likes | 420 Views
Taktlose Gesellen: Asynchrone Schaltungen Dr. Christoph Grimm Professur Technische Informatik J. W. Goethe-Universität Frankfurt. 1. 0. t. Synchron/Asynchron. synchron Wort vereint zwei altgriechische Wortstämme: syn (mit, gemeinsam) und chronos (Zeit).
E N D
Taktlose Gesellen: Asynchrone Schaltungen Dr. Christoph GrimmProfessur Technische InformatikJ. W. Goethe-Universität Frankfurt
1 0 t Synchron/Asynchron • synchron Wort vereint zwei altgriechische Wortstämme:syn (mit, gemeinsam) undchronos (Zeit). • Es bedeutet im ursprünglichen Sinn „gleichzeitig“ oder „zeitlich übereinstimmend“. • Quelle: Wikipedia (www.wikipedia.org) Aktionen werden von gemeinsamem, globalen Takt synchronisiert.
Synchron/Asynchron • asynchron gegenteilige Bedeutung von Synchron: fehlende Abstimmung, auch: zeitlich versetzt • Quelle: Wikipedia (www.wikipedia.org) Keine globale Synchronisation durch Takt. Lokale Synchronisation benachbarter Objekte. Häufig in der Natur – aber bei Schaltungen eher exotisch!
Taktlose Gesellen:Asynchrone Schaltungen • Synchrone Schaltungen und ihre Eigenschaften • Potenzial und Probleme asynchroner Schaltungen • Aktuelle Ansätze (Auswahl) • Ausblick
T T T zi 1 Verzögerungen … 0 t Synchrone SchaltungenGrundelement: Schaltnetze Eingabe: Bitvektor X=<x1 ... xn> Ausgabe: Bitvektor Z=<z1 ... zm > = f(x1 , ... , xn) x1 z1 Gatter & & xn zn kombinatorischer Hazard Richtige Ausgabe erst nach gewisser Zeit …
Synchrone SchaltungenSynchron sequenzielle Schaltungen • Schaltnetz berechnet aus • Eingabe X = <x1 … xn > • Zustand Y = <y1 … yp > (gespeichert) • Folgezustand W = <w1 … wp> Ausgabe Z = <z1 … zm> • Taktsignal - neuer Rechenschritt: • Y := W 1 0 t t_clk
Synchrone SchaltungenTaktbaum, Taktversatz Auf Chips sind viele Speicher räumlich weit verteilt und über gemeinsamen Takt synchronisiert. Takt wird auf Chips über den „Taktbaum“ verteilt. Je nach Abstand der Speicher zum Taktgenerator entsteht durch Verzögerungen in den Leitungen ein Taktversatz. Schalt-netz Schalt-netz Schalt-netz Schalt-netz Schalt-netz Schalt-netz 1 0 t
Synchrone SchaltungenEigenschaften - Rechengeschwindigkeit • Grobes Maß für Rechengeschwindigkeit: Taktfrequenz f = 1/tclk • tclk muss größer sein als: • Längstmögliche Laufzeit durch Gatternetz und Speicher (incl. Setup/Hold) • + maximal möglicher Taktversatz tclk 1 0 t Die Taktfrequenz von synchronen Schaltungen orientiert sichan „worst-case“ Betrachtungen. Performance synchroner Schaltungen ist weit unter ihrem tatsächlichen Potenzial.
Synchrone SchaltungenEigenschaften - Leistungsaufnahme • Leistungsaufnahme ~ Schaltfrequenz * Chipfläche • Ungünstig: • Taktbaum schaltet ständig mit einer sehr hohen Frequenz • Taktbaum heute von Chipfläche her dominant. • Leistungsaufname synchroner Schaltungen oft problematisch: Pentium 4 ca. 100 W Leistungsaufnahme (Ströme >50 A) Die Leistungsaufnahme von synchronen Schaltungen wird heutevom Taktbaum dominiert.
Taktlose Gesellen:Asynchrone Schaltungen • Synchrone Schaltungen und ihre Eigenschaften • Potenzial und Probleme asynchroner Schaltungen • Aktuelle Ansätze (Auswahl) • Ausblick
Asynchrone SchaltungenPotenzial • Asynchrone Schaltungen: • Kein globaler Takt, kein Taktbaum notwendig! • Vorteile: • Bessere Performance: • Berechnung unmittelbar nach Eingabe bzw. Zustandsänderung. • Niedrigere Leistungsaufnahme: • Kein Taktbaum deutlich weniger Verlustleistung • weniger Chipfläche • Stromaufnahme nur, wenn gerechnet wird.
Asynchrone SchaltungenKlassisch: Asynchronous FSM • Asynchronous FSM (Unger’69): • Schaltnetz berechnet Zustandsübergangsfunktion • Verzögerungen T1 … Tp in Rückführung ersetzen getakteten Speicher. • SIC, Single Input Change machine • Ein xi, i 2 {1,…,n} ändert sich,Schaltnetz berechnet Z, W • (2) Solange Y W: Y := W; Schaltnetz berechnet Z, W; • (3) Goto (1)
Asynchrone SchaltungenKlassisch: Asynchronous FSM MIC, Multiple Input Change machine Bei (1) können sich mehrere xi „gleichzeitig“ ändern. • Unrestricted Input Change machine • Bei (2) wird nicht bis zu Stabilität iteriert, sondern direkt neue Eingabe.
KombinatorischeHazards • Zeitweise liefert Schaltnetz falsche Ergebnisse … • Durch geeignete Schaltnetze leicht zu vermeiden. • Sequenzielle Hazards • Ursache: Mehrkomponentenübergänge • an Eingängen des Schaltnetzes Asynchrone SchaltungenProblem …
Asynchrone SchaltungenMehrkomponentenübergänge Mehrkomponentenübergänge = Änderung von mehr als 1 Bit. Beispiel: Übergang Bitvektor (Eingabe) X=„00“ X=„11“ Asynchrone Schaltung:Je nachdem, in welcher Reihenfolge sich Bits ändern: 00 10 11 oder00 01 11 oder00 11 Dieses Phänomen wird als Lauf bezeichnet. 1 0 0 1 0 1 0 1 Synchrone Schaltung:Nur Werte, die durch Takt bestimmt werden, werden betrachtet, also 00 11
Asynchrone Schaltungen Problem: Kritische Läufe • Beispiel: Asynchrone 2-Bit Zählerschaltung mit kritischem Lauf Läufe, die zu unterschiedlichen Folgezuständen führen, werden alskritische Läufe bezeichnet.Vermeidung: geeignete Zustandscodierung, Timing: Verzögerungen einführen.
Asynchrone Schaltungen Problem: Essenzielle Hazards Ein essenzieller Hazard ist ein kritischer Lauf zwischen einer Eingangsvariablen und einer Rückkopplungsvariablen. Vermeidung: andere Zustandsübergangsfunktion, Timing: Verzögerung in Rückführungen einfügen.
Also doch lieber synchron ? • Synchrone Schaltungen und ihre Eigenschaften • Potenzial und Probleme asynchroner Schaltungen • Aktuelle Ansätze (Auswahl) • Ausblick
Aktuelle Ansätze (Auswahl) • Modellierung asynchroner Schaltungen • Lokale Synchronisation • Baukästen für komplexe Systeme
Aktuelle Ansätze (Auswahl)Lokale Synchronisation Sender Empfänger Daten Bundled Data: +/- REQ: Daten gültig +/- ACK: Daten übernommen REQ Hand-shake Hand-shake ACK Dual rail: 2 Leitungen/Bit: 00 = Ungültig 01 = 0 10 = 1 11 = Fehler Sender Empfänger ……….. ACK
C1 C3 C2 Aktuelle Ansätze (Auswahl)Sutherland´89: Micropipeline REQ ACK REQ (in) T ACK (in) REQ Async.Sch. Async.Sch. Speicher Latch Speicher Latch Speicher Latch ACK REQ ACK ACK (out) REQ (out)
Amulet2e:ARM7 – Prozessor, asynchron implementiert (Micropipeline) TITAC-2:MIPS R2000-Prozessorasynchron implementier (Micropipeline) Aktuelle Ansätze (Auswahl)Vergleich von Ergebnissen TITAC-2: Versorgungsspg. 1.5V-6VChiptemperatur -196°C – 100°C
Aktuelle Ansätze (Auswahl)auch noch wichtig und interessant … • Muller-C-Gates • Burst - Mode Automaten • Automatische Synthese aus z. B. aus Petri-Netzen, OCCAM, etc. • Schnittstelle synchron/asynchron !!! • Zero-Convention-Logic • …
Ausblick … • Werden alle Schaltungen asynchron aufgebaut? • Sicher nicht: Es fehlen Tools, Erfahrung und „Notwendigkeit“. • Aber Asynchrone Schaltungen werden öfter Nischen erobern, insbesondere bei extremen Anforderungen für Low-Power, z. B. in Handy, Medizintechnik • Beispiel Philips: Asynchroner Mikroprozessor für Low-Power Anwendungen: ¼ Leistungsaufnahme verglichen mit synchroner Realisierung, die für „Low-Power“ optimiert war.