Forum: Mikrocontroller und Digitale Elektronik Befehle und die benötigten Taktzyklen


von anis m. (Firma: student) (anismagic)


Lesenswert?

Guten Morgen Allerseits,

ich habe mal hier eine einfache Frage die mich trotzdem irritiert :)

wie kann ich die Anzahl der erforderlichen Taktzyklen pro Befehl bei 
einem µC bestimmen?? oder die Anzahl der zuausführenden Befehle pro 
Sekunde??

Bsp: Prozessor mit 24MHz die intern durch 12 geteilt wird ergibt eine 
Taktung von 2MHZ...und wie geht´s weiter??

Danke euch im voraus.

Viele Grüße.

von Karl H. (kbuchegg)


Lesenswert?

anis magic schrieb:

> wie kann ich die Anzahl der erforderlichen Taktzyklen pro Befehl bei
> einem µC bestimmen??

Der Hersteller liefert umfangreiche Doku, in der unter anderem auch 
jeder Befehl aufgeführt ist, was er macht, und wieviele Taktzyklen er 
benötigt.
Schwieriger wirds, wenn Pipelining im Spiel ist. Dann muss man sich auch 
den Zusammenhang mit anderen Befehlen im realen Programm ansehen.

> oder die Anzahl der zuausführenden Befehle pro
> Sekunde??

Man nimmt einfach einen gesunden Mix an Befehlen an, also sowas wie 
einen Durschnittswert.


Alternativ kann man natürlich auch einen Simulator Taktzyklen zählen 
lassen, wenn er das reale Programm durchsimuliert. Da das Ergebnis aber 
natürlich auch von den genauen Details abhängt, wie zb. welcher 
Programmpfad wird in einem if genommen, und die wiederrum meistens von 
den genauen Werten im Inputbereich des Programms abhängen, kriegt man 
auch hier wieder nur einen Durchschnittswert.

von Hannes L. (hannes)


Lesenswert?

anis magic schrieb:
> wie kann ich die Anzahl der erforderlichen Taktzyklen pro Befehl bei
> einem µC bestimmen??

Die stehen im Instruction-Set Deines Controllers, das Teil des 
Datenblattes ist. Da der MC nur Maschinencode kann, gelten diese Angaben 
natürlich nur für Assembler.

...

von AN D. (schoensittich)


Lesenswert?

Durch den intern genutzten Takt (2 MHZ) kannst du die Zeit pro Zyklus 
bestimmen (Sek/F_CPU).

Programmierst du in c, musst du dir das Assembly-File anzeigen lassen. 
Jeder Assembly Befehl sollte im Datenblatt des uC mit der benötigten 
Taktanzahl stehen.

Den Rest musst du halt addieren. sollte aber trivial sein

von Muahahaha (Gast)


Lesenswert?

anus magic schrieb:
> wie kann ich die Anzahl der erforderlichen Taktzyklen pro Befehl bei
> einem µC bestimmen?? oder die Anzahl der zuausführenden Befehle pro
> Sekunde??

Abzählen und multiplizieren.

von Hannes L. (hannes)


Lesenswert?

Ich sollte mir abgewöhnen, auf neue, unbeantwortete Fragen zu 
antworten...

;-))

...

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
Noch kein Account? Hier anmelden.