Die schnellste Methode arbeitet mit Unterbrechungszeigern und wird daher als vectored interrupt bezeichnet. Hier hat die E/A-Einheit die Aufgabe, sowohl die Unterbrechungsanforderung zu erzeugen und die Sprungadresse zu der Bedienungsroutine zur Verfügung zu stellen. Wenn die entsprechende Steuerung nur eine Identifikationsnummer zur Verfügung stellt, ist es eine einfache Sache der Software, in einer Tabelle die zugehörige Sprungadresse zu finden. Das ist vom Hardwarestandpunkt aus einfacher, aber ergibt nicht die größtmögliche Leistung. Die größte Leistung erhält man folgendermaßen: Wenn der Mikroprozessor die Unterbrechungsanforderung erhält, muß er den Programmzähler auf dem Stapel absichern und dann ein Acknowledge Signal aussenden. Danach muß die EA-Einheit die Interrupt Vektor Adresse auf den Adressbus legen, von wo sie der P einliest und in den Programmzähler schreibt.
Dadurch kann der P unmittelbar zu der Speicherzelle springen und mit der Bedienung der Einheit anfangen.
|