Interrupt bisher falsch beantwortet
Verfasst: So Feb 11, 2024 4:19 am
Ich habe bisher bei Interrupts etwas falsch beantwortet, fällt mir auf
Startaddresse der Service-Routine
1.) Abfragemethode
2.) Vektormethode
3.) Codemethode
Abfragemethode: Polling
Interrupt-Handler: Verwaltet alle Interrupts
Device-Handler
1.) Die Interrupt-Anforderungen der einzelnen E/A-Bausteine werden durch OR-Funktion miteinander verknüpft
2.) Wenn IRQ = 1
3.) CPU ruft ISR auf
4.) Dieses Programm verwaltet alle Interrupts: Interrupt-Handler
5.) Interrupt-Quelle ermitteln
6.) Statusregister der einzelnen E/A-Bausteine prüfen, ob Interrupt-Flag gesetzt ist
7.) Der Interrupt-Handler kennt die Startaddressen der Service-Routinen für jeden einzelnen Baustein
8.) Zum ISR verzweigen: Device Handler
ISR
Interrupt-Handler
Device-Handler
ISR
Interrupt-Handler: Alle Interrupts
Device-Handler: Routine für einen Baustein
Startaddresse der Service-Routine
1.) Abfragemethode
2.) Vektormethode
3.) Codemethode
Abfragemethode: Polling
Interrupt-Handler: Verwaltet alle Interrupts
Device-Handler
1.) Die Interrupt-Anforderungen der einzelnen E/A-Bausteine werden durch OR-Funktion miteinander verknüpft
2.) Wenn IRQ = 1
3.) CPU ruft ISR auf
4.) Dieses Programm verwaltet alle Interrupts: Interrupt-Handler
5.) Interrupt-Quelle ermitteln
6.) Statusregister der einzelnen E/A-Bausteine prüfen, ob Interrupt-Flag gesetzt ist
7.) Der Interrupt-Handler kennt die Startaddressen der Service-Routinen für jeden einzelnen Baustein
8.) Zum ISR verzweigen: Device Handler
ISR
Interrupt-Handler
Device-Handler
ISR
Interrupt-Handler: Alle Interrupts
Device-Handler: Routine für einen Baustein