Forum: Mikrocontroller und Digitale Elektronik timing des SBIC befehls??


von Martin Dohr (Gast)


Lesenswert?

Ich benutze den mega8 mit einem 3.8684MHz quarz und habe eine sehr
Zeitkritische asm-Schleife drin bei der ich genau wissen muss wie lange
sie braucht. Im Datenblatt steht bei dem SBIC Befehl dass er 1/2/3 Takte
benötigt. Wie soll ich das interpretieren???

Besten Dank!

von Christof Krüger (Gast)


Lesenswert?

ich bin mir grad nicht sicher, aber es hängt davon ab, was letztendlich
passiert, so weit ich mich erinnern kann.
Wenn nicht gesprungen wird, dann wird gleich die darauffolgende
Anweisung durchgeführt, das braucht dann wohl nur 1 Takt. Wenn die
nächste Anweisung übersprungen wird, dann hängt die Ausführungsdauer
davon ab, was für ein Befehl folgt. Es gibt Befehle, die ein Wort (16
Bits) lang sind, aber auch welche die 2 Wörter lang sind (32Bits). Um
letztere zu überspringen braucht es halt insgesamt 3 Takte.

Aber nagel mich jetzt nicht darauf fest.

von Andreas Hesse (Gast)


Lesenswert?

Hallo,

steht in der Instruction Set Beschreibung:

Cycles: 1 ifcondition is false(no skip)
2 if condition is true (skip is executed) and the instruction skipped
is 1 word
3 if condition is true (skip is executed) and the instruction skipped
is 2 words


´Das Dokument ist hier:
http://www.atmel.com/dyn/products/other_docs.asp?family_id=607
zu fiden.

Gruss
Andreas

von Martin Dohr (Gast)


Lesenswert?

danke für die schnelle hilfe!

mfg, martin

von Kupfer Michi (Gast)


Lesenswert?

Im zweifel einfach im AVRStudio das entsprechende Code Stück im Debugger
laufen lassen. Im I/O Tab im linken Fenster kann man dann unter
Processor->Cycle Counter die angefallenen Taktzyklen ablesen.

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.