|
|
 |
 |
Klasse CPU
Einordnung in die Gesamtstruktur
- Modul
- machine
- Basisklassen
- keine
- abgeleitete Klassen
- keine
- Erstellungszeitpunkt
- Vorgabe zu Aufgabe
2
- Dateien
cpu.h cpu.asm
Beschreibung
Diese Klasse ermöglicht das prozessorseitige
Zulassen und Unterdrücken von Unterbrechungen, sowie das Anhalten
des Prozessors.
öffentliche Methoden
void enable_int ()
- Lässt die Unterbrechungsbehandlung zu, indem die
Assembleranweisung
sti ausgeführt wird.
void disable_int ()
- Verhindert eine Reaktion auf Unterbrechungen, indem die
Assembleranweisung
cli ausgeführt wird.
void idle ()
- Versetzt den Prozessor in den Haltezustand, aus dem er nur durch einen Interrupt wieder erwacht.
Intern werden dazu die Interrupts mit
sti freigegeben und der Prozessor mit
hlt angehalten. Intel garantiert,
dass die Befehlsfolge sti hlt atomar ausgeführt wird.
void halt ()
- Hält den Prozessor an. Intern werden dazu die Interrupts mit
cli gesperrt
und anschließend der Prozessor mit hlt angehalten. Da der Haltezustand nur
durch einen Interrupt verlassen werden könnte, ist somit garantiert, dass der Rechner bis
zum nächsten Kaltstart "steht". Das Programm kehrt aus halt() nie zurück.
|
 |
 |
|