2.1.3.2 Speicherwerk

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
==== Definition: Speicherwerk ====
<p>
<p>
{{#index:Speicherwerk}}
{{#index:Speicherwerk}}
<loop_area type="definition">'''Definition: Speicherwerk'''
<loop_area type="definition">
<p>
<p>
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. Alle Adressen sind fortlaufend, beginnend bei Null (0, 1, 2, 3, ...).
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. Alle Adressen sind fortlaufend, beginnend bei Null (0, 1, 2, 3, ...).
Zeile 12: Zeile 13:
</p>
</p>


<br />
==== Definition: Arbeitsweise des Speicherwerks ====
<p>
<p>
{{#index:Arbeitsweise, Speicherwerk|Speicherwerk, Arbeitsweise}}
{{#index:Arbeitsweise, Speicherwerk|Speicherwerk, Arbeitsweise}}
<loop_area type="definition">'''Definition: Arbeitsweise des Speicherwerks'''
<loop_area type="definition">
<p>
<p>
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.
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.
Zeile 21: Zeile 24:
</p>
</p>


<br />
==== Lesen oder Schreiben? ====
<p>
<p>
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.
Diese Definition der Arbeitsweise ist an einer Stelle noch etwas ungenau. Woher weiß das Speicherwerk, ob es die adressierte Zelle auslesen oder überschreiben soll?
</p>
<p>
Das folgende Video geht näher darauf ein.
</p>
</p>


Zeile 31: Zeile 39:
</p>
</p>


<br />
==== Aufgabe 1 ====
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Aufgabe 1">
<loop_task title="Speicherzelle 3">
<p>
<p>
Zu Beginn des Videos empfängt das Speicherwerk über den Adressbus die Adresse "00000011". Warum wird damit Speicherzelle 3 angesprochen?
Zu Beginn des Videos empfängt das Speicherwerk über den Adressbus die Adresse "00000011". Warum wird damit Speicherzelle 3 angesprochen?
Zeile 44: Zeile 54:
</p>
</p>


<br />
<p>
<p>
Aus dem Video folgt hier noch eine Definition.
Aus dem Video folgt hier noch eine Definition.
</p>
</p>


<br />
==== Definition: Steuerbus ====
<p>
<p>
{{#index:Steuerbus|Bus, Steuerbus}}
{{#index:Steuerbus|Bus, Steuerbus}}
<loop_area type="definition">'''Definition: Steuerbus'''
<loop_area type="definition">
<p>
<p>
Ein Steuerbus ist ein Bus, bei dem die parallel übertragene Gruppe von Bits als Steuerinformation zu interpretieren ist.
Ein Steuerbus ist ein Bus, bei dem die parallel übertragene Gruppe von Bits als Steuerinformation zu interpretieren ist.
Zeile 61: Zeile 74:
</p>
</p>


<br />
<p>
<p>
Das im Video erläuterte Speicherwerk mit dem erweiterten Bus-System zeigt die folgende Abbildung:
Das im Video erläuterte Speicherwerk mit dem erweiterten Bus-System zeigt die folgende Abbildung:
Zeile 69: Zeile 83:
</p>
</p>


<br />
==== Aufgabe 2 ====
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Aufgabe 2">
<loop_task title="Von dezimal zu binär">
<p>
<p>
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!
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!
Zeile 91: Zeile 107:
</p>
</p>


<br />
==== MAR und MDR ====
<p>
<p>
{{#index:Speicheradressregister|Memory Adress Register|MAR|Speicherdatenregister|Memory Data Register|MDR}}
{{#index:Speicheradressregister|Memory Adress Register|MAR|Speicherdatenregister|Memory Data Register|MDR}}
Zeile 100: Zeile 118:
</p>
</p>


<br />
==== Aufgabe 3 ====
<p>
<p>
<loop_area type="task">
<loop_area type="task">
<loop_task title="Aufgabe 3">
<loop_task title="Der Weg der Daten">
<p>
<p>
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.
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.
Zeile 115: Zeile 135:
</p>
</p>


<br />
==== 2er- oder 10er-Potenzen ====
==== 2er- oder 10er-Potenzen ====
<p>
<p>
{{#index:GiB|MiB|KiB|Byte|Bit|GibiByte|MebiByte|KibiByte}}
{{#index:GiB|MiB|KiB|Byte|Bit|GibiByte|MebiByte|KibiByte}}
Zeile 183: Zeile 203:
</p>
</p>


<p>
<br >
==== Aufgabe 4 ====
<p id="Aufgabe 4: Die 4 GiB-Grenze">
<loop_area type="task">
<loop_area type="task">
<loop_task title="Aufgabe 4: Die 4 GiB-Grenze">
<loop_task title="Die 4 GiB-Grenze">
<p>
<p>
In der Vergangenheit war immer wieder folgender Satz zu hören: ''"Ein 32-Bit-Betriebssystem kann maximal 4 GiB 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 GiB im Speicherwerk angesprochen werden.
In der Vergangenheit war immer wieder folgender Satz zu hören: ''"Ein 32-Bit-Betriebssystem kann maximal 4 GiB 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 GiB im Speicherwerk angesprochen werden.

Version vom 5. November 2013, 16:29 Uhr

Definition: Speicherwerk

{{#index:Speicherwerk}}

Definition

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. Alle Adressen sind fortlaufend, beginnend bei Null (0, 1, 2, 3, ...).

Das Speicherwerk gehört zu den sogenannten "{{#index:flüchtiger Speicher|Speicher, flüchtiger}}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: Arbeitsweise des Speicherwerks

{{#index:Arbeitsweise, Speicherwerk|Speicherwerk, Arbeitsweise}}

Definition

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.


Lesen oder Schreiben?

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.

video


Aufgabe 1

Aufgabe

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

(Entschuldigung! Diese Frage ist für Studierende im ersten Semester bestimmt. Falls Du bereits in einem höheren Semester bist, ist sie natürlich viel zu leicht.) ;-)


Aus dem Video folgt hier noch eine Definition.


Definition: Steuerbus

{{#index:Steuerbus|Bus, Steuerbus}}

Definition

Ein Steuerbus ist ein Bus, bei dem die parallel übertragene Gruppe von Bits als Steuerinformation zu interpretieren ist.

Die {{#index:Breite, Steuerbus|Steuerbus, Breite}}Breite des Steuerbusses kann sich deutlich von der {{#index:Breite, Adressbus|Adressbus, Breite}}Breite des Adress- oder {{#index:Breite, Datenbus|Datenbus, Breite}}Datenbusses unterscheiden. In der Regel ist die Breits des Steuerbusses geringer.


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

Speicherwerk.jpg


Aufgabe 2

Aufgabe

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. Entscheide dich für eine konkrete binäre Adresse und erläutere 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.)


MAR und MDR

{{#index:Speicheradressregister|Memory Adress Register|MAR|Speicherdatenregister|Memory Data Register|MDR}} 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 Speicheradressregister (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 3

Aufgabe

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


2er- oder 10er-Potenzen

{{#index:GiB|MiB|KiB|Byte|Bit|GibiByte|MebiByte|KibiByte}}

Hinweis

Hinweis zur Schreibweise GiB, MiB und KiB in der folgenden Aufgabe:

Die Physikalisch-Technische Bundesanstalt hat durch Mitteilung in Heft 2 aus Juni 2007 (Seite 164) die internationale Norm IEC 60027-2 (2005, 3. Auflage) umgesetzt, nach der mit den folgenden Abkürzungen versehene Angaben jeweils auf 2er-Potenzen basieren:

4 GiB (GibiByte)

= 4 * 210 MiB
= 4 * 1.024 MiB
= 4.096 MiB (MebiByte)

= 4 * 210 * 210 KiB
= 4 * 1.024 * 1.024 KiB
= 4.194.304 KiB (KibiByte)

= 4 * 210 * 210 * 210 Byte
= 4 * 1.024 * 1.024 * 1.024 Byte
= 4.294.967.296 Byte

= 4 * 210 * 210 * 210 * 8 Bit
= 4 * 1.024 * 1.024 * 1.024 * 8 Bit
= 34.359.738.368 Bit

{{#index:GB|MB|KB|GigaByte|MegaByte|KiloByte}}

Hinweis

Im Vergleich die Bedeutung der Schreibweisen GB, MB und KB:

Diese basieren auf 10er-Potenzen:

4 GB (GigaByte)

= 4 * 103 MB
= 4 * 1.000 MB
= 4.000 MB (MegaByte)

= 4 * 103 * 103 KB
= 4 * 1.000 * 1.000 KB
= 4.000.000 KB (KiloByte)

= 4 * 103 * 103 * 103 Byte
= 4 * 1.000 * 1.000 * 1.000 Byte
= 4.000.000.000 Byte

= 4 * 103 * 103 * 103 * 8 Bit
= 4 * 1.000 * 1.000 * 1.000 * 8 Bit
= 32.000.000.000 Bit


Aufgabe 4

Aufgabe

In der Vergangenheit war immer wieder folgender Satz zu hören: "Ein 32-Bit-Betriebssystem kann maximal 4 GiB 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 GiB im Speicherwerk angesprochen werden.

  • Wie viele Adressen können mit 32 Bit unterschieden werden? (Das Ergebnis gibt dann gleichzeitig die Anzahl der Speicherzellen im Speicherwerk an.)
  • Wie viele Bit besitzt eine einzige Speicherzelle unter Berücksichtigung der 4 GiB Gesamtspeichermenge und dem Hinweis oben zur Bedeutung von "GiB"?
  • 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? (Gib die Adressierung sowohl in dezimaler, als auch in binärer Schreibweise an!)

Speicher32bit.jpg

  • Wenn eine Speicherzelle in der Abbildung eine Breite von 32 Bit besitzt, warum wird oben im Bild nur bis 31 gezählt?



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