Speicherschaltungen

Würden bei einer Schaltung alle Rechenvorgänge parallel ablaufen, könnte man auf eine Speicherung der Daten verzichten.
Schon beim 4-Bit-Parallel-Rechenwerk ist zu erahnen, wie umfangreich Schaltungen werden können.

Werden Berechnungen dagegen in mehreren Schritten nacheinander ausgeführt, kann man die selben Baugruppen mehrfach benutzen.
Zwischenergebnisse müssen dann aber gespeichert werden.



Die folgende Schaltung gestattet ein Speichern einer Informationseinheit (1 Bit).
Zu beachten ist die Rückkopplung in der Schaltung: Der Ausgang Q und sein inverser Wert -Q wirken auf die Eingänge der Schaltung zurück.

Grund-Flip-Flop

Grund-Flip-Flop

Schaltwerttabelle für diese Schaltung:

S R
Qvor
Qnach
0
0
0
nicht def.
0
0
1
nicht def.
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1

Interpretation der Tabelle:
Sind S und R beide auf 0, findet man an Q und -Q den Wert 1. Da -Q aber das Inverse von Q sein soll, ist dieser Zustand zu vermeiden.
Sind S und R beide auf 1, bleibt das Signal, das vorher an Q lag, auch weiterhin erhalten, d.h. Speicherung eines Wertes.
Bei S=0 und R=1 wird Q auf 1 gesetzt, ganz gleich, welchen Wert Q vorher gehabt hat, d.h. Setzen eines Wertes.
Bei S=1 und R=0 wird Q auf 0 gesetzt, ganz gleich, welchen Wert Q vorher gehabt hat, d.h. Löschen eines Wertes.



Bei taktgesteuerten Schaltungen soll die Information von S und R erst dann an die Schaltung angelegt werden, wenn der Takt auf 0 oder 1 gesetzt wird.
Das leistet folgende Schaltung:

Auffang-Flip-Flop

Auffang-Flip-Flop

Nur wenn der Takt auf 1 liegt, wird die Information von S und R berücksichtigt.
Wegen der Negationspunkte an den linken UND-Gattern ändert sich hier die Bedeutung der Belegung von S und R:
Wenn S und R beide auf 0 sind, bleibt die aktuelle Information von Q erhalten.
Ist S=1 und R=0, wird Q auf 1 gesetzt (merke: S bedeutet SET).
Ist S=0 und R=1, wird Q auf 0 gesetzt (merke: R bedeutet RESET)
Die Eingabe S=R=1 sollte vermieden werden.



Das Auffang-Flip-Flop nimmt Daten während der gesamten Zeit an, in der T=1 ist. Das kann zu Komplikationen führen, wenn Daten auf Grund verschieden langer Laufzeiten erst nacheinander beim Flip-Flop eintreffen.
Man benutzt deshalb z.B. folgendes Master-Slave-Flip-Flop:
Das Master-Flip-Flop nimmt währen der gesamten Zeit bei T=1 Daten auf und schickt sie erst, wenn T=0 wird, an das Slave-Flip-Flop. Da während T=0 das Master-Flip-Flop aber keine Daten annimmt, können Laufzeitunterschiede von Signalen sich nicht auswirken. Man muss nur so lange T=1 lassen, bis alle notwendigen Änderungen an den Eingängen der Bausteine erfolgt sind.

Master-Slave-Flip-Flop

Master-Slave-Flip-Flop