Zitat Zitat von John13
Zitat Zitat von stegr
Die 32-bit bringen dir rein gar keinen vorteil, wenn du keine 32-Bit-Operationen benötigst. Wenn du immer nur einzelne Bytes hin und her schaufelst, ist dein 8-biter genauso schnell wie dein 32-biter, aber sobald du mal zwei 16-Bit oder zwei 32-Bit-Zahlen addieren musst, sieht die Welt schon ganz anders aus.

Bei einem 32-Bit-System sind zwei Sachen relevant anders als bei einem 8-Bit-System:
1.) Die ALU ist (mind.) 32 Bit breit (ALU=Rechenwerk).
2.) Dein Instruktionsformat ist mind. 40 Bit oder noch breiter

Der erste Punkt bringt dir bei Rechenoperationen Geschwindigkeitsvorteile, der zweite Punkt lässt dich zum Beispiel größeren Speicher ansteuern (mehrere Gigabyte)...
Das ist nicht richtig. Wieso sollte das Instruktionsformat mind. 40bit sein?
Was Du meinst, ist das Addressformat. Operanden müssen aber nicht im jeweiligen Befehl stehen. Im Prinzip sind also durchaus 8bit-Instruktion denkbar.
Wenn kein einheitliches Instruktionsformat verwendet wird, ist Pipelining nicht mehr in dem Maße sinnvoll einsetzbar, da dabei structural hazards nur durch intensives stallen vermeidbar sind. Und dies senkt den cpi-Wert deutlich.

Zusätzlich hast du bei den meisten 32-Bittern Technologieänderungen, bedeutet, dass die
1.) von Haus aus schneller sind, da andere Prozessarchitektur
2.) meist Pipelinig haben (nachfolgende Befehle werden noch während der eine abgearbeitet wird aus dem Speicher geholt und vorverarbeitet)
3.) Viele Schnittstellen schon als Hardware-Modul, die du auf einem 8-Bitter in Software machen musst.
Das ist auch nicht richtig. Moderne 8bitter benutzen ebenfalls Pipelining, zum Beispiel die silabs-8051er. Die schaffen bis zu 100 Mips, womit sie insbesondere den kleinen ARMs leistungsmässig deutlich überlegen sind.
Von der Ausstattung können sie ebenfalls mithalten bzw. übertreffen viele 16- oder 32-bitter.
Ich hab mir grade mal das Datenblatt zu deinem super-8051 mit 100 MIPS angeschaut... das lustige Teil läuft mit externen 50MHz (intern-2x-PLL), und schafft nur bei einem Viertel der Befehle die auch in einem Systemzyklus auszuführen, rund die Hälfte braucht zwei Zyklen und der Rest bis zu 8 Zyklen - soviel zu den 100 MIPS. Da der 8051 kein einheitlich langes Instruktionsformat hat, geht weitere Rechenleistung durch stalls verloren, so dass der nette Controller überschlagsweise noch rund 30 MIPS real im Schnitt hat. Das ist schon deutlich weniger, oder?

Zum Thema AMD64: das ist vom System her nochmal ganz anders, weil das kein Mikrocontroller ist, sondern ein Mikroprozessor. Das bedeutet, dass kein Speicher und keine Peripherie enthalten sind - aber das ist ja grade die Sache, warum man einen ARM nehmen will...
Naja, auch nicht ganz richtig. Der AMD hat jede Menge Cache-Speicher und ausserdem auch den Speichercontroller sowie jede Menge andere Peripherie an Board (Timer, etc.).
Allerdings nutzt das Ding ohne Zusatzbeschaltung in der Tat nicht viel
Der AMD64 hat keinen Programmspeicher und ist somit kein Mikrocontroller. (<- Dies ist ein Punkt!)
Cache ist auch nicht als internen Speicher nutzbar, auch wenn es eine Speicherform ist, da dieser lediglich eine Zwischenspeicherung häufig benötigter Werte des RAMs darstellt. Dies lässt sich aber nicht direkt beeinflussen.

Zitat Zitat von Anonymous
Zitat Zitat von stegr
2.) Die ARM7TDMI haben sich eigentlich zum Marktführer in dem Bereich herausgebildet. Die sind dafür ausgelegt um die nächste Ebene über den 8-Bittern zu bilden - 16-Bitter lohnen sich fast nicht, da die nahezu gleichviel kosten wie die 32er, man aber zusätzliche Entwicklungskosten hat. Daher verwenden die meisten Firmen nur 8 oder 32-Bitter.
Das ist nicht ganz richtig. Der 16bit-Markt ist sehr aktiv und gerade aus Kostengründen sehr attraktiv. Schau mal bei den grössten Controller-Anbietern (Renesas und Motorola) nach, welche Vielfalt die anbieten.
Der 16-Bit-Markt ist auf dem absterbenden Ast. Die Kosten liegen in den meisten Fällen in der selben Größenordnung wie 32-Bit-Systeme, sind dafür aber nicht so leistungsfähig (bis auf wenige Ausnahmen). Motorola selbst empfiehlt für neue Designs auf 32-Bit-Systeme umzusteigen (und das war vor einem Jahr auf der Embedded-World) oder 8-Bit-Systeme zu verwenden.

Zitat Zitat von stegr
Für den Privatbereich gibt es aber einen 16-Bitter, der recht interessant ist: Die MSP430 von TI, kosten ungefähr gleich viel wie die 8-Bitter, sind aber ein Stückle schneller und einfach zu programmieren. Einziger Nachteil: 44-Pin-TQFP-Gehäuse... aber bei Olimex (und anderen Anbietern) gibt es welche davon auf Header-Boards...
Das ist Geschmackssache. Fakt ist, dass die MSPs von TI für einen recht eingschränkten Anwendungsbereich entwickelt wurden und man das auch merkt. Leistungsmässig stehen sie noch unter den meisten 8bittern (nur 8Mhz) und haben auch kein externes Speicherinterface. Ein aktueller AVR (24MHz) oder 8051 (bis zu 100MHz) hängt die MSPs (erst seit November 2004 mit 16MHz, aber natürlich noch nicht erhältlich) also locker ab.
Ich hab nicht gesagt, dass die MSPs das absolute non-plus-ultra sind. Sie sind klar für minimale Leistungsaufnahme optimiert und daher natürlich nicht in allen Punkten 8-Bittern überlegen. Aber das hab ich ja auch nicht behauptet. Was bei den MSP430s sehr interessant ist, ist dass sie nen echten Hardware-Multiplizierer haben, was man bei den meisten 8-Bittern nicht findet (zumindest keinen echten single-cycle).
Externes Speicherinterface macht bei einem auf Batterieanwendung ausgelegten MikroCONTROLLER keinen Sinn - wöllte ich ein externes Speicherinterface würde, würde ich nen MicroPROZESSOR nehmen.

Zitat Zitat von stegr
Was vielleicht auch interessant wird, sind die dsPICs von Microchip, die sind deutlich schneller, haben Hardware-Multiplizierer und schnelle AD-Wandler...
Nachteil: man bekommt se bisher kaum (selbst bei den Distris) und Preislich werden die auch nicht ganz so günstig sein.
Die benutzt leider kaum einer, man sollte sich also ein bisschen mit der Thematik auskennen.
Bekommen tut man sie (als Hobbyist) aber recht gut, Microchip schmeisst schliesslich recht grosszügig mit Samples um sich
Bei vielen Firmen sind die, zumindest in Prototypen, bereits im Einsatz, allerdings sind Kleinmengen nicht sinnvoll verfügbar (100er-Bereich). Samples bekommt man natürlich, allerdings will ich nicht für ne Kleinserie 17 Monate warten, bis ich die dann vollständig hab.
Für reine Hobby-Zwecke reichen natürlich die Samples, aber wir haben hier ja nicht nur Hobby-Leute...

So, noch mehr Fehler?

MfG
Stefan