Verschiedene Komponenten verlangen, dass man sie regelmäßig abfragt, ob sie etwas ausführen möchten, z. b. die Tastatur oder eine serielle Schnittstelle.
Das würde bewirken, dass die CPU durch ständige Abfragen (Polling) an solche Komponenten sehr beschäftigt wäre.
Schlecht für die Leistungsfähigkeit der CPU und der Datenübertragungsrate zwischen verschiedenen Komponenten.
Aus diesem Grund hat man den Interrupt-Controller entwickelt und das System des Abfragebetriebs in einen vom Gerät her per Anfrage (Interrupt Request) getriebenen Datenaustausch verwandelt.
Empfängt z. b. die serielle Schnittstelle Daten, so aktiviert sie ein Signal-IRQ (Interrupt Request), um dem Prozessor anzuzeigen, dass ein Zeichen empfangen worden ist und übergeben werden kann.
Das Signal wird über den Interrupt-Controller geleitet, der die Unterbrechungsanforderung an den Prozessor auslöst.
Da nun die CPU weiß, dass Daten bereit stehen, kann der Interrupt-Controller die Daten lesen und an die CPU weiterleiten.
Der Interrupt-getriebene Datenaustausch wird vorwiegend mit den folgenden Komponenten ausgeführt:
Serielle Schnittstelle, USB, Firewire, Parallele Schnittstelle, Disketten Controller, Festplatten Controller, Netzwerkadapter, Tastatur und diverse andere Komponenten.