2.1.3.2 Speicherwerk

Einen Teil der Aufgaben des Speicherwerks kennen wir bereits aus den Erläuterungen zum Steuerwerk: Empfange die Adresse des aktuellen Befehls vom Steuerwerk und sende den betreffenden Befehl zurück. Aber das ist noch nicht alles.

Definition

Definition: Speicherwerk

Das Speicherwerk ist in eine endliche Anzahl gleichgroßer (aber verhältnismäßig kleiner) Speicherzellen unterteilt. Jede Zelle verfügt dabei über eine eindeutige Adresse.

Hinweis

Hinweis
Das Speicherwerk gehört zu den sogenannten "flüchtigen Speichern". Es kann nur Informationen speichern, solange es mit Strom versorgt wird, also bei eingeschaltetem Rechner. Sobald der Rechner ausgeschaltet wird, gehen alle im Speicherwerk abgelegten Informationen unwiederbringlich verloren.

Definition

Definition: Arbeitsweise des Speicherwerks
Das Speicherwerk kann den Wert einer adressierten Speicherstelle auslesen und zur Verfügung stellen, oder andersherum einen zur Verfügung gestellten Wert in einer adressierten Speicherstelle ablegen.

Diese Definition der Arbeitsweise ist an einer Stelle noch etwas ungenau. Woher weiß das Speicherwerk, ob es die adressierte Zelle auslesen oder überschreiben soll? Das folgende Video geht näher darauf ein.

Aufgabe

Aufgabe 1
Zu Beginn des Videos empfängt das Speicherwerk über den Adressbus die Adresse "00000011". Warum wird damit Speicherzelle 3 angesprochen?

Das im Video erläuterte Speicherwerk mit dem erweiterten Bus-System zeigt die folgende Abbildung:

Speicherwerk.jpg

Aufgabe

Aufgabe 2
Im Bild oben siehst du das Speicherwerk mit seinen von 0 bis n nummerierten Speicherzellen. Diese Nummerierung ist angegeben in dezimalen Zahlen, das Speicherwerk verarbeitet aber in der Realität nur binär angegebene Adressen. Ändere deshalb die Nummierierung der einzelnen Speicherzellen in eine binäre Schreibweise ab!
Interessant ist, welche binäre Adresse du der Speicherzelle n gibst. Diskutiere deine Entscheidung in deiner Lerngruppe! (Es gibt für Speicherzelle n nicht "die eine richtige" binäre Adresse. Es kommt aber darauf an, eine sinnvolle und nachvollziehbare Begründung für die getroffene Entscheidung zu geben.)

Speicherwerk2.jpg

Um die Zusammenarbeit zwischen dem Speicherwerk und der CPU bzw. dem Steuerwerk zu vereinfachen, werden auf der CPU oftmals spezielle Register verwendet, welche ausschließlich für die Kommunikation mit dem Speicherwerk zuständig sind. Dies sind das Speicherardressregister (Memory Adress Register, kurz MAR), sowie das Speicherdatenregister (Memory Data Register, kurz MDR).

Im MAR legt das Steuerwerk jeweils die Adresse ab, welche im Speicherwerk angesprochen werden soll. Bei einem Lesezugriff auf die Speicherzelle wird der vom Speicherwerk über den Datenbus bereitgestellte Wert im MDR abgelegt, und kann von hier aus weiter verarbeitet werden. Bei einem Schreibzugriff muss sich im MDR der zu schreibende Wert befinden, so dass er über den Datenbus an das Speicherwerk übermittelt werden kann.

Aufgabe

Aufgabe 3
Betrachte die Situation, in der die momentan im PC (Befehlszähler) gespeicherte Adresse an das Speicherwerk übermittelt wird, um so den nächsten Befehl aus der adressierten Speicherzelle in das IR (Befehlsregister) zu kopieren.

  • Welches Signal wird am Steuerbus angelegt?
  • Welchem Weg nehmen die jeweiligen Daten, wenn zur direkten Kommunikation zwischen CPU und Speicherwerk nur MAR und MDR eingesetzt werden dürfen? Erläutere deinen Weg in deiner Lerngruppe!

Cpu8-speicher.jpg

Aufgabe

Aufgabe 4
In der Vergangenheit war immer wieder folgender Satz zu hören: "Ein 32-Bit-Betriebssystem kann maximal 4 GB Arbeitsspeicher (RAM) verwalten". Gehen wir für unser Speicherwerk davon aus, dass der Adressbus eine Breite von 32 Bit besitzt. Damit können dann auch maximal 4 GB im Speicherwek angesprochen werden.

  • Wie viele Adressen können mit 32 Bit unterschieden werden? Das Ergebnis gibt dann gleichzeitig die Anzahl der Seicherzellen im Speicherwerk an.
  • 4 GB = 4 * 1024 MB = 4 * 1024 * 1024 KB = 4 * 1024 * 1024 * 1024 Byte = 4 * 1024 * 1024 * 1024 * 8 Bit
    Wie viele Bit besitzt eine einzige Speicherzelle demnach?
  • Gehen wir weiter davon aus, dass der Datenbus ebenfalls 32 Bit breit ist.
    Beim Eintreffen einer Adresse über den Adressbus am Speicherwerk und dem Befehl "Lesen" auf dem Steuerbus wird das Speicherwerk über den Datenbus genau 32 Bit zurücksenden. Der Speicher kann dann in einer Skizze mit Zellen gezeichnet werden, die jeweils eine Breite von 32 Bit besitzen.

Wie lautet die korrekte Adressierung dieser 32 Bit breiten Zellen?

Speicher32bit.jpg



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png