Hi, kann mir jamand sagen, wieviele Befehle ein 40MHz AT89C51-Prozesser so im Durchnitt schaft. Danke
Kommt auch drauf an, welchen Typ Prozessor du hast. Es gibt die Prozessoren auch mit X2 Core von Atmel, Phillips, Dallas etc ,- z.B. die Rx2,- AC2 serie,- die braucht nur 6 Takte anstatt 12 pro Zyclus. Internen Oszillator haben die leider nicht,- pass aber auf, wenn du einen Quarz dranhängst, das es ein Grundton Quarz ist. Bei reichelt sind die Normalen Quarze ab 24 Mhz 3.Oberton Quarze und da schwingt der interne Oszillator ohne externe Zusatzbeschaltung nur auf dem Grundton (s. Atmel Application Node: third tone crystal). Da bin ich mal drauf reingefallen. Da ist fertiger Quarzoszillator mit Anschluß an XTAL1 besser. greetz,- Black
"teil dir 40MHz durch 12... dann hast du die MIPS" Nö, nur bei 1-Zyklus-Befehlen. Im Durchschnitt ist das deutlich weniger.
@dirk: naja, das wäre zumindest die höchste Geschwindigkeit, die ein "normaler" 8051 erreichen kann, wenn er nur mit 1-Zyklus-Befehlen betreiben wird (z.B. NOPs...). Beim AVR gibt man die auch so an... Vielleicht hätte ich "bis zu" noch hinzufügen sollen...
Hab ich das richtig verstanden? Wenn ich einen High Speed ???51 mit 60MHz nehme, schaft der gerade mal 5MIPS?
Mit normalem Core schon. wenn er aber bei der frequenz auch x2 macht hat er 10 mips. Falls du diese zahl jedoch mit den 16-24 mips der avr familie vergleichen willst musst du bedenken, dass der 8051 ein cisc und der avr ein risc prozessor ist. dadurch hat der 8051 bei selben mips einen vorzug gegenueber dem avr, da seine instruktionen sehr viel maechtiger sind und vom avr in mehrere kleiner geteilt werden muessen. Genaue zahlen kann ich dir jedoch nicht geben. Gruß Tobias
@Bernd, "Hab ich das richtig verstanden? Wenn ich einen High Speed ???51 mit 60MHz nehme, schaft der gerade mal 5MIPS?" Laste das erstmal aus, dann reden wir weiter. Ich benutze oft einen Standardquarz 11,0592MHz, also lächerliche 0,9MIPS, habe aber noch nie Zeitprobleme gehabt, die sich nicht mit etwas besserer Strukturierung lösen ließen. Oder anders gesagt, bei grottenschlechter Programmplanung kriegst Du auch einen C8051F120 (100MIPS) zum Qualmen. Peter
"...da seine instruktionen sehr viel maechtiger sind und vom avr in mehrere kleiner geteilt werden muessen." Sehr interessant. Welche sind das denn ?
read modify write befehle auf ports und register zum bleistift.... laß hier aber nicht in das dogma enden, die 51er sind besser oder die avr sind besser.... jede family hat ihre vorzüge,- gibt programmalgorithmen, wo ein 51er einen avr stehen läßt,- umgekehrt auch algorithmen, wo ein 51er dann alt ausschaut. Bei etwas größeren projekten greife ich eigentlich immer zu meinem favoriten, 89c51Rx2, und selbst wenn ich dann mit dem RTX arbeite,- ist der kleine immer noch satt schnell. die entscheidung ist allerdings keine reine geschwindigkeitsentscheidung,- sondern die unterstützung des Multitaskting Echtzeit OS durch den Keil Compiler.
Hallo Schwarzer Bruder, " ...laß hier aber nicht in das dogma enden,... " Dann sieh Dir den AVR-Befehl SBI an und bring bitte ein Beispiel, was zieht. Ein Bleistift schreibt nicht von alleine :-)
ähm, ich glaub, ich kenn die Befehlssätze auch... SBI beim AVR setzt ein bit,- ok, das geht beim 51er mit set. mit read modify write ist gemeint zum bleistift: anl p1,[register],[konstante],[speicher] direktes AND auf dem Portbyte mit argument entweder register, konstante oder speicherinhalt und zurückschreiben an P1. oder ANL P1.0,[Register][bitspeicher] direktes AND des Portbits mit bitregister oder inhalt aus bitspeicher und zurückschreiben in den Port Das ganze funzt mit Ports und speicher.
@Michael, "...und bring bitte ein Beispiel, was zieht." z.B.: 8051: djnz 70h, label .... label: = 3 Byte AVR: lds r16, 0x70 dec r16 sts 0x70, r16 brne label .... label: = 12 Byte Das Thema wurde hier schon oft besprochen, da findest Du noch mehr Beispiele. Aber so riesengroß sind die Unterschiede in der Summe nicht, AVR-Code ist in realen Programmen nur etwa 20% größer als 8051-Code, egal ob in C oder Assembler. Der größte Nachteil der AVRs sind die fehlenden Interruptprioritäten. Peter
@Peter dein beispiel ist auch gut,- aber ich wollt hier net in Dogmen verfallen. Beide Controller sind gut und haben ihre Vor und Nachteile. Bei den 51er´n gehts dann mit der Performance in den Keller,- sobald ich soviel Speicher habe, das ich im PDATA oder noch schlimmer in XDATA Segment arbeiten muß. Das Gewurschtel mit dem oder den (je nach Hersteller bis zu 4 Stück) DPTR Register,- um auf XDATA zugreifen zu können,- das ist dann halt Nachteil des 51er Cores...
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.