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.