Impressum
|
Das Bus-System
Die
Baugruppen eines Microcomputers kommunizieren über Bussysteme
miteinander. Busse bestehen aus einzelnen elektrischen Leitungen,
die zu funktionalen Gruppen zusammengefasst werden. Es lassen sich
in der Regel drei Einzelbusse unterscheiden:
- Datenbus: Auf diesen Leitungen
tauschen die einzelnen Baugruppen (CPU, RAM, ROM,...) Informationen
(Daten) aus.
Bsp.:
Es wird ein Byte von einer Eingabebaugruppe (Port) gelesen
und über den Datenbus zur CPU geschickt. Je mehr Datenleitungen
(„Busbreite“) ein Mikrocomputer hat, desto mehr Informationen
können gleichzeitig „verschickt“ werden. Gängige Busbreiten
heutiger Mikroprozessoren sind 4, 8, 16, 32, 64 Bit. Da die
Daten in beide Richtungen „fließen“ können, spricht
man von einem bidirektionalen Bus. Dabei muss sichergestellt
sein, dass immer nur eine Baugruppe Daten auf den Datenbus legt
(Sender), da es sonst zu Kurzschlüssen auf den elektrischen
Leitungen kommt.
- Adressbus: Die CPU bestimmt, welcher
Baustein Sender, bzw. Empfänger von Daten ist. Dazu erhält
jede Baugruppe eine oder mehrere Adressen. Durch die Ausgabe
der Adressen auf dem Adressbus wird dann die gewünschte
Baugruppe ausgewählt. Die Anzahl der möglichen Adressen
richtet sich dabei nach der Anzahl der Adressleitungen. Ein
Prozessor mit 16 Adressleitungen kann zum Beispiel 216 = 65536 Adressen (0000hex – FFFFhex)
ausgeben.
- Steuerbus: Ein Mikrocomputer besitzt
eine Vielzahl an Steuerleitungen. Die wichtigsten bestimmen
die Zugriffsart auf die einzelnen Baugruppen:
a) Speicherzugriff: Insgesamt kann ein System
mit 16 Adressleitungen 65536 Byte externen Speicher ansprechen.
Die Art des Zugriffs wird über 2 Leitungen gesteuert:
MEM R/
(engl.: memory read)
Speicher lesen
MEM W/ (engl.:
memory write) Speicher schreiben b) Peripheriezugriff:
Ein-/Ausgabebaugruppen und andere Spezialbausteine (z.B. intelligente
Zähler/Timer 8254; Serielle Schnittstellenbausteine 8251)
verwenden nur die ersten 8 Adressleitungen. So sind 28
= 256 Ein- und Ausgabekanäle (I/O Ports) adressierbar.
Die entsprechenden Steuerleitungen sind:
IN R/
(engl.: input read)
Eingabeport lesen
OUT W/
(engl.: output write) Ausgabeport schreiben
|