Hi Ich schlage mich mit dem Gedanken rum, welcher Aufbau besser zum Experimentieren und Erweitern ist. Ein µC bei dem schon alles eingebaut ist, oder ein Prozessor, bei dem ich mich noch um RAM etc. selber kümmern muss. Unter anderem denke ich mir, dass ich so mein Programm über einen externen Massenspeicher wie z.B. SD-Karte viel einfacher abspeichern kann. Ich hoffe, dass ich unter den beiden Begriffen alles richitg verstehe. Was sagt ihr dazu? Mit freundlichen Grüßen Patrick
Was willst du tun und was sind deine Vorkenntnisse? (Anhand der Frage schätze ich sie jetzt mal eher gering ein.) Wie 6641 sagt: Nimm einen AVR und ein Steckbrett und spiel mal ein bisschen damit herum. Dieser Aufbau ist jedenfalls genug flexibel und erweiterbar um sehr, sehr viel auszuprobieren.
Obwohl beim AVR IMO das Havard eigentlich nervt. Nachladbarer Code in ner VM, was den eh schon zu knappen Speicher auffrisst, oder man macht sich mit der Zeit das Flash karpott. @OP: Ich persönlich würde eher danach gehen wieviel Zeit du mitbringen willst. Bei hinreichender Zeit, schnapp dir ne Z80 oder ne 6502, dazu passend 32 kbyte SRAM und 32 kbyte Flash und respektive PIAs (Z80) oder VIAs/CIAs (6502). Die Einzelteile für 6502 (ok, 6510 ;) obwohl, in ner 1541 ist eine 6502 drin....) kannst du dir aus nem C64 ausschlachten, die Dinger gibt es wie Sand am Meer und auf $FLOHMARKT meist schon für eine geringe Menge Teuros zu haben.
Hallo, obwohl ich dem Gedankengang von "Der freundliche Bastler von Nebenan" durchaus einiges abgewinnen kann (kenne ich eben alles noch von früher), würde ich es davon abhängig machen, wohin die Experimente gehen sollen. Richtung Computer (hier im Sinn von Hardware mit Betriebssystem und Standard-I/O wie Tastatur, Monitor), die ihren Zweck drin hat, ein Programm zu laden, dessen Ergebnisse nur Daten sind oder Richtung Steuerung (hier im Sinne von Hardware, die direkt an Schalterm Sensoren, Relais, Motoren hängt), die ihren Zweck nur darin hat, eben diese Peripherie zu bedienen. Für den ersten Fall ist der 6502/Z80 Gedanke ok, für den anderen Fall eher AVR, PIC o.ä. Das Problem bei der "Computerlösung": viele Bauteile, die man erstmal zum Zusammenspiel überreden muß, damit überhaupt was passieren kann, was man programmieren könnte. Beim µC hat man eine bescheidene Grundhardware, wie auch "mr.chip" schreibt, mit der man schnell rumspielen kann und Erfolge sieht. Die Grenzen sind sowieso nicht so eng, schließlich kann ein PC auch externe Sachen steuern oder ein AVR ein Basic-Computer sein... Gruß aus Berlin Michael
Patrick O. wrote: > Ich schlage mich mit dem Gedanken rum, welcher Aufbau besser zum > Experimentieren und Erweitern ist. Ein µC bei dem schon alles eingebaut > ist, oder ein Prozessor, bei dem ich mich noch um RAM etc. selber > kümmern muss. Nimm den µC, vieeel weniger Hardware-Aufwand. Hängt natürlich auch davon ab, was Du überhaupt vorhast. > Unter anderem denke ich mir, dass ich so mein Programm über einen > externen Massenspeicher wie z.B. SD-Karte viel einfacher abspeichern > kann. Egal in welcher Architektur der Prozessor arbeitet, kopiert werden muss das Programm von der SD-Karte dann in beiden Fällen - entweder ins RAM oder ins Flash. Und wer jetzt behauptet, dass das Flash aber nur eine bestimmte Anzahl von Schreibzyklen zulässt sollte bedenken, dass immerhin min. 10.000 Schreibzyklen möglich sind und die bei vernünftiger Verwendung (also nicht alle 2 Sek. neu schreiben) schon eine Zeit lang halten sollten und im schlimmsten Fall anschließend für 2-4 Euro ein neuer µC fällig ist. Die Frage ist eigentlich eher, warum sollte man das Programm überhaupt ständig von SD laden.
Das ist eine gute Frage. Unter anderem ist ein SD-Karten Schreibgerät viel flexibler in seinem Funktionsumfang und man kann schnell zwischen unterschiedlichen Programmen wechseln, deren Größe weit größer als der von µC sein kann. Dadurch entfallen Programmiergeräte, die, ok auch nur bei 30Euro beginnen. Frage: Werden heute noch Prozessoren im Gehäuse gefertigt, die bei Steckbrettern üblich sind?
Die Grenze zwischen uP und uC kann man doch heute garnicht mehr ziehen, jeder moderne uP hat doch schon viele Funktionen implementiert, die früher einem uC "vorbehalten" waren. Nimm den schon zitierten Z80, was hat der Nachfolger eZ80L92 oder F92 schon alles drin? Nebenbei gibt es bei denen weniger Einschränkungen, weil sie einen riesigen Speicher direkt ansprechen können. Kommt halt schlicht auf die Anwendung an, wir setzten übrigens den eZ80L92 und den AVR ein und zwar in ein und derselben Anlage (Zentraleinheit und mehrere intelligente Peripherie-Einheiten).
Patrick O. wrote: > Das ist eine gute Frage. Unter anderem ist ein SD-Karten Schreibgerät > viel flexibler in seinem Funktionsumfang und man kann schnell zwischen > unterschiedlichen Programmen wechseln, deren Größe weit größer als der > von µC sein kann. Schnell wechseln? Nicht wirklich, das Programm muss, wie schon geschrieben, in den normalen Speicher des Controllers (bzw. den an den Controller angeschlossenen Speicher) nachgeladen werden. Direkt von einer SD-Karte kann kein Controller Programme ausführen (selbst wenn, wäre dies um Größenordnungen zu langsam). Manchmal fragt man sich, was das für riesige Programme werden sollen. Früher (z.B. Amiga, ST) haben ganze Betriebssysteme inkl. Treiber, GUI etc. in 256 kiB gepasst. > Dadurch entfallen Programmiergeräte, die, ok auch nur bei 30Euro > beginnen. Die Ansteuerung der SD-Karte o.ä. muss der Controller auch irgendwo gespeichert haben d.h. man brauch dann auch wieder ein Programmiergerät. > Frage: Werden heute noch Prozessoren im Gehäuse gefertigt, die bei > Steckbrettern üblich sind? Einige schon, viele aktuelle wie z.B. div. ARM7/9, Cortex-M3, SHs, MIPS, PowerPCs etc nein.
Also ein ordentliches Programmiergerät (z.B. AVRISP von Atmel oder die Nachbauten) sollte man sich schon gönnen, dazu gibt hier im Forum schon reichlich viele Diskussionen. Damit ist ein Umprogrammieren schneller als mit SD Karte hin und herwechseln. Zumindest in der Testphase wenn das Programmiergerät noch angeschlossen ist. Für das Umprogrammieren im laufenden Betrieb bieten sich die Bootloader an die per seriell oder USB angeschlossen sein können (SD Bootloader gibts natürlich auch). Ein Nachbau aus CPU/Ram/Rom würde ich auch nicht mehr machen. Wenn es zu Lehrzwecken doch gewünscht ist: dafür dürfte es in älteren Elektor oder ct Zeitschriften reichlich halbfertiges geben.
An Arc Net Nach meinem Verständis über Prozessoren, können Programme doch auch von externen Speichern abgearbeitet werden, oder wie wird denn sonst bei PCs von Disketten oder Festplatten gebootet? > Schnell wechseln? Nicht wirklich, das Programm muss, wie schon > geschrieben, in den normalen Speicher des Controllers (bzw. den an den > Controller angeschlossenen Speicher) nachgeladen werden. Direkt von > einer SD-Karte kann kein Controller Programme ausführen (selbst wenn, > wäre dies um Größenordnungen zu langsam). Bei der Idee mit der SD-Karte hab ich eher an Prozessoren gedacht. Sollte sich jetzt heraus stellen, dass ich den Unterschied zwischen Prozessor und Controller nicht kenne tut es mir Leid.
Patrick O. wrote: > Nach meinem Verständis über Prozessoren, können Programme doch auch von > externen Speichern abgearbeitet werden, oder wie wird denn sonst bei PCs > von Disketten oder Festplatten gebootet? Indem ein ROM-basiertes Programm (z.B. BIOS) ein Programm von diesem Datenträger ins RAM läd und dort ausführt. Kein System kann Programme direkt von Massenspeicher ausführen, ohne so einem Schritt dazwischen.
Also muss ein BS wie Windows das gesamte Programm zuerst in den Arbeitsspeicher schreiben, um von dort ausgeführt zu werden? Ladet das BIOS dann nur den Bootsektor, wenn der PC von nem Medium bootet?
Patrick O. wrote: > Also muss ein BS wie Windows das gesamte Programm zuerst in den > Arbeitsspeicher schreiben, um von dort ausgeführt zu werden? Ja. Wenngleich sowas bedarfsweise Stück für Stück geschieht. > Ladet das BIOS dann nur den Bootsektor, wenn der PC von nem Medium > bootet? Das BIOS läd den Master-Bootsektor (MBR). Das Programm darin sucht die aktive Partition und läd dessen Bootsektor. Von da an entscheidet die Boot-Technik des verwendeten Betriebssystems wie es weiter geht - es können durchaus noch einige weitere Schritte folgen, bis der Kernel aktiv wird.
Zu archaischer Zeit musste man übrigens auf manchen Systemen mangels Boot-ROM einen kleinen ersten Bootloader manuell per Schalter Befehl für Befehl eingeben.
Patrick O. wrote: > Also muss ein BS wie Windows das gesamte Programm zuerst in den > Arbeitsspeicher schreiben, um von dort ausgeführt zu werden? Lass PCs erstmal außen vor, da kann das beliebig kompliziert werden. Siehe Page Fault, Swap, memory mapped files, etc... > Ladet das BIOS dann nur den Bootsektor, wenn der PC von nem Medium > bootet? Das Bios will immer einen Bootsektor laden, ob von Festplatte, CDRom, USB, Diskette, Netzwerk, ... kann man dort üblicherweise einstellen.
Welcher ist der kleinste, heute noch produzierte, euch bekannte Prozessor?
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.