Mikrocontroller Abarbeitungszeit ausrechnen

#2738763
Lesenswert?

FH_Student schrieb:
> Hallo Forum,
>
> ich würde gerne die Abarbeitungszeit von diversen Programmen meines
> Mikrocontrollers ausrechnen.
>
> Gegeben:
>         Frequenz: 12 MHZ
>         Zyklen: 10
>
> Meine Formel:
>
>     Abarbeitungszeit = (1/FREQUENZ)*ANZAHL_ZYKLEN =(1/12MHZ)*10 = 0,8us
>
>
> Ist die Formel korrekt?

Ist das jetzt eine Fangfrage?
Wenn eine Maschine zur Herstellung 1ner Glasflasche 1 Sekunden braucht, 
wie lange braucht sie dann für 50 Flaschen?

Hmm. Das ist irgendwie auf dem Niveau der 3. Klasse Grundschule.

OK. Das die Periodendauer (also die Zeit) das Reziproke der Frequenz 
ist, ist Niveau der 6. Klasse (oder wann man heutzutage das erste 
Physikjahr absolviert). Von daher ist das schon schwerer.
Gast #2738773
Lesenswert?

Misst, zu früh Auf Absenden geklickt. Ich meinte, die Formel ist bei 
einem AVR richtig, denn der macht einen Zyklus pro Takt.

Das gilt aber nicht für alle Mikrocontroller. Bei der 8051 Serie waren 
es 6 Takte pro Zyklus, soweit ich mich erinnere.
Gast #2738832
Lesenswert?

Hallo techniker,

beim STM32 ist "prinzipiell" im eingeschwungenen Zustand auch so dass 
die CPU das in einem Takt macht.
AAABER: die hat ne Pipeline und bei Sprüngen wird die erstmal geflusht 
(geleert) und dann braucht das seine Zeit bis die CPU dann wieder 
ausführen kann. Und die Wartezeit aufs Flash muss auch noch beachtet 
werden. Es gibt auch Befehle die benötigen mehrere Befehlszyklen. Ein 
Blick ins Datenblatt ....

Grüße
Gast #2738834
Lesenswert?

Vielen Dank für die Antworten.
Ihr habt mich auf die richtige Spur gebracht und Google hat mir die 
Lösung geliefert!

Ein Maschinenzyklus entspricht 12 Taktzyklen. Also musste ich mein 
Ergebnis noch x12 rechnen.

Jetzt komme ich auf die Ergebnisse vom Prof!

MfG!!!
Gast #2738947
Lesenswert?

Hallo!
@lkmiller
> Ein 8051er. Studierst du Archäologie oder Alte Geschichte?
...lass gut sein.
Um das Verständnis zu vermitteln, wie Mikrocontroller arbeiten, ist es 
unerheblich welche Plattform verwendet wird. Moderne 8051-Kerne brauchen 
auch keine 12 Takte für einen Maschinenzyklus.
Außerdem ist das Interrupt-System dieser alten Architektur wesentlich 
leistungsfähiger als das der AVRs!
Gast #2738967
Lesenswert?

Karl Heinz Buchegger schrieb:
> Hmm. Das ist irgendwie auf dem Niveau der 3. Klasse Grundschule.
>
> OK. Das die Periodendauer (also die Zeit) das Reziproke der Frequenz
> ist, ist Niveau der 6. Klasse (oder wann man heutzutage das erste
> Physikjahr absolviert).

Naja, Kollege:
die Unterscheidung von "dass" und "das" ist auch Grundschulniveau ...
#2739079
Lesenswert?

Jötze schrieb:
> Karl Heinz Buchegger schrieb:
>> Hmm. Das ist irgendwie auf dem Niveau der 3. Klasse Grundschule.
>>
>> OK. Das die Periodendauer (also die Zeit) das Reziproke der Frequenz
>> ist, ist Niveau der 6. Klasse (oder wann man heutzutage das erste
>> Physikjahr absolviert).
>
> Naja, Kollege:
> die Unterscheidung von "dass" und "das" ist auch Grundschulniveau ...

Schon.
Nur sind wir hier nicht in einem Grammatikkurs.
#2739320
Lesenswert?

Falk Brunner schrieb:
> Verschachtelte Interrupts sind schon gut, aber die Praxis des AVR zeigt,
> dass es oft auch ohne geht.

Ein AVR kann auch verschachtelte Interrupts. Dazu muss man eben in C 
gleich in der ersten Zeile der ISR oder eben in ASM nach retten der 
nötigen Register die Interrupts wieder einschalten. Aber du hast recht, 
man braucht es meist nicht...

mfg mf, der an einem Moto 68k "gelernt" hat...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren