Geschwindigkeits-Vergleich at89c51 mit atmega

#2480438
Lesenswert?

Nano Oschi schrieb:
> Der 8051 hat ein Indexregister

Stimmt nicht.

Der 8051 hat 8 Pointer für Idata (256Byte),
9 Pointer für Xdata (64kB)
und 2 Pointer (DPTR, PC) für Code.

Die 9 Pointer für Xdata sind R0,R1 der 4 Registerbänke (seitenweise 
Zugriffe a 256Byte) und DPTR (16Bit).
Man kann dann bequem z.B. für den UART-Interrupt eine Registerbank 
nehmen und hat sofort die FIFO-Pointer in den Registern.

Daneben haben die meisten 8051 auch einen DPTR0 und DPTR1, wobei aber 
zwischen denen umgeschaltet werden muß, um befehlskompatibel zu bleiben.

Im Idata können auch viele Operationen direkt ausgeführt werden (INC, 
DEC, ANL, XRL, ORL, DJNZ).


Peter
Gast #2480655
Lesenswert?

Die 8051-MCUs haben, wie Peter weiter oben andeutet, mit den 
"Single-Cycle-MCUs" sehr an Geschwindigkeit gewonnen.
Letzlich kann die Frage, wer ist schneller, wohl nur programm- und 
clock-spezifisch beantwortet werden.
Im vorliegenden Fall geht es darum, 4 Klaviaturen anschlagsdynamisch zu 
scannen und in MIDI-Signalen auszugeben. Bei zu schnellem Spiel gibt es 
Probleme, daher die Thematik Migration.
Eine laufende at80c51ac3 Hard- und Software liegt vor und ist auch schon 
in AVR-Assembler transkribiert und mit AVR-Studio simuliert. Leider habe 
ich keinen ähnlich guten Simulator für den 8051.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren