Speicher: eine Schaltung, die nicht vergessen will
Jedes Gatter bisher antwortete sofort und vergaß sofort. Führ einem Gatter seinen eigenen Ausgang zu, und es beginnt zu erinnern.
Alles bisher Gebaute hat ein Problem: es hat keine Vergangenheit. Ein AND-Gatter weiß nicht, was es vor einer Sekunde ausgegeben hat, es kennt nur seine Eingänge von jetzt. Nimm die Eingänge weg, und der Ausgang bedeutet nichts mehr. Um ein Bit zu speichern, braucht man eine Schaltung, deren Ausgang davon abhängt, was sie vorher getan hat — und gewöhnliche Gatter tun das nie.
Der Trick ist Rückkopplung: verbinde den Ausgang eines Gatters zurück mit seinem eigenen Eingang. Jetzt hat die Schaltung einen Zustand, denn der Wert auf dem Draht ist zugleich Ursache und Wirkung. Schieb sie auf 1, und sie bleibt 1; schieb sie auf 0, und sie bleibt 0. Von außen muss niemand den Eingang halten — die Schleife hält sich selbst.
stored = NOT(NOT(stored))
stored = 1 -> NOT(1) = 0 -> NOT(0) = 1 -> stays 1
stored = 0 -> NOT(0) = 1 -> NOT(1) = 0 -> stays 0Eine Schleife aus zwei NOT-Gattern hält, was man hineingibtIn der Praxis baut man die Schleife aus zwei Gattern, die aufeinander zeigen, sodass jedes das andere festhält. Ergänze eine Möglichkeit, die Schleife kurz zu überstimmen — eine Schreibleitung —, und du kannst das gewünschte Bit hineinschieben. Lass die Schreibleitung los, und die Schleife behält dieses Bit. Diese Schaltung heißt Latch, und zwei Latches, die gemeinsam auf einen Takt arbeiten, bilden ein Flipflop, das seinen Zustand nur im Moment des Taktimpulses ändert.
Verkette 64 Latches, und du hast ein Register: 64 Bits, die der Prozessor als eine Zahl liest und schreibt, direkt neben dem Rechenwerk, damit sie in einem Takt bereitstehen. Ein paar Register genügen einem Prozessor zum Arbeiten. Der Arbeitsspeicher ist dieselbe Idee, milliardenfach wiederholt, nur mit einem Adressdecoder davor, damit der Prozessor sagen kann „gib mir das Byte an dieser Adresse" — langsamer und viel größer, aber aus genau derselben Rückkopplungsschleife gebaut.
Praxis
Ein Latch hält den Wert 1. Danach wird das Eingangssignal völlig entfernt. Was gibt das Latch aus?
Hinweise
- Frag, womit der Ausgang verbunden ist, nicht was der Eingang gerade tut.
- Ein Gatter, dessen Ausgang auf seinen eigenen Eingang zurückgeht, braucht von außen nichts, um seinen Wert zu halten.
15 XP
Ordne die Schritte, mit denen ein Bit in ein Latch geschrieben und dort gehalten wird.
Hinweise
- Nichts überlebt das Abschalten des Stroms, beginne also damit, wie das Bit hineinkommt, solange der Strom noch läuft.
- Die Schleife hält den Wert; alles danach ist nur das Auslesen des Ergebnisses.
15 XP
Ordne jedem Speichertyp zu, was er tatsächlich ist.
Hinweise
- Ein Register sitzt im Prozessor und wird in Zehnern gezählt; Arbeitsspeicher zählt man in Milliarden.
- Geschwindigkeit und Nähe zum Prozessor gehören zusammen: je näher der Speicher, desto schneller und kleiner.
15 XP