InhaltVorheriges Kapitel Nächstes Kapitel

6 Schaltwerke und Automaten

6.2 Steuerwerke (Automaten)

Eine wichtige Teilgruppe der synchronen Schaltwerke stellen die sogenannten Steuerwerke dar.

Ihre Behandlung basiert auf der Theorie der endlichen Automaten (Zustandsmaschine, engl. finite state machine, FSM).

In den Steuerwerken wird die Logik des Verknüpfungsnetzes durch einen Speicher realisiert. Steuerwerke sind auf Grund dieses Aufbaus sehr einfach gestaltet und leicht modifizierbar.




6.2.1 Mealy- und Moore-Automaten

Bisher sind nur die Zustände der Schaltwerke behandelt worden, über die Ausgabe ist noch keine Festlegung erfolgt.

Als Beispiel soll der bereits behandelte Modulo-4-Zähler durch Einführung eines Steuereingangs "Vor/Rück" erweitert werden.

Mit diesem Eingangssignal kann die Zählrichtung definiert werden: Liegt der Eingang auf '1', wird aufwärts, andernfalls wird abwärts gezählt.

Abb. 6.4: Vorwärts-Rückwärtszähler (Modulo-4).

Der Zähler soll derart realisiert werden, daß folgende Zustandskodierung erfüllt wird:

00 01 11 10 00 ...

Bei dieser als "einschrittig" bezeichneten Kodierung ändert sich mit jedem Übergang nur ein einziges Bit. Eine derartige Kodierung hat den Vorteil, daß Funktions-Hazards nicht auftreten können.

Unter Annahme dieser Kodierung ergibt sich für das Zustandsdiagramm dieses Zählers:

Abb. 6.5: Zustandsdiagramm des Modulo-4-Zählers.

Für den hier gezeigten Automaten sind jetzt in geeigneter Form die Begriffe "aktueller Zustand" und "Ausgabe" zu definieren.

Definition des aktuellen Zustandes:

Nur bei den synchronen Steuerwerken existieren zwei Alternativen für die Beschreibung des aktuellen Zustandes: es können sowohl die Rückkopplungsausgänge als auch die Rückkopplungseingänge zu diesem Zweck herangezogen werden.
Offensichtlich ist es sinnvoller, dafür die stabilen Ausgangswerte des Registers zu nutzen, in diesem Fall also z1 und z2.
Da nur in diesem stabilen Zustand eine Änderung der externen Eingabe x zulässig ist, ändern sich auch direkt die Ausgänge v1 und v2. Der neue Zählzustand wird mit der Vorderflanke des Taktimpulses übernommen.

Definition der Ausgabe:

Für die Wahl der Ausgabe bieten sich zwei Möglichkeiten an:
Es können entweder die Ausgänge yi des Verknüpfungsnetzes VN1 oder die entsprechenden Ausgänge von VN2 genutzt werden.

Sicherlich zweckmäßiger ist eine Ausgabe über VN2, da in diesem Fall die Ausgabewerte nicht direkt von einem Wechsel am Eingang x beeinflußt werden. Die Ausgangswerte hängen lediglich von dem augenblicklichen Zustand ab, der durch z1 und z2 bestimmt wird.

Das in dieser Form betriebene Steuerwerk wird als Moore-Automat bezeichnet. Da in diesem Fall die Ausgabe vollständig durch den aktuellen Zustand beschrieben wird, ergibt sich für diesen Automaten das folgende Zustandsdiagramm:

Abb. 6.6: Zustandsdiagramm im Moore-Format.

Die Zustandsdefinition wurde in dieser Darstellung modifiziert, um die direkte Anbindung der Ausgabe an den aktuellen Zustand aufzuzeigen.

Wird im Gegensatz zur obigen Lösung eine Ausgabe über VN1 gewählt, so wird diese von einer Eingangsänderung (x) unmittelbar beeinflußt.

In diesem Fall wird das entstandene Steuerwerk als Mealy-Automat bezeichnet.
Das zugehörige Zustandsdiagramm reflektiert den veränderten Sachverhalt:

Abb. 6.7: Zustandsdiagramm im Mealy-Format.

Auch in diesem Fall wurde die Zustandsdefinition so gewählt, daß die Abhängigkeit der Ausgabe von der Eingabe sichtbar wird ("x/y1y2"; y1y2 ändern sich mit der Eingangsvariablen x).

Der Unterschied zur oben gezeigten Moore-Darstellung wird sofort sichtbar, wenn das Verhältnis von Zustands- zu Ausgangsänderung untersucht wird.

Beispiel:

Der Automat (Zähler) befinde sich in Zustand '01'. Wird jetzt der Eingang "x" auf '1' gelegt, ergibt sich folgendes:

Der Unterschied zwischen den eingeführten Automaten kann also zusammenfassend beschrieben werden:

Moore-Notation: Bei einem Schaltwerk vom Moore-Typ wird die Ausgabe nur direkt vom aktuellen Zustand bestimmt. Eine Änderung der externen Eingabe hat erst über die Zustandsänderung einen Einfluß auf die Ausgabe. Die Ausgabe erfolgt synchron.

Mealy-Notation: Bei einem Schaltwerk vom Mealy-Typ hängt die Ausgabe sowohl vom aktuellen Zustand als auch direkt von der externen Eingabe ab. Die Ausgabe erfolgt asynchron.

Vergleicht man die entsprechenden Zustandsdiagramme, so kann außerdem der Unterschied der Automaten dadurch charakterisiert werden, daß bei einem Mealy-Automaten die Ausgabe gegenüber dem Zustandswechsel und damit gegenüber einem Moore-Automaten vorauseilt.


Hinweis:

Da trotz der einschrittigen Zustandsänderung sowohl im Moore- als auch im Mealy-Betrieb der Zählerstand als Binärwert ausgegeben werden soll, müssen die für die Ausgabe verantwortlichen Verknüpfungsnetze VN1 bzw. VN2 die erforderliche Ausgabefunktion erfüllen:

z1
z2
y1
y2
0
0
0
0
0
1
0
1
1
1
1
0
1
0
1
1

Tab. 6.1: Definition der Ausgabefunktion.

Hinweis:

Diese Ausgabe über ein Verknüfungsnetz (VN1) ist wegen der direkten Abhängigkeit von der externen Eingabe für eine Mealy-Ausgabe immer erforderlich.


6.2.2 Mealy- und Moore-Automaten:

Prinzipschaltungen

Das hier am Beispiel des Vorwärts-Rückwärtszähler eingeführte Automatenmodell kann jetzt in verallgemeinerter Form dargestellt werden.

Moore- und Mealy-Automaten können durch die folgenden Prinzipschaltungen beschrieben werden:

Abb. 6.8: Moore-Automat


Abb. 6.9: Mealy-Automat


6.2.3 Speicherrealisierung von Steuerwerken

Wie bereits gezeigt wurde, ist es möglich, die Realisierung von logischen Funktionen mit Hilfe von Speicherbausteinen durchzuführen. Bei diesem Verfahren wird die Wertetabelle der darzustellenden Booleschen Funktion direkt im Speicher abgelegt.

In ähnlicher Form kann natürlich auch der Aufbau eines Steuerwerkes vorgenommen werden, indem das für die logische Funktion verantwortliche Verknüpfungsnetz VN durch eine Speicherrealisierung ersetzt wird.

Der Speicher soll für diese Anwendung als RAM-Speicher (random access memory) ausgelegt sein, d.h. es soll ein wahlfreier Zugriff auf die individuellen Speicherzellen möglich sein. Jede einzelne Speicherposition ist also über eine eindeutige Addresse "ansprechbar", der Inhalt des Speichers wird auf diese Weise zugänglich.

Abb. 6.10: Speicherorganisation


Beispiel:

Ein aus 32 Speicherzellen aufgebauter Speicher, der unter jeder Adresse zwei Bits ablegen kann:

Zelle
Adresse
Inhalt
0
0
0
0
0
0
0
0
·

·

·
·

·

·
·

·

·
31
1
1
1
1
1
1
0

Tab. 6.2: Definition der Speicherzellen.

Um im Speicher eine Boolesche Funktion zu verwirklichen, werden jetzt die Funktionsargumente als Speicheradressen interpretiert. Der Inhalt der Speicherzellen repräsentiert den entsprechenden Funktionswert.

Handelt es sich also um eine Funktion mit n Argumenten, sind insgesamt 2n Speicherstellen notwendig. Für jede einzelne Speicherzelle ist eine Informationsbreite von einem Bit notwendig (für jede Argumentenkombination kann der Funktionswert nur '0' oder '1' sein).

Sollen mehrere Funktionen, die von den gleichen Argumenten abhängen, im Speicher realisiert werden, ist für jede Funktion also eine Informationseinheit von einem Bit nötig.

Beispiel:

Zwei Funktionen f(a,b,c,d,e) und g(a,b,c,d,e) sollen gemeinsam in einem Speicher realisiert werden.
Die Gesamtkapazität des notwendigen Speichers ist also 32 * 2 Speicherzellen (Bit):

Tab. 6.3: Speicherrealisierung zweier Funktionen.


Abb. 6.11: Speicherrealisierung eines Automaten.

Abb. 6.12: Speicherrealisierung eines Moore-Automaten.

Abb. 6.13: Speicherrealisierung eines Mealy-Automaten.


6.2.4 Anwendung von Mikroprogramm-Steuerwerken

Eine wichtige Anwendung speicherrealisierter Steuerwerke bildet der Aufbau von Mikroprogramm-Steuerwerken zur Befehlssteuerung in modernen Mikroprozessoren.

Ein vorgegebener Mikroprozessor-Befehl wird in diesem Fall zerlegt in eine Folge von sogenannten Mikrobefehlen. Die entsprechende Sequenz wird in einem Mikroprogramm-Speicher abgelegt.


Abb. 6.14: Aufbau eines Mikroprogramm-Steuerwerkes



InhaltVorheriges Kapitel Nächstes Kapitel