32 bit-System darf Maximum 4gb besitzen?

8 Antworten

Die Rechnung geht davon aus, dass jedes Byte im Speicher einzeln adressiert werden muss und das genau mit einem Wort (Ein Wort sind in diesem Fall die 32 Bit).

Mit 32 Bit kannst du also auf einen Schlag 2^32 Speicherzellen adressieren.

Das Byte-weise Adressieren - und somit die 4GB Grenze - ist zwar historisch so gewachsen, aber nicht notwendig. Tatsächlich ist es so, dass in einer modernen Architektur sowieso nicht jedes Byte einzeln im Speicher adressiert werden kann, sondern immer ein kleiner Block geladen wird und dann eventuell das jeweilige Byte rausgepickt wird. Theoretisch ist es auch möglich, dass man 2 Adressen sendet, einmal einen Groben Bereich im Speicher und dann eine Speicherzelle innerhalb des groben Bereiches noch einmal adressiert wird.

Zur Praxis: Auch mit einem moderneren 32Bit-System ließ sich zum Beispiel 2009 mehr als 4GB Speicher mit dem Betriebssystem Linux addressieren, über den sogenannten PAE (Physical Address Extension) Mode.

Wenn ich 2^32 verschiedene Bytes adressieren möchte, dann sind das 2^2 * 2^10 * 2^10 * 2^10 verschiedene Bytes. 2^10=1024. 2^10 =KB, 2^20=MB, 2^30=GB.

Somit sind das eben 4GB. Keine Magie.

Und um noch andere Antworten richtig zu stellen, im PAE wird die Adresse erweitert, aber nur in OS-Sicht, jedem Prozess stehen trotzdem idR nur 32-Bit Adressraum zur Verfügung, wenn wir beim Flat Memory Model bleiben.

Hallo,

da kennst Du offenbar den Zusammenhang nicht:

Jede Speicherzelle dieser 4GB muss einzeln adressierbar sein!

Also, wenn man mit 32 Stellen nur maximal 4G -Adressen hat, kann man auch nur soviel ansprechen oder nutzen.

Wenn der Speicher größer ist, geht das zwar zu nutzen aber eben nur 4GB davon, der Rest ist dann "nicht vorhanden".

Grüße aus Leipzig

Jedes Bit im Adressbus adressiert eine Ein-Byte Speicherzelle.

2^32 = 4.294.967.296 Byte ~ 4.3 GByte.

Mehr kannst du nicht adressieren also ist nach exakt dieser Anzahl Bytes schluss.

Woher ich das weiß:Studium / Ausbildung – Masterstudium Elektrotechnik - Schwerpunkt Embedded Systems
uschifragen  10.09.2020, 12:16

Werden hier nicht die Grundlagen (Bit(b), Bite(B), Word) durcheinander gebracht?

1
Gehilfling  10.09.2020, 12:20
@uschifragen

Ein Bit in der Adresse spricht eine Speicherzelle mit der Größe eines Bytes an.

Damit können 32 Bit einen Speicherbereich von 0-4.294.967.269 Bytes ansprechen. Das ist schon richtig so. Einzelne Bits sind nicht adressierbar.

0

Du hast dir selbst die Antwort auf deine Frage mit deinem ersten Satz gegeben.

Im Übrigen darf ein 32bit System schon mehr Speicher haben, es macht nur keinen Sinn weil nicht mehr adressiert werden kann.

Woher ich das weiß:Studium / Ausbildung