Hat jemand Vergleichsdaten bezüglich der Geschwindigkeit ?
min 300ns bei At89c51ac3 @20MHz ext clock und X2 Mode min 50ns bei Atmega @20MHz ext clock habe ich richtig gelesen ?
Atmel hat aber auch 8051-er ohne Vorteiler, z.B. AT89LP6440 Da sinds dann 50ns @20MHz. Und Silabs hat 8051 mit 10ns @100MHz. Peter
Division (8Bit) geht beim 8051 in 4 Zyklen :-) Migrator schrieb: > min 300ns bei At89c51ac3 @20MHz ext clock und X2 Mode > min 50ns bei Atmega @20MHz ext clock > > habe ich richtig gelesen ? Wenn Du einen Befehl mit einem Zyklus hast: ja. Wie viele Zyklen ein Befehl benötigt und wie viel er dafür erledigt, ist eine andere Sache. Gruß Jobst
Jobst M. schrieb: > Wie viele Zyklen ein Befehl benötigt und wie viel er dafür erledigt, ist > eine andere Sache. Das stimmt. Der 8051 hat viele Kombi-Befehle, wofür der AVR 2 oder mehr benötigt. Z.B. MOVC A,@A+DPTR, CJNE, DJNZ, XCH. Dafür sind beim AVR Zugriffe auf SRAM > 256Byte (Xdata beim 8051) mit Adress-decrement/-increment möglich. Peter
Der 8051 hat ein Indexregister, die AVR haben deren drei. Dh ein Blockcopy ist auf den AVR viel effizienter. Wenn man sich neu einarbeitet sollte man besser einen AVR nehmen wie einen 8051.
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
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.
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.