Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Klausur 23.02.2005
Aufgabe 6: Interrupts
http://www3.informatik.uni-erlangen.de/Lehre/TechInfII/SS2006/klausur-ti2-2005-03-23.pdf
Hat jemand noch die Mitschrift aus der Fragestunde wie das ganze exakt abläuft? Bzw kann es jemand genau für uns beschreiben?
Danke :-/
Also, ungefaer so:
- Interruptquelle sendet Interruptrequest (IRQ) an die CPU.
- CPU ueberprueft, ob Interrupt zulaessig ist und nimmt ihn ggf. an. (Mikroprogramm prueft nach jedem Befehl ob ein IRQ anliegt)
(3. CPU quittiert den IRQ mit Interrupt-Acknowledge) - Sicherung des Programmcounter, Statusregister (weiss jemend, was ist es?) ggf. Akku (und soweit ich weiss, StackPointer, Flags) fuer den reibungslosen Ruecksprung in das unterbrochene Programm.
- Sprung in die Interrupt-Service-Routine
- Wiederherstellung gesicherter Register.
- Wiederaufnahme des unterbrochenen Programms.
Ich glaub im skript stand noch dass er eben auch festhaelt dass er dann eben im Supervisormode (bzw. Kernelmode) ist…
Du hast recht…
Also denn:
3a) Wechseln zu Supervisormodus.
6a) Wechseln zu dem Modus, in welchem er frueher war.
hm man könnt auch noch schreiben dass das interrupt enable bit auf 0 gesetzt wird…