Unterschiede Z80, 8051 und 6502/6510

03/10/2007 - 02:02 von Torsten Junker | Report spam
Hallo!

Im Rahmen meines Informatikstudiums werde ich demnàchst 8051-
Controller zu programmieren lernen, zumindest ansatzweise. Früher habe
ich mal auf einem 6510 (Commodore C64) Assembler programmiert und
einen Z80 habe ich auch mal in Maschinensprache wàhrend meiner
Schulzeit programmiert (man googlele mal nach "LC80").

Jetzt frage ich mich, welche Vor- oder Nachteile bzw. Unterschiede die
einzelnen Prozessoren intern haben, welche werden wofür eingsetzt? Mir
geht es dabei um die Programmierung (Assembler, Maschinensprache),
nicht um die externe Anbindung von Peripherie oder Hardware (IO,
etc.). Kurzum: Gibt es irgendwo eine kompakte Übersicht mit den
Unterschieden von Z80 und 8051 (und vielleicht auch noch 6502/6510)?

Hier in de.sci.electronics schrieb mal jemand, dass man für Lernzwecke
besser einen 8051 nutzt, weil der im Vergleich zu einem Z80 nicht so
viel externe Peripherie benötigt, aber wer einen angeblich einen
vollstàndigen Z80 (mit gesamter Peripherie) sein eigen nennt wird
jeden 8051 wegschmeißen. Warum?

Was spricht eigentlich gegen Simulatoren für Z80 und 8051, um die
Programmierung zu lernen?

Bei einigen Controllern mit 16-Bit-Adressbus wurde Bankswitching
eingeführt, um mehr als 64 kByte adressieren zu können. Mir ist sehr
wohl klar was Bankswitching ist, nur verstehe ich nicht den Sinn
weshalb ich einem Programm plötzlich den Programmspeicher (RAM)
wegschalte um mehr Platz für was anderes zu haben. Wo ist mein
Denkfehler? Oder wird einfach nur ein Teil des gesamten Speichers
statt des ganzen Speichers umgeblendet?

Gibt es außer dem Aufwand der externen Hardware-Anbindung (eine CPU
kann ja allein gar nichts) noch andere relevante Unterschiede zwischen
Microprozessoren und Microcontrollern?

Gruß Torsten
 

Lesen sie die antworten

#1 Dieter Wiedmann
03/10/2007 - 02:25 | Warnen spam
Torsten Junker schrieb:

Kurzum: Gibt es irgendwo eine kompakte Übersicht mit den
Unterschieden von Z80 und 8051 (und vielleicht auch noch 6502/6510)?



Damals (TM) gabs immer wieder solche Schwanzvergleiche, du wirst
wohl ins Archiv deiner Unibibo schauen müssen, die entsprechenden
Zeitschriften sind locker 25 Jahre alt.


Hier in de.sci.electronics schrieb mal jemand, dass man für Lernzwecke
besser einen 8051 nutzt, weil der im Vergleich zu einem Z80 nicht so
viel externe Peripherie benötigt, aber wer einen angeblich einen
vollstàndigen Z80 (mit gesamter Peripherie) sein eigen nennt wird
jeden 8051 wegschmeißen. Warum?



Von Neumann vs Harvard, und natürlich einen umfangreicheren Befehlssatz.


Was spricht eigentlich gegen Simulatoren für Z80 und 8051, um die
Programmierung zu lernen?



Du sollst den Lötkolben und das Zinn ehren! Ansonsten spricht nix
dagegen.


Bei einigen Controllern mit 16-Bit-Adressbus wurde Bankswitching
eingeführt, um mehr als 64 kByte adressieren zu können. Mir ist sehr
wohl klar was Bankswitching ist, nur verstehe ich nicht den Sinn
weshalb ich einem Programm plötzlich den Programmspeicher (RAM)
wegschalte um mehr Platz für was anderes zu haben. Wo ist mein
Denkfehler? Oder wird einfach nur ein Teil des gesamten Speichers
statt des ganzen Speichers umgeblendet?



Letzteres.


Gibt es außer dem Aufwand der externen Hardware-Anbindung (eine CPU
kann ja allein gar nichts) noch andere relevante Unterschiede zwischen
Microprozessoren und Microcontrollern?



Nicht prinzipiell.


Gruß Dieter

Ähnliche fragen