21.02.2014 Aufrufe

Technische Grundlagen der Informatik

Technische Grundlagen der Informatik

Technische Grundlagen der Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

7.0 Endliche Zustandsautomaten und Steuerwerke<br />

Die Ziele dieses Kapitels sind:<br />

☺ Aufbau und Funktionsweise von Schaltwerken zu verstehen<br />

☺ Verschiedene Realisierungsmöglichkeiten von Schaltwerken mittels<br />

Zustandsautomaten kennen zu lernen<br />

- Mealy- Automat<br />

- Moore-Automat<br />

- Medwedjew-Automat<br />

☺ Beschreibungen von Zustandsautomaten kennen zu lernen<br />

- Graphische Methoden<br />

- Tabellendarstellung ( Automatentabelle )<br />

- Darstellung mittels Schaltfunktionen<br />

☺ Synthese von Zustandsautomaten<br />

☺ Analyse von Zustandsautomaten<br />

☺ Untersuchung des Zeitverhaltens von synchronen Zustandsautomaten<br />

☺ Lernen Zustandsautomaten als Steuerwerk ein zu setzen<br />

Seite 7 - 0<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

7.1 Schaltwerke<br />

Im Gegensatz zu Schaltnetzen, hängen die Ausgänge von Schaltwerken<br />

nicht nur von den Eingangswerten ab, son<strong>der</strong>n auch noch von dem<br />

jeweiligen, aktuellen, inneren Zustand. Daher bestehen Schaltwerke aus<br />

Schaltnetzen, um den Folgezustand und die Ausgangswerte zu berechnen,<br />

und aus Schaltglie<strong>der</strong>n, um den inneren Zustand speichern zu können.<br />

Auch unterscheidet man noch zwischen synchronen und asynchronen<br />

Schaltwerken. Bei synchronen Schaltwerken wird, im Gegensatz zu<br />

asynchronen Schaltwerken, die Weiterschaltung des inneren Zustandes<br />

von einem äußeren Takt vorgegeben. Der zeitliche Ablauf in synchronen<br />

Schaltwerken ist daher leicht nachvollziehbar. Die folgende Abbildung<br />

zeigt den prinzipiellen Aufbau eines Schaltwerkes in <strong>der</strong> Huffmann-<br />

Normalform.<br />

Ein Schaltwerk besteht also aus Speicherglie<strong>der</strong>n um den aktuellen<br />

Zustand zu speichern, und aus einem Schaltnetz, das abhängig vom<br />

aktuellen Zustand, und den Eingangswerten, die Ausgangswerte und den<br />

Folgezustand berechnet. Das Schaltnetz kann in zwei Schaltnetze<br />

aufgeteilt werden. Ein Schaltnetz berechnet die Ausgangswerte und das<br />

an<strong>der</strong>e Schaltnetz berechnet den Folgezustand. Dies ist in nachfolgen<strong>der</strong><br />

Abbildung als Blockschaltbild dargestellt.<br />

Seite 7 - 1<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Die unterschiedlich auftretenden Schaltwerkstypen unterscheiden sich in<br />

ihrer Ausgangsfunktion, also <strong>der</strong> Art und Weise wie die Ausgänge<br />

berechnet werden. Schaltwerke werden mit sogenannten Zustandsautomaten<br />

realisiert, auf die im folgenden näher eingegangen wird.<br />

7.2 Zustandsautomaten<br />

Unter einem Automaten versteht man im Allgemeinen eine<br />

Modellmaschine, die ein System beschreibt. Ein Automat reagiert auf eine<br />

Eingabe und produziert eine Ausgabe, die von <strong>der</strong> Eingabe und vom<br />

momentanen Zustand des Systems abhängt.<br />

Ein Automat wird endlicher Automat genannt, wenn die Menge <strong>der</strong><br />

möglichen Eingabezeichen ( das Eingabealphabet ), die Menge <strong>der</strong><br />

möglichen Ausgabezeichen ( das Ausgabealphabet) und die Zustandsmenge<br />

endlich ist. Formal kann ein endlicher Automat M beschrieben<br />

werden durch:<br />

Seite 7 - 2<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Allen synchronen Zustandsautomaten ist gemeinsam, dass die<br />

Zustandsweiterschaltung durch die ansteigende o<strong>der</strong> abfallende Flanke<br />

eines äußeren Taktsignals erfolgt. Die unterschiedlichen Automatentypen<br />

unterscheiden sich durch die unterschiedlichen Ausführungen <strong>der</strong><br />

Ausgangsfunktion. Diese werden im nachfolgenden näher vorgestellt.<br />

Mealy-Automat<br />

Der Mealy-Automat stellt den universellsten Automatentyp dar. Er wird<br />

durch folgende Schaltfunktionen bestimmt:<br />

Damit ergibt sich für das Blockschaltbild des Mealy-Automaten:<br />

Die Ausgangsfunktion hängt beim Mealy-Automaten nicht nur vom<br />

aktuellen Zustand, son<strong>der</strong>n auch von den jeweiligen Eingangswerten ab.<br />

Die Ausgänge des Mealy-Automaten reagieren also, sofort, nach <strong>der</strong><br />

Verzögerung im Ausgangsschaltnetz, auf Än<strong>der</strong>ungen <strong>der</strong> Eingangssignale.<br />

Seite 7 - 3<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Moore-Automat<br />

Der Moore-Automat wird durch folgende Schaltfunktionen bestimmt:<br />

Damit ergibt sich für das Blockschaltbild des Moore-Automaten:<br />

Die Ausgangsfunktion hängt beim Moore-Automaten nicht direkt von den<br />

Eingangssignalen, son<strong>der</strong>n nur vom aktuellen Zustand ab. Eine<br />

Beeinflussung <strong>der</strong> Ausgangswerte durch die Eingangssignale erfolgt nur<br />

indirekt über den Folgezustand. Daher reagiert ein Moore-Automat mit<br />

seinen Ausgabewerten erst in <strong>der</strong> folgenden Taktperiode auf Än<strong>der</strong>ungen<br />

<strong>der</strong> Eingangswerte. Vom Gesichtspunkt <strong>der</strong> logischen Funktionalität sind<br />

beide Automatentypen gleichwertig, und können ineinan<strong>der</strong> umgewandelt<br />

werden. Der Mealy-Automat kommt in <strong>der</strong> Regel mit weniger Zuständen<br />

aus, und besitzt ein einfacheres Übergangschaltnetz als <strong>der</strong> Moore-<br />

Automat. Dafür ist das Ausgangsschaltnetz des Moore-Automaten<br />

einfacher und seine Ausgabewerte werden quasi-synchron, nach <strong>der</strong><br />

Verzögerung im Ausgangschaltnetz, nur direkt abhängig vom aktuellen<br />

Zustand, ausgegeben. Um beim Mealy-Automaten synchrone Ausgangswerte<br />

zu erhalten, müssen diese am Ausgang über ein synchron<br />

geschaltetes Register ausgegeben werden.<br />

Seite 7 - 4<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Medwedjew-Automat<br />

Der Medwedjew-Automat wird durch folgende Schaltfunktionen<br />

bestimmt:<br />

Damit ergibt sich für das Blockschaltbild des Medwedjew-Automaten:<br />

Die Ausgangsfunktion ist identisch mit dem Zustand, d. h. das<br />

Ausgangschaltnetz fehlt, und die Ausgangssignale ergeben sich direkt aus<br />

<strong>der</strong> Codierung des Zustandes.<br />

Seite 7 - 5<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Beschreibung von Zustandsautomaten<br />

Es gibt verschiedene Möglichkeiten Zustandsautomaten zu beschreiben.<br />

Nachfolgend sind einige aufgeführt auf die mehr o<strong>der</strong> weniger ausführlich<br />

eingegangen wird.<br />

1.) Graphische Darstellungen<br />

- Zustandsübergangsgraphen<br />

- ASM (Algorithmic State Machine ) –Graphen<br />

- Petri-Netze<br />

- Schaltpläne<br />

2.) Tabellendarstellungen<br />

- Zustandsübergangstabelle, Ausgangswertetabelle (Automatentabelle),<br />

Implementierungstabelle<br />

- KV-Diagramme<br />

3.) Schaltfunktionen<br />

Zustandsübergangsgraph<br />

Ein Zustandsübergangsgraph, o<strong>der</strong> einfacher Zustandsgraph, beschreibt<br />

das Verhalten eines Zustandsautomaten in graphischer Darstellung. Er<br />

besteht aus Knoten und Kanten. Die Knoten werden als Kreise gezeichnet<br />

und stellen die inneren Zustände des Zustandsautomaten dar. Die Kanten<br />

werden als richtungsweisende Linien zwischen den Knoten gezeichnet,<br />

und sie stellen die Übergänge zwischen den Zuständen dar.<br />

Grundform eines Zustandsgraphen<br />

Die Eingangswerte, die zu Zustandsän<strong>der</strong>ungen führen werden an die<br />

Kanten geschrieben. Die Ausgangswerte werden bei Mealy-Automaten<br />

ebenfalls an die Kanten geschrieben. Bei Moore-Automaten werden die<br />

Ausgangswerte entwe<strong>der</strong> zu den Zuständen in die Knoten o<strong>der</strong> an die<br />

Knoten geschrieben. Bei Medwedjew-Automaten entsprechen die<br />

Ausgangswerte <strong>der</strong> jeweiligen Zustandskodierung.<br />

Seite 7 - 6<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

In nachfolgen<strong>der</strong> Abbildung ist <strong>der</strong> Zustandsgraph eines Moore-<br />

Automaten a) und eines äquivalenten Mealy-Automaten b) dargestellt.<br />

Der Takt wird in Zustandsgraphen nicht dargestellt. Von einem in den<br />

nächsten Zustand weitergeschaltet wird jedoch nur, wenn die Zustandsübergangsbedingungen<br />

erfüllt sind, und wenn eine Taktweiterschaltung<br />

durch eine ansteigende bzw. abfallende Taktflanke erfolgt. Sind die<br />

Zustandsübergangsbedingungen nicht erfüllt, dann verweilt <strong>der</strong> Automat<br />

solange im jeweiligen Zustand bis sie erfüllt sind.<br />

Automatentabelle<br />

Aus dem Zustandsgraphen kann man die Automatentabelle erzeugen und<br />

umgekehrt. Eine Automatentabelle enthält zwei Einzeltabellen:<br />

1.) Die Zustandsübergangstabelle, die den Folgezustand abhängig vom<br />

momentanen Zustand und den Eingangswerten angibt.<br />

2.) Die Ausgangswertetabelle, in <strong>der</strong> die Ausgangswerte abhängig vom<br />

Zustand, beim Mealy-Automaten zusätzlich abhängig von den<br />

Eingangswerten, aufgeführt sind.<br />

In nachfolgen<strong>der</strong> Abbildung sind die Automatentabellen <strong>der</strong><br />

Zustandsautomaten dargestellt, <strong>der</strong>en Zustandsgraphen zuvor diskutiert<br />

wurden. Bei a) steht die Automatentabelle des Moore-Automaten. Bei b)<br />

steht die Automatentabelle des Mealy-Automaten. Mit n ist <strong>der</strong> aktuelle<br />

Schaltzustand bezeichnet. Mit n+1 ist <strong>der</strong> Schaltzustand des<br />

Folgezustandes bezeichnet.<br />

Seite 7 - 7<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Die Zustandsübergangstabelle dient als Ausgangspunkt zur Herleitung <strong>der</strong><br />

Schaltfunktion des Folgezustandes, woraus das entsprechende Schaltnetz<br />

hergeleitet wird. Mit Hilfe <strong>der</strong> Ausgangswertetabelle wird die<br />

Schaltfunktion des Ausgangsschaltnetzes hergeleitet.<br />

Synthese von Zustandsautomaten<br />

Die Synthese von Zustandsautomaten bedeutet, dass aus einer<br />

funktionellen, verbalen Beschreibung ein Schaltwerk zu entwerfen ist.<br />

Dabei empfiehlt es sich systematisch vorzugehen, wie z.B. nachfolgend<br />

aufgeführt:<br />

1.) Es ist die Zustandsmenge zu ermitteln und eine Festlegung des<br />

Anfangszustandes vor zu nehmen.<br />

2.) Die Eingangs- und Ausgangsgrößen sind fest zu legen.<br />

3.) Der Zustandsgraph ist zu zeichnen.<br />

4.) Die Anzahl <strong>der</strong> Zustände ist zu minimieren, d.h. mehrfach<br />

vorkommende, äquivalente Zustände werden eliminiert.<br />

5.) Die Zustandskodierung ist fest zu legen.<br />

6.) Die Zustandsübergangstabelle ist zu erstellen.<br />

7.) Aus <strong>der</strong> Zustandsübergangstabelle ist, unter Berücksichtigung des<br />

Schaltverhaltens <strong>der</strong> ausgewählten Flip-Flops, die sogenannte<br />

Implementierungstabelle zu erstellen. Bei Verwendung von D-Flip-<br />

Flops entfällt dieser Schritt, da in diesem Fall beide Tabellen gleich<br />

sind.<br />

8.) Aus <strong>der</strong> Implementierungstabelle sind die Übergangsschaltfunktionen<br />

her zu leiten, die zusammen mit dem Schaltverhalten <strong>der</strong><br />

Flip-Flops den Folgezustand bestimmen. Diese Schaltfunktionen<br />

werden auch Anregungsfunktionen ( excitation<br />

Seite 7 - 8<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

functions ) genannt, da sie die Eingangswerte für die Flip-Flops<br />

liefern, und daher bei Schaltvorgängen Än<strong>der</strong>ungen am Ausgang<br />

<strong>der</strong> Flip-Flops hervorrufen.<br />

9.) Die Ausgangswahrheitstabelle ist aufzustellen.<br />

10.) Die Ausgangsschaltfunktion ist aus <strong>der</strong> Ausgangswahrheitstabelle<br />

herzuleiten.<br />

11.) Der Zustandsautomat ist in einem Schaltplan darzustellen. Dazu<br />

sind die Schaltfunktionen in die entsprechenden Schaltnetze zu<br />

übertragen, und es sind die Speicherglie<strong>der</strong> und alle Verbindungen<br />

zu zeichnen.<br />

Bei <strong>der</strong> Codierung <strong>der</strong> Zustände werden die vorkommenden Zustände mit<br />

binärwertigen Ausdrücken bezeichnet. Mehrere unterschiedliche<br />

Codierungsmöglichkeiten werden angewendet:<br />

● Durchnummerierende, binäre Codierung: Bei dieser Codierung<br />

werden die Zustände einfach <strong>der</strong> Reihe nach durchnummeriert. Für n<br />

Zustände werden dann log 2 (n) Flip-Flops benötigt.<br />

● Benachbarte, binäre Codierung: Bei dieser Codierungsart wird die<br />

Codierung eines Zustandes und seines Folgezustandes <strong>der</strong>art gewählt, dass<br />

sich <strong>der</strong> Wert möglichst nur bei einer Bitposition än<strong>der</strong>t (z.B. Gray-Code ).<br />

Dies führt zu einem geringeren Schaltungsaufwand.<br />

● One-Hot-Codierung: Bei dieser Codierungsart wird jedem Zustand<br />

eine eigene Bitposition zugeordnet. Dadurch wird jedem Zustand ein<br />

eigenes Flip-Flop zugeordnet. Dies führt zu einfachen, leicht nachzuvollziehenden<br />

Übergangsschaltnetzen, die kurze Schaltzeiten ermöglichen.<br />

● Ausgangssignalbezogene Codierung: Bei dieser Codierungsart wird<br />

die Codierung auf die benötigten Ausgangssignale abgestimmt. Diese<br />

findet z. B. beim Medwedjew-Automaten Anwendung.<br />

Synthese eines einfachen Moore-Automaten<br />

Die einzelnen Synthese-Schritte sollen anhand <strong>der</strong> Synthese eines Modulo-<br />

6-Aufwärtszählers verdeutlicht werden. Mit einem asynchronen Reset R<br />

soll <strong>der</strong> Zähler in den Ausgangszustand , den Zustand Zahl null, gebracht<br />

werden können. Mit einem Eingangssignal C ( Count-Enable ) soll eine<br />

Zählerfreigabe erfolgen. Die Zustandsmenge entspricht den sechs Zahlen 0<br />

Seite 7 - 9<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

bis 5. Neben dem jeweiligen Zahlenausgang, soll es noch ein Ausgang Y<br />

geben, <strong>der</strong> anzeigt, wenn die Zahl 5 als Zählergebnis vorliegt. Da <strong>der</strong><br />

jeweilige Zählerstand ausgegeben werden soll, ist es sinnvoll für die<br />

Codierung <strong>der</strong> Zustände die durchnummerierende, binäre Codierung zu<br />

wählen. In <strong>der</strong> nachfolgenden Abbildung ist <strong>der</strong> Zustandsübergangsgraph<br />

des Modulo-6-Aufwärtszählers dargestellt.<br />

Für die Implementierung werden D-Flip-Flops mit asynchronem Rücksetzeingang<br />

(Clear) verwendet. Die Zustandsübergangstabelle und die Implementierungstabelle<br />

sind dann identisch, weil bei D-Flip-Flops gilt:<br />

Q n+1 = D. Zustandsübergangstabelle und Implementierungstabelle sind in<br />

nachfolgen<strong>der</strong> Abbildung dargestellt.<br />

Seite 7 - 10<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Mittels KV-Diagrammen ergeben sich daraus die Übergangsschaltfunktionen<br />

in disjunktiver Minimalform.<br />

D 2 = (¬C∧Q 2 )∨(Q 2 ∧¬Q 0 )∨(C∧Q 1 ∧Q 0 )<br />

D 1 = (¬C∧Q 1 )∨(Q 1 ∧¬Q 0 )∨(C∧¬Q 2 ∧ ¬Q 1 ∧Q 0 )<br />

D 0 = (¬C∧Q 0 )∨(C ∧¬Q 0 ) = C XOR Q 0<br />

Die Ausgangswahrheitstabelle ist in nachfolgen<strong>der</strong> Abbildung dargestellt.<br />

Aus <strong>der</strong> Ausgangswahrheitstabelle ergibt<br />

sich sofort die Ausgangsschaltfunktion.<br />

Y = Q 2 ∧¬Q 1 ∧Q 0<br />

Beim zeichnen des Schaltplans empfiehlt es sich zuerst die Flip-Flops ein<br />

zu zeichnen. Dann sind die Übergangsschaltfunktionen und die<br />

Ausgangsschaltfunktion ein zu zeichnen. In nachfolgen<strong>der</strong> Abbildung ist<br />

<strong>der</strong> Schaltplan dargestellt, den man für den Modulo-6-Zähler erhält.<br />

Seite 7 - 11<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Analyse von Zustandsautomaten<br />

Einen Zustandsautomaten zu analysieren bedeutet sein Schaltverhalten zu<br />

untersuchen und zu beschreiben.<br />

Folgendes systematische Vorgehen ist zu empfehlen:<br />

1.) Aus dem Schaltnetz <strong>der</strong> Übergangslogik sind die Anregungsfunktionen<br />

herzuleiten.<br />

2.) Unter Verwendung <strong>der</strong> Übergangsfunktion <strong>der</strong> jeweiligen Flip-<br />

Flops sind aus den Anregungsfunktionen die Zustandsübergangsfunktionen<br />

zu ermitteln.<br />

3.) Mit Hilfe <strong>der</strong> Zustandsübergangsfunktionen kann die Zustandsübergangstabelle<br />

aufgestellt werden.<br />

4.) Aus dem Schaltnetz sind die Ausgangsschaltfunktionen herzuleiten.<br />

5.) Mit Hilfe <strong>der</strong> Ausgangsschaltfunktionen kann die Ausgangswertetabelle<br />

aufgestellt werden.<br />

6.) Mittels <strong>der</strong> Zustandsübergangstabelle und <strong>der</strong> Ausgangswertetabelle<br />

kann <strong>der</strong> Zustandsgraph gezeichnet werden und das Zeitverhalten<br />

des Automaten kann analysiert werden.<br />

In <strong>der</strong> folgenden Abbildung ist <strong>der</strong> Schaltplan eines Zustandsautomaten<br />

dargestellt, <strong>der</strong> analysiert werden soll.<br />

Seite 7 - 12<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Aus dem Schaltplan lassen sich sofort die Anregungsfunktionen <strong>der</strong> D-<br />

Flip-Flops entnehmen. Sie lauten:<br />

D 1 = (¬C∧Q 1 )∨(Q 1 ∧¬Q 0 )∨(C∧¬Q 1 ∧Q 0 )<br />

D 0 = (¬C∧Q 0 )∨ (C∧¬Q 0 )<br />

Da die Übertragungsfunktion für D-Flip-Flops Q n+1 = D lautet, ergeben<br />

sich sofort die Zustandsübergangsfunktionen des Automaten:<br />

Q 1n+1 = (¬C∧Q 1 )∨(Q 1 ∧¬Q 0 )∨(C∧¬Q 1 ∧Q 0 )<br />

Q 0n+1 = (¬C∧Q 0 )∨ (C∧¬Q 0 )<br />

Mit <strong>der</strong>en Hilfe lässt sich die Zustandsübergangstabelle erstellen, die in<br />

nachfolgen<strong>der</strong> Abbildung dargestellt ist.<br />

Die Ausgangschaltfunktion lässt sich unmittelbar dem Schaltplan<br />

entnehmen. Sie lautet: Y = Q 1 ∧Q 0<br />

Daraus ergibt sich die Ausgangswahrheitstabelle, die in nachfolgen<strong>der</strong><br />

Abbildung dargestellt ist.<br />

Seite 7 - 13<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Da nun die komplette Automatentabelle aus Zustandsübergangstabelle und<br />

Ausgangswahrheitstabelle vorliegt, sind alle Informationen vorhanden um<br />

den Zustandsübergangsgraph zu zeichnen. In nachfolgen<strong>der</strong> Abbildung ist<br />

<strong>der</strong> Zustandsübergangsgraph des untersuchten Automaten dargestellt.<br />

Zur vollständigen Analyse kann man noch ein Impulsdiagramm erstellen,<br />

um das Verhalten des Automaten als Funktion <strong>der</strong> Zeit zu untersuchen. Ein<br />

solches Impulsdiagramm ist in nachfolgen<strong>der</strong> Abbildung dargestellt.<br />

Da <strong>der</strong> Ausgang nicht von den Eingängen abhängt, und auch nicht<br />

identisch ist mit den Zuständen, handelt es sich um einen Moore-<br />

Automaten. Dies ergibt sich auch aus <strong>der</strong> zeitlichen Analyse des<br />

Impulsdiagramms. Der Automat besitzt zudem ein asynchrones Reset mit<br />

dem er in den Anfangszustand versetzt werden kann. Es handelt sich bei<br />

dem Automaten um einen Modulo-4-Aufwärtszähler.<br />

Seite 7 - 14<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Ungenutzte Zustandskodierungen in Zustandsautomaten<br />

Wird eine bestimmte Kodierung für die Zustände festgelegt, so kommt es<br />

vor, dass einige Kodierungswerte ungenutzt bleiben, da es weniger<br />

relevante Zustände als mögliche Kodierungswerte gibt. Wenn sichergestellt<br />

ist, dass <strong>der</strong> Zustandsautomat nie in einen Zustand gelangen kann,<br />

<strong>der</strong> einer solchen Kodierung entspricht, dann kann man diese Zustände bei<br />

<strong>der</strong> Synthese als „dont’t-care“-Zustände betrachten.<br />

Kann ein Zustandsautomat in einen solchen Zustand gelangen, dann ist bei<br />

<strong>der</strong> Synthese sicherzustellen, dass er ohne Bedingung sofort von diesem<br />

Zustand in den Startzustand übergeht. Dazu werden diese Zustände bei <strong>der</strong><br />

Synthese explizit <strong>der</strong>art berücksichtigt, dass ihr Folgezustand <strong>der</strong><br />

Startzustand ist.<br />

Zeitverhalten von synchronen Zustandsautomaten<br />

Bei Zustandsautomaten hängt <strong>der</strong> Folgezustand Q n+1 vom aktuellen<br />

Zustand Q n ab, d. h. <strong>der</strong> aktuelle Zustand wird in das Schaltnetz zurückgekoppelt,<br />

das den Folgezustand berechnet. Aufgrund dieser Rückkopplung<br />

ergeben sich zwei zeitliche Rückkopplungsbedingungen, die erfüllt<br />

sein müssen, damit ein Zustandsautomat fehlerfrei funktionieren kann.<br />

Zeitverhältnisse bei einem synchronen Zustandsautomaten<br />

Wird bei <strong>der</strong> n-ten Taktflanke <strong>der</strong> n-te Zustand aktualisiert, so benötigt das<br />

Zustandssignal zunächst die Laufzeit T CO ( CO = Clock to Output ) bis zum Ausgang<br />

des Flip-Flops, weiter wird bis zum Eingang des Übergangsschaltnetzes die Laufzeit<br />

T wd1 ( wd = wire delay ) benötigt.<br />

Seite 7 - 15<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Für die Berechnung des Folgezustandes im Übergangsschaltnetz wird die<br />

Zeit T pd ( pd = propagation delay ) benötigt. Das berechnete Signal des<br />

Folgezustandes benötigt dann die Laufzeit T wd2 , um über die entsprechende<br />

Leiterbahn, zum Eingang des Flip-Flops zu gelangen. Dort muss<br />

das Signal mindestens während <strong>der</strong> Set-up-Time T SU anliegen, damit das<br />

Flip-Flop sicher schalten kann. Daher ergibt sich insgesamt für die<br />

Periodendauer T cycle die Zeitbedingung ( 1. Rückkopplungsbedingung ):<br />

Zudem muss sichergestellt sein, dass während <strong>der</strong> „Hold-Time“ T h des<br />

Flip-Flops nicht bereits <strong>der</strong> neue Folgezustand am Eingang des Flip-Flops<br />

anliegen kann. Daraus ergibt sich die 2. Rückkopplungsbedingung:<br />

Da für die Kodierung <strong>der</strong> Zustände in <strong>der</strong> Regel mehrere Flip-Flops<br />

notwendig sind, ist zusätzlich noch die unterschiedliche Laufzeit des<br />

Taktsignals ( clock ) zu den verschiedenen Flip-Flops zu berücksichtigen.<br />

Diese Differenz in den Clock-Laufzeiten wird Taktsignalverschiebung<br />

(„Clock-Skew“ ) genannt. Diese Taktsignalverschiebung kann zum einen<br />

die Taktperiode des Zustandsautomaten vergrößern, und zum an<strong>der</strong>en kann<br />

sie zu einer Verkürzung <strong>der</strong> Rückkopplungszeit führen, was in <strong>der</strong> zweiten<br />

Rückkopplungsbedingung zu berücksichtigen ist.<br />

Damit lauten die beiden vollständigen Rückkopplungsbedingungen:<br />

Da die Ausgangssignale eines Automaten nicht zurückgekoppelt werden,<br />

sind <strong>der</strong>en Verzögerungen unkritisch für den Betrieb eines Automaten.<br />

Seite 7 - 16<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Zustandsautomaten1als Steuerwerke, mikroprogrammierte Steuerwerke<br />

Zustandsautomaten werden dazu verwendet um Steuerwerke zu realisieren.<br />

Steuerwerke steuern den Ablauf eines o<strong>der</strong> mehrerer Vorgänge. Zur<br />

Implementierung von Steuerwerken stehen grundsätzlich drei unterschiedliche<br />

Möglichkeiten zur Verfügung:<br />

1.) Die Schaltfunktionen, die mittels Synthese ermittelt werden, werden als<br />

Netzliste in eine Hardware umgesetzt, d. h. es liegt dann eine fest<br />

„verdrahtete“ Hardware vor. Eine solche Lösung wird angewendet,<br />

wenn ein schnelles und nicht zu großes Steuerwerk gewünscht wird,<br />

das nicht mehr angepasst werden muss.<br />

2.) Das Steuerwerk wird als Mikroprogrammsteuerwerk realisiert. Hierbei<br />

werden die Schaltfunktionen durch die „Programmierung“ von Festwertspeichern,<br />

die unter Umständen wie<strong>der</strong>programmierbar sind,<br />

realisiert. Diese Methode wird bei sehr großen Schaltwerken angewendet.<br />

Diese Schaltwerke können bei <strong>der</strong> Verwendung von wie<strong>der</strong>programmierbaren<br />

Festwertspeichern auch leicht abgeän<strong>der</strong>t werden.<br />

Ein solches Steuerwerk arbeitet in <strong>der</strong> Regel langsamer als ein fest<br />

„verdrahtetes“ Steuerwerk, da ein Lesevorgang relativ lange dauert.<br />

3.) Realisierung des Steuerwerkes mittels einmal o<strong>der</strong> mehrfach<br />

„programmierbarer“ Logikbausteine wie: CPLD’s (Complex<br />

Programmable Logic Devices ) o<strong>der</strong> FPGA’s ( Field Programmable<br />

Gate Arrays). Die Verwendung von mehrfach „programmierbaren“<br />

Bausteinen erlaubt die Realisierung sehr schneller Steuerwerke, die bei<br />

Bedarf an eine geän<strong>der</strong>te Aufgabenstellung angepasst werden können.<br />

Sie erlauben damit eine Kompromisslösung zwischen den fest<br />

verdrahteten und mikroprogrammierten Steuerwerken zu realisieren.<br />

Mikroprogrammierte Steuerwerke<br />

Bei mikroprogrammierten Steuerwerken kommen Festwertspeicher zum<br />

Einsatz, die, wenn sie nur einmal beschrieben werden können, als ROMs<br />

(Read Only Memorys) bezeichnet werden. In den Speicherzeilen <strong>der</strong><br />

ROMs wird eine sogenannte Mikroinstruktion, die den Folgezustand und<br />

die Werte <strong>der</strong> Steuervariablen zum jeweilig aktuellen Zustand enthält,<br />

gespeichert. Zum Auswählen <strong>der</strong> jeweiligen Speicherzeile dient ein<br />

Adressdeko<strong>der</strong>. Die Adresse setzt sich aus dem aktuellen Zustand und den<br />

Statusvariablen als Eingangsvariablen zusammen.<br />

Seite 7 - 17<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Nachfolgende Abbildung zeigt den schematischen Aufbau, die Struktur <strong>der</strong><br />

ROM-Adressierung und den Inhalt einer Mikroinstruktion eines<br />

mikroprogrammierten Steuerwerkes.<br />

Wie <strong>der</strong> Abbildung zu entnehmen ist, werden über das ROM <strong>der</strong><br />

Folgezustand und die jeweiligen Steuervariablen ermittelt. Der<br />

Folgezustand wird im Adressregister als aktueller Zustand gespeichert und<br />

steht damit als Teil <strong>der</strong> Adresse zur Auswahl <strong>der</strong> Mikroinstruktion zur<br />

Verfügung. Das ROM übernimmt offensichtlich die Aufgaben des<br />

Übergangsschaltnetzes und des Ausgangschaltnetzes. Die Funktionsweise<br />

und die Programmierung eines mikroprogrammierten Steuerwerks werden<br />

nachfolgend anhand eines einfachen Beispiels erläutert. Nachfolgende<br />

Abbildung zeigt die Aufgabenstellung und den Zustandsgraphen einer<br />

einfachen Fahrstuhlsteuerung.<br />

Seite 7 - 18<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Das Steuerwerk besitzt zum einen die beiden Eingangssignale B 0 und B 1 ,<br />

über die im jeweiligen Stockwerk <strong>der</strong> Bedarf des Fahrstuhls angemeldet<br />

wird. Zum an<strong>der</strong>en zeigen die beiden Eingangssignale L 0 und L 1 an, ob <strong>der</strong><br />

Fahrstuhl im Erdgeschoss, Index 0, o<strong>der</strong> im ersten Stock, Index 1, steht.<br />

Als Ausgangs- und damit Steuersignale dienen die beiden Signale U ( Up )<br />

und D ( Down ), mit denen <strong>der</strong> Motor gesteuert wird, ob er den Aufzug<br />

aufwärts, U = 1 und D = 0, o<strong>der</strong> abwärts, U = 0 und D = 1, fahren sollen.<br />

Für das gesamte Steuerwerk werden vier Zustände verwendet.<br />

‣ Im Zustand q 1 q 2 = 00 befindet sich <strong>der</strong> Aufzug in <strong>der</strong><br />

Aufwärtsbewegung bis <strong>der</strong> erste Stock erreicht ist ( L 1 = 1) .<br />

‣ Im Zustand q 1 q 2 = 10 befindet sich <strong>der</strong> Fahrstuhl im ersten Stock<br />

und bleibt dort solange bis ein Fahrgast im Erdgeschoss einen<br />

Fahrtwunsch signalisiert ( B 0 = 1 ).<br />

Seite 7 - 19<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

‣ Im Zustand q 1 q 2 = 11 befindet sich <strong>der</strong> Aufzug in <strong>der</strong><br />

Abwärtsbewegung bis das Erdgeschoss erreicht ist ( L 0 = 1 ).<br />

‣ Im Zustand q 1 q 2 = 01 befindet sich <strong>der</strong> Fahrstuhl im Erdgeschoss<br />

und bleibt dort solange bis ein Fahrgast im ersten Stock einen<br />

Fahrtwunsch signalisiert ( B 1 = 1 ).<br />

Folgende Abbildung zeigt die Umsetzung des diskutierten<br />

Zustandsautomaten in ein mikroprogrammiertes Steuerwerk.<br />

Die Eingangssignale L 0 , L 1 , B 0, B 1 und die beiden aktuellen Zustandswerte<br />

q 0 und q 1 dienen <strong>der</strong> ROM-Adressierung um die passende Mikroinstruktion<br />

aus zu wählen, die den Folgezustand und die Werte <strong>der</strong> Steuersignale U<br />

und D enthält. Diese direkte Umsetzung eines Zustandsautomaten in ein<br />

mikroprogrammiertes Steuerwerk ist auf <strong>der</strong> einen Seite zwar recht einfach<br />

auf <strong>der</strong> an<strong>der</strong>en Seite benötigt sie aber ein unnötig großes ROM, da sie 2 n<br />

Speicherzeilen vorhalten muss, wobei n die Anzahl <strong>der</strong> Adressbits ist. Die<br />

meisten dieser Speicherzeilen sind jedoch mit identischen Inhalten belegt.<br />

Aus diesem Grund empfiehlt es sich ein sogenanntes adressmodifizierendes<br />

mikroprogrammiertes Steuerwerk ein zu setzen.<br />

Seite 7 - 20<br />

© R. Latz


„<strong>Technische</strong> <strong>Grundlagen</strong> <strong>der</strong> <strong>Informatik</strong> (TGI)“<br />

Prof. Dr. R. Latz<br />

____________________________________________________________________________________________________________<br />

Bei einem solchen Steuerwerk wird nur noch <strong>der</strong> aktuelle Zustand zur<br />

Adressierung des ROMs herangezogen. Die nachfolgende Abbildung zeigt<br />

das Instruktionsformat eines adressmodifizierenden mikroprogrammierten<br />

Steuerwerks. Zudem ist die Umsetzung des Fahrstuhlautomaten in ein<br />

solches Steuerwerk gezeigt.<br />

Über die Kontrollflussvariablen werden in jedem Zustand die<br />

Verzweigungsbedingungen, d. h. die Werte <strong>der</strong> jeweils relevanten<br />

Eingangssignale ermittelt, um den entsprechenden Folgezustand aus zu<br />

wählen. Dazu steuern die Kontrollflussvariablen einen Multiplexer an<br />

dessen Eingänge die entsprechenden Verzweigungsbedingungen anliegen.<br />

Je nachdem, ob die Bedingung erfüllt ist o<strong>der</strong> nicht, wird zum Verzweigungszustand<br />

o<strong>der</strong> zum konsekutiven Folgezustand übergegangen.<br />

Seite 7 - 21<br />

© R. Latz

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!