Aubau einer Speicherzelle

Logik

Logik_FF

Ein FF besteht aus logischer Sicht aus zwei Invertern. Durch die zwei Inverter, erscheint der Eingangswert wieder am Ausgang. Der Wert wurde gespeichert. Tiefer betrachtet, ist die Basis eines FF ein Latch. Das Latch ist der Baustein, der durch Set-Reset am Ausgang ein Wert behält. Das Latch ist aber asynchron und deshal kein FF im engen Sinn. Das FF hat zusätzlich einen Clock. Dadurch werden erst (bei steigender Flanke) die Ausgänge gesetzt.

Hardware (mit Transistoren)

Hardware_FF

Pro Speicherzelle (FF) hat es zwei Bit-Lines. Eine ist die Inversion der anderen.
Auf der Bit-Line wird das aktuelle Bit gesetzt (siehe erstes Bild für Logik).
Die Word-Linien, ist die Verbindung einer Reihe von Speicherzellen.
Unterschied Transistoren <-> Kondensatoren als Speicherelement
FF können mit Transistoren (z.B. in SRAM, s = static = stabil) oder mit Kondensatoren (z.B. DRAM, d = dynamisch = instabil) aufgebaut sein. Die Transistoren behalten ihren Wert (Zustand ‚1‘ oder ‚0‘), sind sie einmal geschalten, was bei den Kondensatoren nicht gilt. Die Kondensatoren entladen sich (‚1‘ – > ‚0.7‘ -> ‚0.5‘), weshalb ihr Wert immer wieder neu gesetzt (refresh) werden muss.
Das Refrehen wird zeilenweise gemacht.
Bsp. Bei einem 16-Bit-Memory, wird in einem Refresh-Zyklus 16 FF neu gesetzt.

Gute Website zu detaillierteren Informatioenen zum digitalen Speichern („How RAM works“).

Gleichzeitige Signalzuweisung

Artikel   Warum es Signale braucht

wert <=  next_wert

Die Signale existieren im Doppelback. Sie haben immer zwei Facetten.
Den alten Wert (wert) und den neuen (next).

Regel
– linke Seite wird am Ende des Prozesses zugewiesen
– rechte Seite wird sofort zugewiesen

Signale links erhalten den Wert am Ende des Prozesses.
Signale rechts sofort.

Signalzuweisung <= nennt man non-blocking

FF zum Datenspeichern und Takten

Eingangslogik  – – –    F F    – – –    Ausgangslogik  [   – – –    F F  ]
(asynchron)       (synchron)       (asynchron)

Warum braucht es FF?
Um den Zustand einer Logik zu speichern.

Zudem sind FF getaktet, sodass die Datenverarbeitung synchron wird.

Die Prozesse und Logik ausserhalb der FF müssen nicht getaktet sein, können aber.