Interrupt Latenz- / Recovery - Zeit berechnen

Gast #2508969
Lesenswert?

Hallo Freunde,
bei folgender Formel:
IR-Latency  =  Jmp-to-ISR-Time + ISR-Max-Disable-Time
IR-Response = IR-Latency + Ctxt-Save-Time + <ISR-Entry-Func-Time>
IR-Recovery  = Ctxt-Restore-Time + <ISR-Exit-Func-Time> + 
<Schedule-Time>

Was ist denn eine Jmp-to-ISR-Time ?
Was ist denn eine <ISR-Entry-Func-Time> ?
Was ist denn eine <ISR-Exit-Func-Time> ?

Ein Jump bzw Eintritt in die IST besteht doch nur aus Registersicherung, 
oder hab ich da was vergessen?

Gruß
Gast #2509036
Lesenswert?

Bei einigen Prozessoren wird der letzte Befehl abgearbeitet der ggf. 
etwas länger dauern kann wenn z,B, ein DMA Block move ist. Danach wird 
in den Interrupt Vector gesprungen und hier muß ggf. noch entschieden 
werden wer den Interrupt ausgelöst hat und selbiger gelöscht werden. 
Danach kann die Service Routine stehen kann also etwas länger dauern als 
auf den ersten Blick ersichtlich.

Und das Pushen mehrerer Register kann auch dauern bei schnellen und 
trägen Mechaniken ist das der Unterschied zwische arm dran und Arm ab.

mfG
Michael
Gast #2509047
Lesenswert?

(schon im vorigem Thread, Context Switch während ISR möglich?, gefragt)
>oder hab ich da was vergessen?
ja, kommt immer auf die konkrete CPU an!
..steht im Datenblatt.
Am besten erst mal bei 8-Bitern guggen.
Gast #2509408
Lesenswert?

Mach lieber die Übungsklausuren von der Fachschaftsseite.
Hast du keine Mail von einem Kommilitonen bekommen?
Einer hatte doch da was rumgeschickt.
Das kommt eher mit <1%iger Wahrscheinlichkeit dran.

Wenn dus trotzdem wissen willst: Folien-Seite 55 des Foliensatzes 
2a(genau eine Seite vor deinen Formeln) sollte Aufschluss bringen.

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