Mit Logikgattern kann man sogenanntes "statisches RAM" bauen. Davon abzugrenzen ist dynamisches RAM. Die Speicherzellen von dynamischem RAM bestehen aus Kondensatoren, die geladen oder entladen sind. Aufgrund der Flüchtigkeit der Ladung müssen die Zellen alle paar Millisekunden aufgefrischt werden.
Statisches RAM ist schneller als dynamisches RAM, benötigt aber mehr Platz. Daher wird diese Art von Speicherzellen heutzutage vor allem für Cache-Speicher (direkt in der CPU, derzeit bis zu ca. 8 MB) verwendet.
Eine weitere Anwendung von statischem RAM ist die Speicherung von BIOS-Einstellungen, da der Speicher mit wenig Energie jahrelang gehalten werden kann ohne dass die Speicherzellen ständig "aufgefrischt" werden müssen.
Dynamisches RAM wird z.B. für den Hauptspeicher verbaut, die Inhalte gehen verloren, wenn die zur Auffrischung der Speicherzellen nötige Energie ausbleibt.
Baue die folgende Schaltung in deiner Logiksimulation auf:
S
steht für "Set", R
für "Reset" - kannst du erläutern, warum diese Bezeichnungen sinnvoll sind?
Lies die die Informationen auf dem Merkzettel RS-Flip-Flop durch. Was ist das zentrale Problem dieser Schaltung?
Um das Problem der "verbotenen" Eingabe zu lösen, kann man sogenannten "getakteten Speicher" verwenden. Getaktete Speicher benötigen ein Taktsignal, welches festlegt, wann der Speicherzustand geändert werden kann. Der Speicherinhalt kann beispielsweise nur dann geändert werden, wenn das folgende Taktsignal den Wert 1 annimmt:
Ein Möglichkeit, das zu erreichen ist folgende Schaltung:
Der Ablauf ist wie folgt:
1
anliegt, solange, der Clock-Eingang auf 0
ist und somit kein Eingang des Flip-Flop angesteuert wird.1
wechselt, wird die Einstellung "übernommen". 1
anzulegen, da der Ausgang dann sinnfrei auf 0,0
wechseln würde - der Zufallsfaktor des RS FlipFlops beim Wechsel des Zustands wird durch den Takt jedoch eliminiert, man kann eindeutig vorhersagen, wie sich das Flip-Flop im nächsten Takt verhalten wird.
Baue die Schaltung in der Simulation auf und teste, ob das Verhalten der Beschreibung oben entspricht.
Das D-Flip-Flop besteht aus einem RS-Flip-Flop, bei dem der Rücksetzeingang zum Setzeingang negiert ist. Dadurch wird verhindert, dass der verbotene Zustand eintritt. Das D-Flip-Flop gibt es als auch als taktzustandsgesteuertes Flip-Flop.
0
ist, bleibt der Zustand unverändert.1,1
-Eingabe anliegt. Wenn D=1 ist ist R=0 und umgekehrt.
Baue ein D-Flip-Flop in der Simulation auf und teste, ob das Verhalten der Beschreibung oben entspricht.
Entwerfe in der Simulation ein einen 4-Bit-RAM Speicher. Deine Schaltung soll 4 Bit Speicher simulieren, die gelesen und geschrieben werden können.
Benötigte Ein- und Ausgänge:
Clock
Read
und Write
:Erwartetes Verhalten:
clock
Eingang 0 ist, passiert grundsätzlich nichts.r=1
ist, liegt an out
der Wert an, der in der durch a0
und a1
adressierten Speicherzelle gespeichert ist.w=1
ist, wird der Wert, der an D
anliegt in die durch a0
und a1
adressierte Speicherzelle geschrieben.Hinweis: Multiplexer und Demultiplexer sowie D-Flipflops sind hier hilfreich! Du muss diese Bauteile nicht aus den Grundgattern neu aufbauen sondern kannst sich in der Bauteilbibliothek bedienen