Frage zur Interrupt-Priorität

Benutzeravatar
Rodent Bait
Mausschubser
Mausschubser
Beiträge: 91
Registriert: 26. Apr 2005 14:50
Wohnort: Darmstadt
Kontaktdaten:

Frage zur Interrupt-Priorität

Beitrag von Rodent Bait » 24. Nov 2006 10:48

Hallo,

in der Musterlösung zu Aufgabe 5.5 steht, dass, falls Register zum Zwischenspeichern verwendet werden, Semaphore oder eine Lösung über die Interruptmaske benötigt werden.

Nun haben doch beide Interrupts, Autovector 2+3, dieselbe Priorität, nämlich 4.2. Können sie dann nicht sowieso nur von Interrupts höherer Priorität unterbrochen werden, d.h., sie können sich nicht gegenseitig unterbrechen, und man bräuchte auch keine zusätzliche Logik, um das abzufangen?

Viele Grüße,
Heiko.

patriquito
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 29. Apr 2005 23:09

Beitrag von patriquito » 26. Nov 2006 11:02

Hallo,

Die Autovector Interrupts sind zwar in der Tabelle alle mit der Priorität 4.2 angegeben, haben aber eigentlich die Prioritäten 4.2.1 (Level 7) bis 4.2.7 (Level 1). D. h. ein Interrupt Level 3 kann einen Interrupt Level 2 unterbrechen, umgekehrt nicht. Die CPU erkennt anhand der Interruptmaske im Statusregister auf welcher Ebene sie sich befindet und gibt anhand dieser Information einem Autovector Interrupt statt oder nicht.

Hoffe, das hilft weiter,
Patrick

Antworten

Zurück zu „Archiv“