Forum: Mikrocontroller und Digitale Elektronik maximale Speicheradressierung


von Gast (Gast)


Lesenswert?

Hallo zusammen,

wie ist das eigentlich bei dem 32Bit Controller von AVR...ist die 
Speicheradressierung auch 32Bit? Also kann ich mit dem Controller 2^32 = 
4GByte (externen) Speicher ansprechen?
Möchte mich in die uC Welt einarbeiten und hatte mir als Endprojekt 
einen MP3 Player vorgestellt...dieser sollte ja dann entsprechend 
Speicherplatz für die MP3s besitzen und diese widerum sollten ja vom 
Controller angesprochen werden können..

Gruß

von Peter (Gast)


Lesenswert?

nein so ist das leider nicht.

Auch ein 8bit prozessor kann ein Speichermedium mit 64bit ansprechen. 
Was du meinst ist der Ram, aber davon willst du ja eh nicht 4GB einbauen 
oder etwa doch?

von Gast (Gast)


Lesenswert?

nein, ich meinte mit externem Speicher zum Beispiel eine SD Karte, auf 
der die MP3 Dateien dann drauf sind. Die hat ja dann ein paar 
Gigabyte...nur wenn ich einen 8Bit Controller nehme, wie kann ich dann 
mehrere Gigabyte adressieren? Also auslesen?

von Benedikt K. (benedikt)


Lesenswert?

Genauso wie du Zahlen >9 im normalen Dezimal Zahlensystem darstellst: 
Man nimmt einfach mehrere 8bit Blöcke zusammen und hat so schnell 16, 
24, 32Bit usw. Da bei einer SD Karte die Adresse sowieso seriell 
übertragen wird, ist das eh egal. Nur bei der Berechnung ist ein 32bit 
Prozessor natürlich schneller, denn er kann 32bit Daten auf einmal 
berechnen, während ein 8bit Prozessor eben alles in 8bit Häppchen 
zerlegt und nacheinander berechnet.

PS: Ich würde dir empfehlen erstmal mit was kleinerem anzufangen, z.B. 
einer blinkenden LED auf einem normalen AVR.

von Peter (Gast)


Lesenswert?

überleg doch mal, auch DOS(16bit) konnte schon eine Festplatte mit mehr 
als 8GB ansprechen.

von Gast (Gast)


Lesenswert?

Danke für die Antwort.
Ja ich werde sowieso mit etwas kleinem Anfangen. Hab oben ja nicht ohne 
Grund "Endprojekt" geschrieben. Die Thematik hat mich in der Theorie 
halt trotzdem jetzt schon interessiert.
Und eine letzte Frage: Wie ist das dann zum Beispiel mit einer 
Festplatte mit mehreren hundert Gigabyte? Kann ich diese Daten dann auch 
mit einem 8Bit Controller ansprechen? Also lesen/schreiben auf der 
Festplatte?
Kannst Du mir kurz in groben Zügen erklären wie das technisch abläuft?

Gruß

von Helmut L. (helmi1)


Lesenswert?

>nein, ich meinte mit externem Speicher zum Beispiel eine SD Karte, auf
>der die MP3 Dateien dann drauf sind. Die hat ja dann ein paar
>Gigabyte...nur wenn ich einen 8Bit Controller nehme, wie kann ich dann
>mehrere Gigabyte adressieren? Also auslesen?

Die Addressierung deiner SD Karte hat mit dem Physikalischen Addressraum 
des Prozessors nix zu tun. Eine SD-Karte wird in Sektoren a 512 Byte 
addressiert und diese Addresierung must du selber machen. Der 
Addressraum des Prozessors hat nur mit den am Speicherbus 
angeschlossenen Speichern also RAM,FLASH und IO-Ports zu tun. Es kann 
aber auch mehr Speicher als die 4 Gigabyte addressiert werden. Früher 
hat man wenn man mehr als 64 KByte Speicher addressieren wollte dies 
durch Bankumschaltung realisiert.


Gruss Helmi

von Benedikt K. (benedikt)


Lesenswert?

Theoretisch kann man nahezu beliebig große Speicher ansprechen. Die 
Adresse wird dazu in mehrere kleine Häppchen zerlegt und nacheinander an 
den Controller im Speichermedium übertragen. Dieser setzt die Adresse 
wieder zusammen und liefert dann die angeforderten Daten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.