![]() Vorherige Seite |
![]() Eine Ebene hoch |
![]() Nächste Seite |
|---|
Ein heutiger Computer hat üblicherweise einen Arbeitsspeicher von 128 Megabyte. Das sind 134.217.728 Byte, wobei jedes Byte aus acht Speicherzellen besteht, was etwa 109 Speicherzellen entspricht. (In der Computertechnik steht die Vorsilbe Kilo, angedeutet durch ein großes K nicht für 103, sondern für 210, ebenso Mega nicht für 106 sondern für 220.)
In fast allen Computern sind die Speicher byteweise, also zu Blöcken von acht Speicherzellen organisiert. Jedes Byte erhält eine eindeutige (Haustür-) Nummer, die Adresse. Damit kann jede Speicherzelle eindeutig identifiziert werden. Auch wenn ein heutiger Computer gleich vier Byte auf einmal einliest, hat immer noch jedes Byte seine eigene Adresse.
| Adresse: | Inhalt: | |
|---|---|---|
| 0 | > | 0 1 1 0 0 1 0 1 |
| 1 | > | 1 1 1 0 0 1 0 1 |
| 2 | > | 1 1 1 1 1 0 0 0 |
| 3 | > | 1 0 1 0 0 1 0 1 |
| 4 | > | 1 1 0 1 0 1 1 1 |
| 5 | > | 0 0 0 0 1 0 1 0 |
| 6 | > | 0 0 1 1 0 0 1 0 |
Will nun die CPU auf eine bestimmte Speicherzelle zugreifen, so stellt sie auf dem Adressbus die gewünschte Adresse ein. Im Speicheblock wird die Adresse dekodiert, und das entsprechende Byte bekommt ein Freigabezeichen (siehe Abbildung 4). Nun teilt die CPU dem Speicher noch über den Steuerbus mit, ob es in die Speicheradresse schreiben will, oder dessen Inhalt auslesen möchte. Danach ist die Verbindung zwischen CPU und der gewünschten Stelle im Speicher hergestellt, und die Daten werden übertragen.

Es ist wichtig, das Konzept von Adresse und Speicherinhalt gut zu verstehen. Dieses Wissen wird später für die C-Programmierung mit Zeigern (engl. pointer) benötigt.