faecher:informatik:oberstufe:techinf:logikschaltungen:digitaltechnik:speicher:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:techinf:logikschaltungen:digitaltechnik:speicher:start [24.10.2022 13:57] – [Getakteter Speicher] Frank Schiebelfaecher:informatik:oberstufe:techinf:logikschaltungen:digitaltechnik:speicher:start [10.10.2023 08:35] (aktuell) – [Getakteter Speicher] Svenja Müller
Zeile 1: Zeile 1:
 ====== Speicher ====== ====== Speicher ======
  
-Mit Logikgattern kann man sogenanntes "statisches RAM" bauen. Davon abzugrenzen ist //dynamisches// RAM. Diese Speicherzellen bestehen aus Kondensatoren, die geladen oder entladen sind. Aufgrund der Flüchtigkeit der Ladung müssen die Zellen alle paar Millisekunden aufgefrischt werden.+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, 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.+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.+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 hingegen wird für den Hauptspeicher verbaut. +Dynamisches RAM wird z.B. für den Hauptspeicher verbaut, die Inhalte gehen verloren, wenn die zur Auffrischung der Speicherzellen nötige Energie ausbleibt
-==== RS-Flip-Flop ====+===== RS-Flip-Flop =====
  
 {{:aufgabe.png?nolink  |}} {{:aufgabe.png?nolink  |}}
Zeile 37: Zeile 37:
 Lies die die Informationen auf dem [[.rsflipflop:start|Merkzettel RS-Flip-Flop]] durch. Was ist das zentrale Problem dieser Schaltung? Lies die die Informationen auf dem [[.rsflipflop:start|Merkzettel RS-Flip-Flop]] durch. Was ist das zentrale Problem dieser Schaltung?
  
-==== Getakteter Speicher ====+===== Getakteter Speicher =====
  
-Um das Problem der "verbotenen" Eingabe zu lösen, kann man sogenannten "getakteten Speicher" verwenden. Getakteter 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:+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:
  
 {{ takt01.png?500 |}} {{ takt01.png?500 |}}
 +
 +Ein Möglichkeit, das zu erreichen ist folgende Schaltung: 
 +
 +{{ rsclock.png?400 |}}
 +
 +
 +Der Ablauf ist wie folgt: 
 +
 +  * Solange der Wert im Taktzyklus 0 ist wird dan den Steuerleitungen die gewünschte Aktion (Set/Reset) "eingestellt". Das hat zunächst keine Auswirkung, da gleichgültig welcher der beiden Eingänge gesetzt wird, am Ausgang der UND-Gattern niemals ''1'' anliegt, solange, der Clock-Eingang auf ''0'' ist und somit kein Eingang des Flip-Flop angesteuert wird.
 +  * Wenn nun der Clock-Eingang auf ''1'' wechselt, wird die Einstellung "übernommen"
 +  * Es ist noch immer verboten, an den beiden Eingängen R und S gleichzeitig ''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. 
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (A3) ===
 +
 +Baue die Schaltung in der Simulation auf und teste, ob das Verhalten der Beschreibung oben entspricht.
 +
 +
 +===== D-Flip-Flop =====
 +
 +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.
 +
 +{{ dff.png?600 |}}
 +
 +  * Wenn C = ''0'' ist, bleibt der Zustand unverändert.
 +  * Durch das NICHT-Gatter vor dem R-Eingang wird verhindert, dass die verbotene ''1,1''-Eingabe anliegt. Wenn D=1 ist ist R=0 und umgekehrt.
 +  * Wenn D beim Taktsignal 1 ist, liegt innen (1/0) an, das Flipflop speichert die 1.
 +  * Wenn D beim Taktsignal 0 ist, liegt (0/1) an, es wird 0 gespeichert.
 +  * In der Folge wird also stets den Zustand des Eingangs D im Moment des Taktsignals gespeichert.
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (A4) ===
 +
 +Baue ein D-Flip-Flop in der Simulation auf und teste, ob das Verhalten der Beschreibung oben entspricht.
 +
 +---- 
 +{{:aufgabe.png?nolink  |}}
 +=== (A5)** ===
 +
 +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:**
 +
 +  * Ein Taktsignalgeber (der von Hand ausgelöst wird, wie bei den Beispielen oben) - die ''Clock''
 +  * Je ein Eingang ''Read'' und ''Write'':
 +    * Wenn das Signal eines dieser Eingänge auf 1 ist, soll aus dem Speicher gelesen bzw. hineingeschrieben werden.
 +  * Ein Dateneingang, der festlegt, welcher Wert (0 oder 1) in den Speicher geschrieben wird.
 +  * Zwei Adresseingänge, die bestimmen, welche Speicher-Zelle zur Speicherung verwendet werden soll.
 +  * Ein Datenausgang, der (beim Lesen) das gelesene Bit ausgibt.
 +
 +{{ :faecher:informatik:oberstufe:techinf:logikschaltungen:digitaltechnik:speicher:skizze_4-bit_speicher_2022-10-24_16.25.52.excalidraw.png?400 |}}
 +
 +**Erwartetes Verhalten:**
 +
 +  * Solange der ''clock'' Eingang 0 ist, passiert grundsätzlich nichts.
 +  * Wenn ''r=1'' ist, liegt an ''out'' der Wert an, der in der durch ''a0'' und ''a1'' adressierten Speicherzelle gespeichert ist.
 +  * Wenn ''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
 +
  • faecher/informatik/oberstufe/techinf/logikschaltungen/digitaltechnik/speicher/start.1666619851.txt.gz
  • Zuletzt geändert: 24.10.2022 13:57
  • von Frank Schiebel