Gast
#2479291
Hat jemand Vergleichsdaten bezüglich der Geschwindigkeit ?
|
Anzeige
|
Geschwindigkeits-Vergleich at89c51 mit atmega
Gast
#2479291
Hat jemand Vergleichsdaten bezüglich der Geschwindigkeit ?
Gast
#2479316
Ja, deine Datenblätter!
Gast
#2479630
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
Gast
#2480655
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 schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|