90 likes | 249 Views
Zustand beim Eintreffen des Interrupts (Weitere Interrupts werden von der Hardware zunächst blockiert). Arbeitsspeicher. Programme. P. Adresse. 73. Daten. Interrupt-Handler. CPU. Register. Re. A. 0815. 3141. B. 4711. C. 2718. D. Stack. Befehlszähler. 73. PC.
E N D
Zustand beimEintreffen des Interrupts (Weitere Interruptswerden von der Hardwarezunächst blockiert) Arbeitsspeicher Programme P Adresse 73 Daten Interrupt-Handler CPU Register Re A 0815 3141 B 4711 C 2718 D Stack Befehlszähler 73 PC
1. Aktuellen Befehlszähler retten durch Kopieren auf den Stack Arbeitsspeicher Programme P Adresse CPU (Hardware!)sichert den Inhalt des PC 73 Daten Interrupt-Handler CPU Register Re A 0815 3141 B Stack 4711 C 2718 D Befehlszähler 73 PC
2. Befehlszähler mit der Adresse des Interrupthandlers laden Arbeitsspeicher Programme P Adresse 158 Daten Interrupt-Handler CPU Register Re A 0815 3141 B Stack 4711 C 73 2718 D Befehlszähler 158 PC
3. Retten der Inhalte derCPU-Register auf dem Stack Arbeitsspeicher Programme P Adresse push A push B push C push D Daten Interrupt-Handler CPU Register Re A 0815 3141 B Stack 4711 C 2718 D Befehlszähler PC 73
4. Interrupt abarbeiten Arbeitsspeicher Programme P Adresse Daten Interrupt-Handler CPU Register Re A xxxx xxxx B Stack xxxx C xxxx D xxxx xxxx Befehlszähler xxxx PC 2718 4711
5. Alte Inhalte der CPU-Register und des Befehlszählers wiederherstellen, durch Zurückholen vom Stack Arbeitsspeicher Programme P pop D pop C pop B pop A pop PC (ret) Daten Interrupt-Handler CPU Re Register A B Stack C 2718 D 4711 Befehlszähler 3141 0815 PC 73
Der Zustand vorEintreffen des Interruptsist somit wiederhergestellt. Arbeitsspeicher Programme P Adresse 73 Daten Interrupt-Handler CPU Register Re A 0815 3141 B 4711 C 2718 D Stack Befehlszähler 73 PC
6. Befehlszähler erhöhen und Programm fortsetzen Arbeitsspeicher Programme P Adresse 73 74 Daten Interrupt-Handler CPU Register Re A 0815 3141 B 4711 C 2718 D Stack Befehlszähler 74 PC