Hi,
in meinem Skript steht, dass sich mit 32 Bit max. 4 GB Speicher
adressieren lassen.
Aber wie kann ich das rechnerisch zeigen?
Meine Überlegung ist die folgende:
2^(32)=4.294.967.296 Bit
Bit ---> Byte umrechnen
4.294.967.296 Bit / 8 = 536.870.912 Byte
Byte ---> KiloByte umrechnen
536.870.912 Byte / 1024 = 524288 KB
KiloByte ---> MegaByte umrechnen
524288 KB / 1024 = 512 MB
Ab hier sehe ich schon, dass es falsch ist, aber warum? Wie kann ich
dann zeigen, dass mit 32 Bit max. 4 GB Speicher adressiert werden
können?
Danke für eure Hilfe
Lg
Du hast schon richtig gerechnet, mit 32 Addressletungen kannst du
2^32 Stellen adressieren. Dies sind dann die 4G.
Wenn jede dieser Stellen 8 Bit Register besitzt, dann sind dies halt
4 Giga-Bytes.
Es kommt halt immer darauf an, was man damit adressiert.
Gruß Volker
Der erste Schritt stimmt nch, danach kommt der Fehler.
Es lassen sich 4.294.967.296 Bytes adressieren. Dein Fehler ist, dass du
jedes Bit adressierst.
Dies ergibt dann die 4 GB
> Meine Überlegung ist die folgende:> 2^(32)=4.294.967.296 Bit
Wieso Bit? Seit wann wird Speicher in Bit gerechnet? (Von den einzelnen
Bits in FPGAs mal abgesehen ;-) )
Bei PCs und Mikrocontrollers wird normalerweise der Speicher in Byte
gerechnet. Also kann man mit einer 32bit Adresse auch grob 4 Gb (+paar
Zerquetschte) adressieren. Aber Vorsicht, es gibt auch Adressierung von
Datenworten mit 16Bit breite..... (z.B. AVR-Flashspeicher).
Die Speicherhersteller von DRAMS und SRAMS geben i.d.R. die Kapazität
in Bits an. Das muss aber nicht der Adressierung von "aussen"
entsprechen.
Dazu muss man sich die Organisationsform anschauen.
<nicht 100% sicher>
Bei Festplatten wird auch nicht mehr in Bytes, sondern in Anzahl
logischer Blöcke gerechnet. (Mit variabler Blockgröße) Das hängt glaub
damit zusammen, dass bei IDE nur 16-bit Adressierung möglich ist. Dann
werden 65535 Blöcke
mit jeweils ca. 512 Byte bis ??? Bytes adressiert.
</nicht 100% sicher>
Die Addressierung von Festplattenblöcken ist ne Geschichte für sich...
Ganz früher wurde direkt Lesekopf + Cylinder + Sektor angegeben.
Später dann haben die Platten dem Bios gemeldet, sie hätten 255
Leseköpfe, und das intern umgerechnet...
Inzwischen arbeiten die ATA Platten meist im LBA48 Modus, hier wird nur
noch eine 48bittige Blocknummer verwendet, bei 512Bytes/Block sind das
dann max. 144115188075855872 Bytes.
Sollte erstmal wieder ein bischen reichen, das ständige rumgehampel mit
Kapazitätsgrenzen (letzte war bei 128GiB) wurd ja schon fast lästig.
Zur Umrechnung von Bytes -> Kilobytes gibts hier ne Tabelle:
http://xkcd.com/394/
"Kilo" bedeutet je nach Kontext immer mal was anderes... Neulich erst
eine Werbung für nen Computer mit "0,99 GB Ram" gesehen...
fux wrote:
> Ihr seid heute aber ungewöhnlich geduldig ;) Ich hab damit gerechnet,> dass er zur Sau gemacht wird :P
Die hatten ihren Spaß alle schon beim humanoiden Roboter rotfl
Hey liebe Leute,ich habe ein paar Fragen, die mir ganz stören. Danke für
die Lösungen im Voraus!
1. wie wird die Daten im Speicher angeordent?
2. Wie wird der Speicher adressiert(angesprochen)?
3. Wo durch wird die die Größe des Adressraums eingeschränkt?
4. Was sind die Interrupts, wozu benötigt man sie?
5. Weshalb werden Prioritäten vergeben?
6. Wie werden Register gesichert beim Subroutinen-Aufruf,Kontext-Switch
und Interrupt?
Smack Shaka wrote:
> Hey liebe Leute,ich habe ein paar Fragen, die mir ganz stören.
Du meinst du hast ein paar Fragen, die du auf einem Aufgabenzettel aus
der Schule bekommen hast und nun beantworten musst?
Du musst lernen selber zu lernen, sprich selber Informationen
zusammentragen zu können. Wikipedia erschlägt dich geradezu mit
Informationen zu deinen Fragen.
Ahhhhh, sowas nervt.
Das versucht man "selber Informationen zusammen[zu]tragen" und man
findet bloß dämliches Gequatsche von Leuten die berechtigterweise nicht
helfen wollen aber dafür seitenweise Dreck schreiben und damit auch noch
gut bei google indexiert werden. Wenn ich für jedes "... machs selber
WIR helfen dir da bestimmt nicht..." das ich ertragen musste einen ct
bekommen würde wär ich der verdammt noch mal reichste Mensch des
Universums.
Sucht ihr euch mal ne Beschäftigung, und/oder lernt soziale Kompetenz
(bezogen auf "omfg... studier was andres!")
Cheers