Wie viele Bits muss eine Hauptspeicheradresse besitzen, um alle Adressen eines Hauptspeichers mit 512 MB ansprechen zu können?
Aufgabe:
Ein Rechner besitze 512 MB Hauptspeicherkapazität. Wie viel Bit müssen die Hauptspeicheradressen mindestens besitzen, damit alle Adressen angesprochen werden können?
2 Antworten
Kann man so nicht beantworten, da nicht jedes Bit einzeln adressierbar sein muss. 512 MB wären eigentlich 10^32 Bit also ist 32 Bit Adressraum vermutlich die gesuchte Antwort.
Aber natürlich kann es auch sein, dass unter jeder Adresse z.B. 2 Byte als kleinste Speichereinheit angesprochen werden, dann brauchst du nur 28 Bit Adressraum.
Ja, das war auch meine "Verstehenslücke". Im Skript stand da nix mehr zu... und wie groß eine HS-Adresse ist, wird wohl von vielen Faktoren abhängen..
19 Bit, wenn ich nicht komplett falschliege.
Edit: stellt sich raus, ich liege falsch.
Ich habt beide vergessen, dass ein Byte 2^3 bzw. 8 Bit hat. Wenn man einzelne Bits adressieren will kommen als nochmal 3 2er-Potenzen dazu.
Ja. 29 ist richtig. Jede Adresse verweist auf ein Byte und jedes Byte hat 8 Bit.
Der Arbeitsspeicher wird immer als eine Sequenz von Bytes betrachtet und diese Bytes sind alle durchnummeriert, angefangen bei 0.
1 Kibibyte = 2^10 Byte = 1024 Byte
1 Mebibyte = 2^20 Byte = 1024 * 1024 = 1048576 Byte
512 Mebibyte =2^9 * 2^20 Byte = 2^29 Byte
Es sind übrigens Mebibyte und nicht Megabyte. https://de.wikipedia.org/wiki/Byte#Vergleichstabelle
Es ging bei der Frage aber nicht darum die einzelnen Bits zu adressieren. Wenn in der IT von Arbeitsspeicheradressen geredet wird, sind fast immer Bytes gemeint.
Mein Skript sagt, es sind 29... Also:
512 * Mega Byte =
2^9 * 2^10 * 2^10 =
2^29
Das impliziert also, dass eine Adresse immer einen Byte "lang" ist? Weil ich ja nicht noch 2^3 rechne, wegen des Bytes... und gibt es nicht Adressen, die mehr Bits "besitzen" als 8..?