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ß
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?
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?
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.
überleg doch mal, auch DOS(16bit) konnte schon eine Festplatte mit mehr als 8GB ansprechen.
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ß
>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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.