Frage zur Adressierung von Speicherzellen im Arbeitsspeicher

avago

Cadet 3rd Year
Registriert
Jan. 2009
Beiträge
34
Adressbus

Ein Adressbus ist im Gegensatz zum Datenbus ein Bus, der nur Speicheradressen überträgt. Die Busbreite, also die Anzahl der Verbindungsleitungen, bestimmt dabei, wie viel Speicher direkt adressiert werden kann. Wenn ein Adressbus n Adressleitungen hat, können 2n Speicherstellen direkt adressiert werden. Bei einem 32-Bit-System können also 2 hoch 32 = 4.294.967.296 Byte (eine Speicherzelle = 8 Bit) = 4 GB angesprochen werden. Bei einem 64-Bit-System können sogar 2 hoch 64 = 18.446.744.073.709.551.616 Byte, das sind umgerechnet 16 Exabyte (1 Exabyte = 260 = 1.152.921.504.606.846.976 Byte), angesprochen werden.

Dieser Bus ist unidirektional und wird vom jeweiligen Busmaster (s. a. oben) angesteuert. Letzterer ist meistens die CPU, aber vor allem DMA-fähige Bausteine können diesen Bus auch übernehmen, wenn sie aktiv werden. Typische Größen für den Adressbus sind 8, 20 (beim Intel 8088), 24 (beim Nachfolger Intel 80286), 32 (etwa Intel 80486), 36 (Pentium 2 bis Pentium 4), 40 (Athlon), 44 (Itanium) und 64 Bit.

Quelle: Wikipedia

Hallo,

also ich hätte eine Frage bezüglich dieses Zitats von Wikipedia zu 32 und 64 Bit Systemen. So wie ich den Text verstanden habe, können je nach Anzehl der vorhandenen Adressbusleitungen, mehr oder weniger Speicherstellen adressiert werden.
Aber das Betriebssystem hat ja entweder 64 oder 32 Bit. Das ändert ja nichts an der Anzahl der Adressbusleitungen, also an der Hardware?

Ich habe mir schon gedacht, dass vielleicht ein 64 Bit Prozessor schon 64 Adressbusleitungen hat, aber wenn man darauf nen 32 Bit System laufen lässt, nur 32 benutzt werden? Oder wie muss man das verstehen. Weil die Hardware kann ich ja mit Software nicht verändern. :D
 
Die Hardware könnte Adressen mit 64bit adressieren, die Software kann aber in dem Fall nur 32bit, daher laufen über diesen 64bit Bus auch nur 32 Adressen. Das 32bit OS kann eben die Hardware nur teilweise ausnutzen.
 
Ah ok, dann hab ich das richtig verstanden. Danke für die schnelle Antwort.

Wenn ich ein 32 Bit Prozessor habe und er verarbeitet in einem Takt 32 Bit und ich brauche schon allein die ganzen 32 Bit um ein Speichermodul zu adressieren, könnte er ja keine anderen Daten mehr verarbeiten als die Adressen des Speichers. Oder wird das abwechselnd in mehreren Takten verarbeitet: Adresse - Daten - Adresse - Daten.........??

Kennt sich vielleicht jemand damit aus?
 
Zuletzt bearbeitet:
Soweit ich mich erinnern kann, kann gleichzeitig vom Adress- und vom Datenbus gelesen werden. Die CPU könnte also die Adresse und die Daten für einen Befehl bereitstellen. Falls das nicht so ist, werden natürlich Adressen und Daten nacheinander in die entsprechenden Register geladen.
 

Ähnliche Themen

Zurück
Oben