Hardwarearchitekturen und Rechensysteme

Slides:



Advertisements
Ähnliche Präsentationen
Dauermagnete Bei magnetischen Materialien unterscheidet man Eisenkerne bzw. Weicheisenstücke und Dauermagnete bzw. Hart-magnetische Materialien. Dauermagnete.
Advertisements

TAGUNG DER DEUTSCH-LUSITANISCHEN JURISTENVEREINIGUNG O processo penal português Panorâmica introdutória Der portugiesische Strafprozess ein einführender.
Ach wie gut, daß niemand weiß Der Schutz von Wissen
Herzlich Willkommen bei SIMPLE STABLE BULDING
Adjektivendungen Tabellen und Übungen.
ZWILLING Neuheiten 2008.
Das Hexenkochbuch Nicht Rattenschwänze, Spinnenbein
 Präsentation transkript:

Hardwarearchitekturen und Rechensysteme Asynchrone sequenzielle Schaltungen (asynchrone Schaltwerke)

Gliederung 5.1 Asynchrone Schaltwerke 5.2 Register

Motivation Einige typische Schaltungen lassen sich nicht mit Kombinatorik alleine realisieren. Beispiele dafür sind: Kombinatorik ausreichend Addierer Multiplexerschaltungen zweistufige Logik ... Ã ein Gedächtnis wird benötigt, um den vorangegangenen Zustand mit in die nächste Berechnung einfließen zu lassen. Dies wird durch eine Rückkopplung eines oder mehrerer Ausgänge der Schaltung zu den Eingängen der Schaltung realisiert. Kombinatorik nicht ausreichend Zähler Fahrstuhlschaltungen Programmabarbeitung ...

Kombinatorischer Teil: Motivation 2 Beispiel für eine Schaltung mit Rückkopplung: Zähler Die Zählerschaltung muss sich jeweils merken, welchen Zählerstand sie im vorigen Schritt hatte (nalt ). Im kombinatorischen Teil der Schaltung wird der Zähler um 1 erhöht und das neue Ergebnis (nneu) für den nächsten Zählschritt wiederum zum Eingang rückgeführt. nneu = nalt + 1 Zählsignal 1 Kombinatorischer Teil: Addierer Ergebnis nalt Speicher nneu

Schaltnetz / Schaltwerk Schaltnetze (kombinatorische Schaltungen): Die Ausgabe hängt lediglich von den Werten der Eingangsvariablen zum gleichen Zeitpunkt ab. Schaltwerke (sequentielle Schaltungen): Die Ausgabewerte hängen auch von Belegungen der Eingangsvariablen zu vergangenen Zeitpunkten ab. Man fasst hierbei alle Abhängigkeiten von Werten der Vergangenheit ein einem so genannten Zustand zusammen

Formen von Schaltwerken Einfachste Realisierung des Zustandsspeichers: Rückkopplung im Schaltnetz. Die Totzeit der Rückkopplung stellt hierbei den Zustandsspeicher dar und trennt Zustand von Folgezustand. Da sich hierbei Änderungen der Eingabe jederzeit auf den Zustand auswirken, spricht man von einem asynchronen Schaltwerk Werden die Zustandsspeicher hingegen von einem zentralen Synchronisierungssignal (Takt) gesteuert, so spricht man von einem synchronen Schaltwerk

5.1 Asynchrone Schaltwerke Rückgekoppelte Schaltnetze: Das Schaltnetz besitzt jetzt eine Rückkopplung. Dadurch ist die Ausgabe nicht mehr allein vom Eingabevektor abhängig, sondern auch vom inneren Zustand. Die Analyse wird deshalb sehr schwierig. Aus diesem Grund wird zunächst als Vereinfachung ein Schaltnetz ohne innere Verzögerung betrachtet. netz x 1 n y m z p Schalt-

Rückgekoppelte Schaltung Rückgekoppeltes Schaltnetz ohne innere Verzögerung: Der Gesamtzustand des Systems wird aus dem Eingangsvektor und dem Rückkopplungszustand bestimmt. Der Zustand des Systems ist stabil, wenn: netz x 1 n w p T y m z Schalt-

Rückgekoppelte Schaltung Rückgekoppelte Schaltung ohne innere Verzögerung: Weiterhin gilt für i = 1, …, p und j = 1, …, m: Anregungsfunktionen: Ausgangsfunktionen: Vereinfachend wird angenommen, dass sich der Eingangsvektor nur ändert, wenn der Zustand des Systems stabil ist.

Rückgekoppelte Schaltung Beispiel: Übergangs- und Ergebnistabelle: ideales Schaltnetz w 1 x 1 z 1 T 1 x 2 1 z 2

Zustandsdiagramm – Beispiel Notation: x1x2/w1z2 an den Übergängen, z=z1 im Zustand Die Variable z bezeichnet den aktuellen Zustand und die Variable w1 den Folgezustand der rückgekoppelten Schaltung. Für x1x2 = 00 ist die Schaltung unabhängig vom Zustand stabil. Eine solche Schaltung heißt bistabile Schaltung oder auch Flipflop. Befindet sich die Schaltung im Zustand z = 0, dann kann sie mit x1x2 = 01 in den Zustand z = 1 gebracht werden. Liegt anschließend x1x2 = 0- an, bleibt der Zustand z = 1 stabil. Befindet sich die Schaltung im Zustand z = 1, dann kann sie mit x1x2 = 10 in den Zustand z = 0 gebracht werden. Liegt anschließend x1x2 = -0 oder oder x1x2 = 11 an, bleibt der Zustand z = 0 stabil. -0/01 1 1-/00 01/10 0-/10 11/00

Einschränkungen Einschränkungen der bisherigen Betrachtungen: Keine Änderung des Eingangsvariablen, solange die Schaltung nicht in einem stabilen Zustand ist. Es sind nur Einkomponentenübergänge des Zustandes möglich, da nur ein Verzögerungsglied vorhanden ist.

Läufe in rückgekoppelten Schaltungen Lauf: Bei mehreren rückgekoppelten Variablen können unterschiedliche Verzögerungszeiten der einzelnen Variablen zu unterschiedlichen Ergebnissen führen. Dies ist abhängig davon, in welcher Reihenfolge die rückgekoppelten Variablen ihren Wert ändern. Kritischer Lauf: Ein Lauf, der je nach Laufzeitrelationen zu verschiedenen stabilen Endzuständen führt, heißt kritischer Lauf. y 1 T 2 Verknüpfungs- netz w z x

Fehlverhalten durch kritische Läufe Beispiel: Zählerschaltung (von 0 bis 3) Notation an der Kante: x 1 01 10 00 11 Mehrkomponenten- übergang 3 2

Analyse möglicher Übergänge Mögliche Übergänge aus instabilen in stabile Zustände: Schlußfolgerung: Durch unterschiedliche Laufzeiten der Rückkopplungsvariablen können kritische Läufe bei x = 1 entstehen. = 2 w 1 z T > < für x = 1 11 10 01 00 für x = 0 00 10 T < T 1 2 T = T 1 2 T > T 1 2 01 11 w = z 1 1 w = 1 2

Im Schrittmodus mit Logiflash = 2 w 1 z T > < für x = 1 11 10 01 00

Mögliche Formen des Zustandsübergangs: Direkter Übergang: Ein stabiler Zustand geht bei Eingabewechsel direkt in einen stabilen Folgezustand über Indirekter Übergang: Der stabile Folgezustand stellt sich über mehrere instabile Zwischenzustände ein Oszillation: Es stellt sich überhaupt kein stabiler Folgezustand ein

Vermeidung von Fehlverhalten durch Läufe Beispiel: Gray-Code-Zählerschaltung (von 0 bis 3) Schlußfolgerung: Bei einem Wechsel von einem Zustand in den nächsten ändert sich jeweils nur eine Variable. Es können daher keine kritischen Läufe auftreten. 1 Notation an der Kante: x 01 00 10 11 2 3

NOR-Flipflop

Detailanalyse NOR-Flipflop rücksetzen unzulässig setzen speichern 00 11 x 1 2 = 01 T <=> > < 10 Zustandsübergänge für verschiedene Eingangszustände und Laufzeitrelationen: Bei Eingangsvektor x1x2 = 00 kritischer Lauf, wenn z1z2 = 00 oder z1z2 = 11, u. U. sogar Schwingen. < 2 T 10 01

Weiteres Problem: Hazardfehler während Übergängen Treten während Zustandsübergängen Hazardfehler auf, so können ebenfalls unerwünschte Endzustände oder Oszillationen auftreten Nochmals das Beispiel vom Anfang: x1x2 z1 00 01 11 10 0 0 1 0 0 1 1 1 0 0 ideales Schaltnetz w 1 x 1 z 1 T 1 x 2 z 1 2 Stabiler Übergang w1 = x1x2  x1z1

Weiteres Problem: Hazardfehler während Übergängen x1 0 0 0 1 1 0 0 1 w1 = x1x2  x1z1 x2 1 z1 Statischer 0 Funktionshazard w x1x2 z1 00 01 11 10 0 0 1 0 0 1 1 1 0 0 ideales Schaltnetz 1 x 1 z 1 T 1 x 2 z 1 2 Falscher Übergang bei Hazardfehler

Zur Vermeidung von Problemen bei asynchronen Schaltwerken Wettlauffreie Zustandskodierung Hazardarme Schaltnetze entwerfen Betrieb im Normal Fundamental Mode: Es ändert sich maximal eine Eingangsvariable gleichzeitig Ein Eingabewechsel erfolgt erst dann, wenn alle internen Änderungen abgeklungen sind

5.2 Register Schaltsymbol S Q 1 R Das Basis RS-Flipflop (RESET/SET) aus NOR-Gattern: Zustandsfolgetabelle: Schaltsymbol S Q 1 R

RS-Flipflop Erweiterte Zustandsfolgetabelle:

RS-Flipflop mit Pegelsteuerung (Latch) Schaltung: C = Clock (Takt) Schaltsymbol: C S Q R

RS-Flipflop mit Pegelsteuerung (Latch) Zustandsfolgetabelle: Erweiterte Zustandsfolgetabelle:

Impulsdiagramm für das RS-Flipflop Ohne Verzögerung: C Q 1 t S R 3 4 2

Impulsdiagramm für das RS-Flipflop Mit Verzögerung: C 1 t t t t R 1 2 3 1 t S 1 t Q 1 t t t t PLH PHL PHL

D-Flipflop mit Pegelsteuerung Beim D-Flipflop handelt es sich um ein erweitertes RS-Flipflop mit nur einem Eingang (D). Schaltung: Symbol: Wie in der Schaltung zu sehen ist, kann das RS-Flipflop nur mit 01 oder 10 angesteuert werden. Die unzulässige Eingangsbelegung 11 des RS-Flipflops wird vermieden. D S Q C 1 R D Q C

Taktflankensteuerung Bei einem taktflankengesteuerten Flipflop erfolgt die Fortschaltung der Eingangsbelegung nicht fortwährend beim Taktpegel 1, sondern nur zum Zeitpunkt der Taktflanke, d.h. beim Wechsel des Taktpegels von 0 nach 1 bzw. 1 nach 0 für einen invertierten Takteingang. Die Taktflankensteuerung wird durch einen spitzen Pfeil am Takteingang im Flipflop-Symbol dargestellt. Latch Master-Slave Flipflop Steuerung Pegelsteuerung Flankensteuerung Transparenz Bei C=1 Nein Speicherung Bei C=0 Bei C=0 und C=1 Übernahme des zu speichernden Zustands C=1  0 Größe Klein Groß

RS-Master-Slave-Flipflop mit negativer Taktflankensteuerung Schaltung: Symbol: Die Bezeichnungen - Zwei-Pegelgesteuertes Flipflop - Takflankengesteuertes Flipflop für dieses Flipflop sind äquivalent. S Q C R Q

RS-Master-Slave Flipflop mit negativer Taktflankensteuerung Zustandsfolgetabelle:

Impulsdiagramm RS-Master-Slave-Flipflop mit negativer Taktflankensteuerung :

RS Master-Slave-Flipflop aus NAND-Gattern

Funktionsablauf Master-Slave Flipflop U1 Schaltschwelle des Inverters t1 Sperren Slave-Flipflop U2 Schaltschwelle der NAND-Gatter t2 Freigabe Master-Flipflop t3 Sperren Master-Flipflop t4 Freigabe Slave-Flipflop Anmerkung: Korrekte Funktion des Master Slave wenn - obiges Schwellspannungsdiagramm eingehalten wird: Aufwändig in der Produktion - Setup und Hold- zeiten eingehalten werden

D-Master-Slave-Flipflop mit Taktflankensteuerung Q C 1 R

JK-Master-Slave-Flipflop mit Taktflankensteuerung Hierbei handelt es sich um ein erweitertes RS Flipflop, bei dem die die ungültige Eingangskombination 11 zum Wechsel des Zustandes genutzt wird J K Qn+1 0 0 Qn speichern 1 0 1 setzen 0 1 0 rücksetzen 1 1 Qn wechseln (vereinfachte Tabelle ohne Takt)

JK-Master-Slave-Flipflop mit Taktflankensteuerung Schaltplan: & d = QK  QJ K  1 J & D Q C C Q J Q Symbol: C Q K

T-Master-Slave-Flipflop Schaltung: Symbol: T = Toggle (Umschalten, Kippen) T J Q C C Q K T Q C T Qn+1 0 Qn 1 Qn Q

Übersicht: Flipflop-Typen ohne Takt- Pegel- Flanken- steuerung steuerung steuerung RS-Flipflop S S S C C R R R D-Flipflop D D C C T-Flipflop T C J JK-Flipflop C K

D C Register D C Das Standardflipflop für die Verwendung in synchronen Schaltungen ist das taktflankengesteuerte D-FlipFlop Es lässt sich durch Anreihung zu einem Register z.B. mit 8Bit Breite anordnen D C D C D C D C D C Hier noch Schieberegister draus bauen! Oder Zaehler! D C

Schieberegister 3-Bit Schieberegister mit taktflankengesteuerten D-Flipflops 3-Bit Schieberegister mit pegelgesteuerten D-Flipflops Sequenzielle Schaltungen werden in der Regel mit taktflankengesteuerten D-Flipflops aufgebaut. Mit pegelgesteuerten Flipflops können die Zustände nicht dauerhaft gespeichert werden.