Programmieren lernen mit Eas — das Tutorial von Molaskes

Wie der Computer funktioniert:06. Speicher-Adressen

Woher weiß der Computer nun, welche Bits/Bytes er setzen, löschen oder lesen soll, bei der riesigen Anzahl von diesen in seinem RAM, auf Laufwerken und so weiter? Jeder einzelne Speicher-Flip-Flop ist über ein Schaltkreisnetzwerk mit der Ausgabe-Leitung des Computers verbunden und setzt diese Ausgabe auf seinen Bit-Zustand, wenn sein Lese-Eingabe-Bit aktiviert wird. Stell dir vor, es gäbe einen Computer mit nur 2 Bit RAM. Dann könnte man mit einem Steuer-Bit auswählen, welches der Speicher-Bits gelesen werden soll. Das Steuer-Bit aktiviert den Lese-Eingang von Flip-Flop A, wenn es 0 ist, ansonsten den von Flip-Flop B, realisiert durch eine Bit-Inverter-Schaltung vor A: Steuer-Bit = 0 → Lese-Eingang A = 1 → Ausgabe-Leitung liest Bit A Lese-Eingang B = 0 Steuer-Bit = 1 → Lese-Eingang A = 0 Lese-Eingang B = 1 → Ausgabe-Leitung liest Bit B Da das ein wenig wie Postleitzahlen funktioniert, sagt man, dass Bit A die Adresse "0" und Bit B die Adresse "1" hat. Das Adress-Steuer-Bit sagt dem Computer, welchen Flip-Flop er lesen, setzen oder löschen soll. Mit zwei weiteren Steuer-Bits und ein paar einfachen Verschaltungen lassen sich alle drei Flip-Flop-Operationen umsetzen: Lesen-/Schreiben-Steuer-Bit = 0 An-/Aus-Steuer-Bit = 0 = "lesen: aus" (tut nichts, Ruhezustand) Lesen-/Schreiben-Steuer-Bit = 0 An-/Aus-Steuer-Bit = 1 Adress-Steuer-Bit = 0 = "lesen: an" von Zelle "0" Lesen-/Schreiben-Steuer-Bit = 0 An-/Aus-Steuer-Bit = 1 Adress-Steuer-Bit = 1 = "lesen: an" von Zelle "1" Lesen-/Schreiben-Steuer-Bit = 1 An-/Aus-Steuer-Bit = 0 Adress-Steuer-Bit = 0 = "schreiben: aus" in Zelle "0" (löscht das Bit) Lesen-/Schreiben-Steuer-Bit = 1 An-/Aus-Steuer-Bit = 0 Adress-Steuer-Bit = 1 = "schreiben: aus" in Zelle "1" (löscht das Bit) Lesen-/Schreiben-Steuer-Bit = 1 An-/Aus-Steuer-Bit = 1 Adress-Steuer-Bit = 0 = "schreiben: an" in Zelle "0" (setzt das Bit) Lesen-/Schreiben-Steuer-Bit = 1 An-/Aus-Steuer-Bit = 1 Adress-Steuer-Bit = 1 = "schreiben: an" in Zelle "1" (setzt das Bit) Wenn man nun ein zweites Adress-Bit hinzufügt, kann man vier Speicherzellen (Flip-Flops) lesen, köschen und setzen. Mit einer 3-Bit-Adresse lassen sich acht Flip-Flops ansteuern, also ein Byte. In der Realität haben Computer nicht nur eine einzelne Daten-Ausgabe-Leitung und ein einzelnes An-/Aus-Steuer-Bit, sondern verwenden das Lesen-/Schreiben-Bit, um ganze Gruppen von Flip-Flops parallel gleichzeitig auf mehreren Leitungen zu lesen bzw. zu schreiben. Die Adresse steuert dann nicht mehr einzelne Bits/Flip-Flops an, sondern je nach Computer-Typ: 8 Bit: ein Byte auf einmal 16 Bit (2 Bytes): ein Word auf einmal 32 Bit (4 Bytes): ein Double-Word auf einmal 64 Bit (8 Bytes): ein Quad-Word auf einmal In einem Computer gibt es immer ebenso viele Schreib-Leitungen wie Lese-Leitungen. Ein 8-Bit-Computer etwa hat einen 8-Bit-Schreib-Port (An-/Aus-Steuer-Bits) und einen 8-Bit-Lese-Port (Speicher-Ausgabe-Leitungen). Ein 8-Bit-Computer könnte z.B. mit einer 3-Byte-Adresse (256×256×256 = 16.777.216 = 16×1024^2) maximal 16 Megabyte Arbeitsspeicher ansteuern, ein 16-Bit-Computer das Doppelte, 32 MB. Eine 4-Byte Adresse deckt bei einem 16-Bit-PC bis zu 8 GB RAM ab, bei einem 64-Bit-PC 32 GB, um nur mal ein paar Beispiele anzuführen.
06. Speicher-Adressen
D Du brauchst zwei Dinge
K Kontakt
Esc Suchen / Inhaltsverzeichnis
Tab