Erkundung Speicher
Was ist ein Speicher?
Ein Schrank mit nummerierten Schubladen veranschaulicht ganz gut den Speicher im Computer.
Ein Speicher besteht aus Speicherzellen (den Schubladen), die von 0 beginnend durchnummeriert sind. Bei den meisten Computern können in jeder Speicherzelle 8 Bit (ein Byte) gespeichert werden.
Experimente mit dem Bonsai-Simulationsprogramm
Bei dem Bonsai-Simulator wir der Inhalt der Speicherzellen im Zehnersystem dargestellt.
Im CPU-Fenster siehst du einen Speicherbaustein, der mit zwei Bussen verbunden ist, einem Adressbus und einem Datenbus. Zusätzlich sind hier die beiden Register Adresse und Akku mit den Bussen verbunden.
Wenn die Darstellung im CPU-Fenster zu klein ist, dann vergrößere insgesamt die Darstellung im Browser. Führe jetzt folgende Experimente aus, um das Verhalten eines Speichers kennen zu lernen.
Aufgabe 1
(a) Schaue erst einmal "in den Speicher rein". Klicke hierzu den Reiter mit der Aufschrift "Datenspeicher" an. Jetzt siehst du, welche Speicherzellen aktuell mit Daten belegt sind. Ändere direkt im Speicher Daten ab und füge auch weitere hinzu. Schaffst du es, nur die Speicherzellen mit den Adressen 0 und 5 mit einer 1 zu belegen?
(b) Den Speicherinhalt kannst du auch in einer Datei abspeichern. Probiere das aus und schaue dir den Dateiinhalt mit einem Editor an. Natürlich kannst du dann auch in Dateien gespeicherte Speicherzustände wieder in den Bonsai-Simulator laden. Probiere das auch einmal aus.
Aufgabe 2
Stelle den Ausgangszustand des Simulationprogramms wieder her (am einfachsten geht das, wenn du die Seite neu lädst). Arbeite jetzt in der CPU-Ansicht.
(a) Aktuell liegt eine 0 auf dem Adressbus. Warum eigentlich? Das Tor, das den Speicher mit dem Adressbus verbindet, ist so eingestellt, dass die Adresse am Speicher anliegt. Ändere jetzt den Inhalt von Register Adresse mit der +- und --Schaltfläche und beobachte die Auswirkungen auf den Adressbus und die Speicheranzeige. Schließe auch einmal das Tor, das den Speicher mit dem Adressbus verbindet. Was wird jeweis im Speicherbaustein angezeigt?
(b) Lege jetzt gezielt die Adresse 1 an den Speicher. Öffne dann das Tor vom Speicher zum Datenbus (roter Pfeil vom Speicher zum Datenbus). Öffne auch das Tor vom Datenbus zum Register Akku (grüner Pfeil vom Datenbus zum Register). Ändere auch in dieser Situation noch einmal den Wert in Register A. Du solltest dann jeweils direkt Änderungen in Register Akku sehen.
(c) Stelle den Ausgangszustand des Simulationprogramms wieder her. Im Register Akku ist der Wert 42 gespeichert. Versuche durch geeignetes Öffnen von Toren diesen Wert in die Speicherzelle 0 zu kopieren.
(d) Führe folgende Aktionen mit geeigneten Torsteuerungen durch: Der Inhalt von Speicherzelle 1 soll zunächst in Register Akku transportiert werden. Dann soll dieser Wert mit der +-Schaltfläche von Register Akku um 1 erhöht werden. Abschließend soll der um 1 erhöhte Wert wieder in die Speicherzelle 1 transportiert werden. Beachte, dass hier zwischenzeitlich auch Tore geschlossen werden müssen.
(e) Führe folgende Aktionen mit geeigneten Torsteuerungen durch: Der Inhalt von Speicherzelle 2 soll in Speicherzelle 3 kopiert werden. Benutze das Register Akku als eine Art Hilfsregister zum Zwischenspeichern.
Quellen
- [1]: Schubladenschrank - Urheber: Klaus Merkert - Lizenz: Creative Commons BY-SA 3.0 DE