i

Fachkonzept Speicher

Speicher

Ein Speicher besteht aus Speicherzellen, die von 0 beginnend durchnummeriert sind. Die Nummer einer Speicherzelle (0, 1, 2, ...) ist die Adresse, über die man auf seinen Inhalt zugreifen kann.
Im Speicher werden das Maschinenprogramm und die zu verarbeitenden Daten
(s. Befehlscodierung und Speicherorganisation beim universellen Murmelrechner)verwaltet.
Eine Speicherzelle des Speichers enthält also entweder eine Programmzeile oder einen Datenwert.

Die Anzahl der Speicherzellen ist beim BONSAI-Simulator nicht genau festgelegt. In realen Hardware-Speicherbausteinen ist sie natürlich begrenzt.

In den BONSAI-Speicherzellen (d. h. in den Registern) können nur natürliche Zahlen einschließlich Null abgelegt werden (d. h. der einzige Datentyp ist integer, der negative Zahlenraum ist ausgeschlossen).

Die folgende Abbildung zeigt, dass die ausgewählte Adresse über einen eigenen Bus übertragen wird, der dort gespeicherte Wert über einen anderen.
Daher muss grundsätzlich zwischen Datenbus (rot dargestellt) und Adressbus (grün dargestellt) unterschieden werden.

Speicher

Beispiel

Das folgende Beispiel zeigt, wie ein Wert im Speicher um 1 erhöht werden kann. Dazu muss der Wert zunächst in ein anderes Register kopiert werden, wo er erhöht wird. Anschließend wird der erhöhte Wert wieder in dem Speicher übertragen.

Gruppieren2
  1. Ausgangssituation
  2. Register Adresse schreibt die Adresse 0 auf den Adressbus.
  3. Der Speicher gibt den Wert an der Adresse 0 auf den Datenbus aus. Dieser Wert wird in das Register Akku übertragen.
  4. Das Tor des Akkus wird geschlossen.
    Lesend geöffnete Tore müssen immer vor dem schreibenden Tor geschlossen werden!
  5. Das Tor des Speichers am Datenbus wird geschlossen.
  6. Der Wert im Akku wird um 1 erhöht.
  7. Über den Datenbus wird der neue Wert im Speicher gespeichert.
  8. Der Datenbus wird wieder freigegeben. Das lesende Tor am Speicher wird zuerst geschlossen.
  9. Das Tor am Register Akku wird geschlossen.

Klicke auf die einzelnen Schritte zur Veranschaulichung.

Im Beispiel wird der das Tor des Speichers, das vom Datenbus liest, geschlossen, nachdem der neue Wert in den Speicher übertragen wurde. Dies dient dazu, den neuen Wert vor versehentlicher Veränderung zu schützen:

Das Tor, das den Speicher mit dem Adressbus verbindet, ist beim Bonsai immer (lesend) geöffnet. Dadurch wird gewährleistet, dass zu jedem Zeitpunkt korrekt auf die aktuell benötigte Adresse zugegriffen wird.

Suche

v
100.119.4.1.6
https://inf-schule.de/entwuerfe/bonsai/cpu/speicher_rechenwerk/konzept_speicher
https://inf-schule.de/100.119.4.1.6
https://inf-schule.de/@/page/MgMozB7BPi5y6dax

Rückmeldung geben