www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 40 MHz PIC vs. 16 MHz Atmel


Autor: Thomas Friedrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher Prozessor arbeitet eigentlich schneller,
der 40 MHz PIC18F452 (externer Takt 10 MHz, intern 40) oder ein 16 MHz
Atmel. Microchip gibt den PIC mit 10 MIPS an, Atmel 16 MIPS.
Heisst das das der Atmel trotz niedrigerer Taktfrequenz sogar schneller
läuft ?

Autor: TecDroiD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
theoretisch ja.

Die PICs haben schon immer das Problem, dass sie pro Befehl 4 Takte
brauchen, während die AVRs von anfang an darauf ausgelegt waren, bei
(fast) allen Befehlen nur einen takt zu benötigen.

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, der Atmel sollte schneller sein. So genau läßt sich das aber Anhand
der Mips-Zahlen nicht sagen, dazu braucht man konkrete Anwendungen.

Die Frage ist allerdings, ob beim AVR der Takt wirklich geringer ist,
da der AVR die Frequenz intern vervielfacht.

Markus

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, der AVR ist bei 16MHz mindestens 1,6-mal schneller.

Mindestens deshalb, weil er vieles schneller machen kann. Er ist quasi
ein PIC mit 32 WREGs, d.h. er kann vieles auf die Register verteilen
und muß nicht ständig vom RAM in die Register hin- und herschaufeln.
Praktisch dürfte er also bequem doppelt so schnell sein.


Nur bei den Interrupts hat der AVR einen deutlichen Minuspunkt:
Der PIC18F unterstützt nämlich mehrere Interruptprioritäten.
Der AVR leider nicht, d.h. da kann ein einziger lahmer Interrupt das
Echtzeitverhalten der gesamten Anwendung in die Knie zwingen.


Deshalb nehme ich für größere Projekte mit mehreren Interrupts immer
noch den guten alten 8051, dessen neuere Typen 4 Interruptprioritäten
haben.
Auch bei den MIPS kann er punkten (DS89C420: 33MIPS, C8051F127:
50MIPS), aber soviel habe ich noch nie gebraucht.



Peter

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
im Prinzip hast du zwar Recht, aber man hat ja die Möglichkeit innerhalb
einer ISR andere Ints freizugeben. Gibts eine lahmende ISR, können in
dieser andere Ints durch Setzen von I freigegen werden. Das ist nichts
anderes als 2 Interruptprioritäten. Sehe ich keinen Nachteil des AVR.
Das einzige, was mir vom 8051 her fehlt, sind die jb/jnb/cpl
bitadr-Befehle und der djnz, aber das auch eher wegen Schreibfaulheit.
Lästig ist das fehlende parity-bit beim AVR, wenn man es denn mal
braucht.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

dann kommt im lahmen INT der gleich nochmal und schon knallts. Also muß
man im lahmen INT zusätzlich noch genau diesen deaktivieren bevor man I
setzt.

Matthias

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann muß halt die Intelligenz des Programmierers "lahme" Ints
verhindern. Ich sehe immer zu, daß Interruptroutinen so kurz als
möglich sind.

Autor: jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eigentlich kann man davon ausgehen mehr mips==schnellerer prozessor, den
mips== millionen instruktionen pro seklunde. es gibt natürlich auch
fälle, wo es biischen anders kommt. der atmel brauch für sprünge immer
2 takte (für alles andere einen). es gibt bestimmt prozessoren, die es
mit einem takt schaffen, oder auh einige dsp die in ECHT parallel
arbeiten können (nicht alles, aber einiges). z.b. im falcon ist einer
drin, der kann einige befehle in echt parallel (nicht wie dose (pc) nur
theoretisch (ausser mulitiprozessorengeräte).
soweit

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jens:
Die AVRs brauchen nicht nur für die Sprünge zwei Takte, sondern auch
für einige andere. Die 16Mips sind also ziemlich optimistisch
gerechnet.

Die PC-Prozessoren können schon länger mehrere Befehle parallel
ausführen; da solltest Du mal Deine Propagande updaten. Insbesondere
können sie auch mehrere mathematische Operationen in einen Befehl
packen. Recht interessant hab' ich da folgendes gefunden:
http://www.fefe.de/ccccamp2003-simd.pdf

Markus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.