Address Bus
Englisch: address bus
Ein Bus, der zur Angabe einer physischen Adresse verwendet wird.
Adressbus: die Leitungen, die die CPU zum Speicher führen
Der Adressbus ist ein Satz paralleler elektrischer Leitungen, die Binärsignale vom Prozessor zum Speicher oder zu Peripheriegeräten transportiert und damit angeben, auf welche physikalische Adresse zugegriffen wird. Bei einem typischen Mikrocontroller oder Computer bestimmt die Breite des Adressbusses (gemessen in Bits), wie viele unterschiedliche Speicheradressen erreichbar sind. Ein 8-Bit-Adressbus kann auf 256 Adressen zugreifen, ein 16-Bit-Bus auf 65.536, ein 32-Bit-Bus auf etwa 4 Milliarden. Die Anzahl der Leitungen im Adressbus entspricht seiner Bitbreite, und jede Leitung führt zu jedem Zeitpunkt einen Zustand von 0 oder 1.
Adressbussse arbeiten zusammen mit Datenbusssen und Steuersignalen. Während der Adressbus angibt, wo gelesen oder geschrieben wird, transportiert der Datenbus die eigentliche Information, und Steuerleitungen signalisieren, ob der Zugriff ein Lesezugriff oder ein Schreibzugriff ist. Der Adressbus ist in den meisten Systemen unidirektional: er leitet Signale nur vom Prozessor nach außen. Speicher- und E/A-Geräte dekodieren die Adresse, um zu bestimmen, ob die Anfrage für sie bestimmt ist, und reagieren dann über den Datenbus oder nehmen Daten von diesem an.
Praktische Grenzen und Ausfallszenarien
Die Breite des Adressbusses begrenzt direkt den verfügbaren Systemspeicher. Ältere 8-Bit-Prozessoren mit 16-Bit-Adressbusssen konnten nur 64 Kilobyte RAM nutzen; moderne 64-Bit-Prozessoren mit entsprechender Adressleitungsimplementierung können theoretisch auf 16 Exabyte zugreifen. In realen Systemen wird der volle theoretische Bereich jedoch selten genutzt, da Kosten und Chip-Design-Kompromisse dagegensprechen. Die Kapazität und Ausbreitungsverzögerung des Adressbusses beeinflussen die Systemgeschwindigkeit, besonders bei hochfrequenten Anwendungen. Schlechte Terminierung auf langen Adressbus-Leiterbahnen kann zu Reflektionen und Zeitfehlern führen, die den Speicherzugriff beschädigen.
Multiplexing ist in eingebetteten Systemen verbreitet, um die Anzahl der Anschlüsse zu reduzieren. Gemultiplexte Adressbussse nutzen dieselben physikalischen Leitungen wie der Datenbus, wobei separate Steuersignale angeben, ob der aktuelle Zustand die Adresse oder die Daten darstellt. Dies spart Anschlüsse, erfordert aber externe Speicher, um die Adresse zu halten, während Daten übertragen werden. Klassische Intel-Mikroprozessoren ab dem 8086 nutzten auf diese Weise gemultiplexte Bussse.
Der Adressbus sitzt zwischen der arithmetisch-logischen Einheit der CPU und der Speicherhierarchie. Er ist für Endbenutzer unsichtbar, aber grundlegend dafür, wie jedes digitale System Rechnerressourcen verwaltet. Das Verständnis von Adressbus-Begrenzungen hilft zu erklären, warum ältere Maschinen Software für neuere nicht ausführen konnten und warum eingebettete Systeme oft eine sorgfältige Speicheraufteilung durch Ingenieure erfordern.