Hi! Wollte mal wissen, wie das jetzt mit den Taktzyklen bei den 8051 ist. Mich interressiert z. B. der AT89S8252 da er Pinkompatibel zu dem Mega 8515 ist. Also einfach umstecken und los. Wie ist das nun? Wenn der z. B. einen Takt von 12MHz bekommt ist dann 1 "Verarbeitungstakt" 12 externe Takte? Also sind dann max. 1MIPS möglich? Habe hier und dort mal was von einem Divisor von 12 gelesen aber nie direkt was in irgend welchen Datasheets darüber gefunden. Atmel schreibt bei anderen 8051´er was von einen X2-Mode mit nur 6 Clocks je Maschine-Cycle aber dann nur bis extern 30MHz möglich. Das wären ja dann max. nur 5 MIPS. Und hat eigentlich jeder 8051 einen Hardware- Multiplizierer und -Dividierer? Gruß Andi
http://www.atmel.com/dyn/products/product_card.asp?part_id=1920 Da stehen alle Antworten auf alle deine Fragen.
Die Original 8051 machen tatsächlich nur 1 MIPS bei 12MHz. Auch beim AT89S8252 ist das so. Da er 24MHz verträgt macht er eben 2 MIPS. Neuere 8051-Derivate haben aber z.T. deutlich mehr Leistung. Die X2-Modelle von Atmel hast Du ja schon gefunden, es gibt aber auch Varianten mit bis zu 100MIPS, such mal im Forum danach. Markus
Na ja, so weit, mit 100MIPS, wollte ich nun auch wieder nicht gehen. Kann bis jetzt auch nix mit SMD zwecks nicht könnens anfangen. Zur Zeit experimentiere ich hier mit einem Mega8515 und wollte, wegen Pinkompatibilität, die Progs mal auf einen 8051-kompatiblen umschreiben und sehen, wie es läuft. Mir gefallen bei den 8051´ern die direkten Speicherzugriffsbefehle wo durch man evtl. mehr aus dem Flash machen kann. Aber wenn ich daran denke, das der Mega8515 mit seinen 8MHz ca. bis zum Faktor 4 schneller läuft als ein 8051 mit 24MHz dann lass ich´s lieber sein. Ich mach mich gerade etwas über die MSP430´er schlau. Gibt es anscheinen nur in SMD aber hier gibt es ja welche auf Adapterboards. Gruß Andi
"Aber wenn ich daran denke, das der Mega8515 mit seinen 8MHz ca. bis zum Faktor 4 schneller läuft als ein 8051 mit 24MHz dann lass ich´s lieber sein." Ist denn der Mega8515 etwa schon am Anschlag ? Auch ist das mit dem Faktor 4 das absolute Maximum. Der 8051 kann vieles durch das direkte Bit- und SRAM-Rechnen rausholen und durch die 2 Interruptprioritäten entschärft sich auch vieles. Peter
Wobei bei den intelligenteren Befehlen wie z. B. "mov a,pc+a" oder so ähnlich für Tabellenzugriffe wiederum 2 oder 3 Maschinenzyklen draufgehen. Mal 12 je Zyklus wären das dann 24 bis 36 Takte. Bei 24MHz geht das dann auf 1 oder 0,66 MIPS (rein rechnerisch) herunter. Wenn man mit nen AVR so was mit 5/6 Takte schafft, ist´s mit dem auch noch schneller, braucht allerding mehr Code. Klar, der Befehlssatz des 8051 (Cisc) ist besser und sparsammer und hat mich deshalb auch interessiert aber leider nicht ganz so flott. Der Mega8515 geht übrigens bis 16MHz also ist mit dem noch Faktor 8 möglich. Bei den "normalen" MSP430 habe ich leider auch festgestellt, das max. 8MIPS (125nS je Befehl) möglich sind. Bleibe wohl erst mal eine Weile bei den AVR´s. 16 bis 32 Bit-Operationen lassen sich ja auch mit viel Code und Macros machen. Gibt es eigentlich einen 8051 in 40 DIP oder auf Adapterplatine der schneller als normal 8051 ist? Gruß Andi
Habe was gefunden: AT8952ED2. Geht bis 60MHz / 5MIPS. Mal sehen, vielleicht wirds doch noch was mit 8051. Gruß Andi
Als 8051 in DIP-40 gibt es den DS89C420 von Maxim, der kann bis 32MIPS bei 32MHz. Aber es macht nicht viel Sinn, nur nach den MIPS zu jagen. Besser man orientiert sich daran, was man wirklich braucht. Peter
Klar, momentan brauch ich auch nix bestimmtes. Soll eine neue Experimentierplattform werden. Der 8051 interessiert mich wegen den praktischen Datenzugriffsbefehlen in ASM. Und es soll ja nicht unbedingt wesentlich langsammer als mit dem jetzigen AVR losgehen. Vielen Dank für eure Infos! Gruß Andi
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.