Interrupts Uitgelegd: Typen, Mechanismen en Toepassingen in Moderne Computing
Moderne PC's vertrouwen op interrupt-verzoeken om hardware-functies te coördineren. Het concept dateert terug naar de UNIVAC 1103 in 1953, met de IBM 650 die interrupt-maskering introduceerde in 1954. Het toewijzen van verschillende IRQ-lijnen aan individuele apparaten is essentieel voor efficiënte werking. Wanneer randapparaten zoals toetsenborden of muizen CPU-aandacht nodig hebben, genereren ze interrupts die de bijbehorende Interrupt Service Routine (ISR) triggeren. ISRs zijn onmisbaar voor tijdsgevoelige taken, dataoverdracht, foutafhandeling, watchdog-timers, en traps.
Wat Is Een Interrupt?
Definitie: Een interrupt is een invoersignaal dat de onmiddellijke aandacht van de processor eist, met de hoogste prioriteit onder hardware- en software-gebeurtenissen. In vroege computing moesten processors elk randapparaat en programma afpollen voor signalen, wat klokcycli verspilde en prestaties degradeerde. Het interrupt-mechanisme keerde dit model om: een randapparaat of softwaremodule signaleert de CPU, die de huidige taak onderbreekt, de staat opslaat, en de geschikte ISR uitvoert. Na voltooiing van de ISR herstelt de CPU de vorige staat en gaat de uitvoering verder.

Typen Interrupts
Interrupts zijn breed ingedeeld in twee categorieën.
Hardware Interrupts
Dit zijn elektronische signalen verzonden van externe apparaten naar de CPU, wat aangeeft dat ze onmiddellijke service vereisen. Toetsenbordinvoeren, muisbewegingen, en sensoralerts zijn typische voorbeelden. Hardware interrupts zijn asynchroon, arriverend op elk moment tijdens instructie-uitvoering.
Hardware interrupts worden verder onderverdeeld:
- Maskerbare Interrupts – De interrupt-maskerregister van de processor controleert of een bepaalde interruptbron ingeschakeld of uitgeschakeld is. Elke bit in de register correspondeert met een specifieke IRQ-lijn; een ingestelde bit staat de interrupt toe te worden bediend, terwijl een gewiste bit het blokkeert.
- Niet-Maskerbare Interrupts (NMI) – NMIs hebben de hoogste prioriteit en kunnen niet uitgeschakeld worden door de processor. Ze worden typisch gebruikt voor kritieke gebeurtenissen zoals watchdog-timer vervallen of hardwarefouten.
Software Interrupts
De CPU zelf kan een interrupt genereren door een speciale instructie uit te voeren of wanneer een uitzonderlijke voorwaarde optreedt tijdens programma-uitvoering. Software interrupts mogelijk maken systeemaanroepen, uitzonderingsafhandeling, en trap-routines.
Trigger-methoden
Interrupt-lijnen kunnen getriggerd worden door een logica-niveau of een signaalflank. Deze twee benaderingen verschillen in hoe de bron de CPU signaleert.
Niveau-Getriggerde Interrupt
In deze modus blijft de interrupt-lijn geassert zolang de bron service vereist. Als de bron actief blijft terwijl de ISR draait, roept de CPU de handler na voltooiing opnieuw aan. Niveau-getriggerde inputs kunnen problematisch zijn als het signaal lang geassert blijft.
Flank-Getriggerde Interrupt
Een flank-getriggerde interrupt vuurt direct wanneer het signaal overgaat van laag naar hoog of hoog naar laag. De CPU hangt niet af van het signaalniveau, alleen van de overgang, wat deze modus geschikt maakt voor snelle, eenmalige gebeurtenissen.

Systeem Implementatie
Interrupts zijn inbed in de hardware als speciale controllijnen of ingesloten in geheugensubsystemen. Wanneer geïmplementeerd via een Programmable Interrupt Controller (PIC), delen meerdere bronnen een enkele CPU-pin, wat bedrading vereenvoudigt en prioriteitsarbitrage mogelijk maakt.
Gedeelde Interrupt Verzoeken (IRQs)
Met flank-getriggerde interrupts, houdt een pull-up of pull-down weerstand de lijn in een bekende staat. Elke apparatenpuls propageert langs de gedeelde lijn, en de CPU bemonstert de lijn op de nalaatse flank om te garanderen dat geen puls gemist wordt. Oudere ISA-borden vertrouwden op gedeelde IRQs, wat contentie kon veroorzaken; moderne PCI-architecturen mitigeren dit door speciale controllers en dynamische allocatie.
Hybride
Hybride systemen combineren flank-triggering met niveau-verificatie, wat zorgt dat een actief signaal niet genegeerd wordt. Deze benadering is gebruikelijk voor niet-maskerbare inputs, wat false positives vermindert.
Bericht-Gesignaleerde Interrupt
In plaats van een speciale lijn, stuurt het apparaat een bericht over een bus zoals PCI Express naar de CPU. Dit elimineert fysieke pinnen en ondersteunt hogere doorvoer.
Doorbel
Een doorbel interrupt is een software-gedreven signaal waarbij het apparaat data schrijft naar een gedeeld geheugengebied en dan de interrupt triggert, wat de CPU in staat stelt de gereed data te verwerken.
Multiprocessor IPI
In multi-core systemen kan een processor een inter-processor interrupt (IPI) naar een andere sturen, wat taken coördineert of gebeurtenissen over kernen signaleert.
Typische Toepassingen
- Afhandelen van hardware timers en verwerken van toetsenbord/muisinvoer.
- Reageren op tijdsgevoelige of real-time gebeurtenissen.
- Beheren van dataoverdracht naar en van randapparaten.
- Afhandelen van hoge-prioriteit signalen zoals power-down verzoeken, traps, en watchdog-timers.
- Rapporteren van abnormale CPU-gebeurtenissen.
- Vergemakkelijken van geordende power-off wanneer externe stroom verloren gaat.
- Genereren van periodieke interrupts voor absolute tijdsbewaking.
Veelgestelde Vragen
1. Waarom worden interrupts gebruikt?
Interrupts brengen de focus van de CPU naar urgente hardware- of software-taken, wat tijdige reacties mogelijk maakt zonder constant afpollen.
2. Wat is NMI?
NMI staat voor Niet-Maskerbare Interrupt, een signaal dat niet uitgeschakeld kan worden door de processor en gereserveerd is voor kritieke gebeurtenissen.
3. Wat is de functie van de interrupt-acknowledge lijn?
Het signaleert naar het apparaat dat de CPU klaar is om een interrupt te ontvangen, wat het apparaat in staat stelt het ISR-adres op de bus te plaatsen.
4. Beschrijf een hardware interrupt. Geef voorbeelden.
Hardware interrupts worden gegenereerd door externe apparaten—toetsenbordinvoeren, muisklikken, of sensoruitgangen—die onmiddellijke CPU-service vereisen.
5. Beschrijf een software interrupt.
Software interrupts worden opgeroepen door de processor via speciale instructies, zoals systeemaanroepen of uitzonderingsafhandeling routines.
6. Welke interrupt heeft de hoogste prioriteit?
- Niet-maskerbare interrupts (NMIs) en traps hebben de hoogste prioriteit.
7. Geef enkele toepassingen van interrupts.
- Snelle reactie op real-time gebeurtenissen.
- Dataoverdracht met randapparaten.
- Afhandelen van kritieke taken zoals power-down en watchdog-timers.
- Rapporteren van abnormale CPU-gebeurtenissen.
8. Wat is een hybride type systeemimplementatie?
Een hybride systeem gebruikt zowel flank-getriggerde als niveau-geverifieerde signalering, wat zorgt dat echte gebeurtenissen vastgelegd worden terwijl spurieuze triggers verminderd worden.
Dit artikel verkent de significantie van interrupts, met details over hun typen, systeemintegratie, en praktische toepassingen.
Ingebed
- Gaslastechnieken en hun Industriële Toepassingen
- 3D-Printen Uitgelegd: Typen, Processen en Hoe Het Werkt
- Hoe Afstandssensoren Werken en Hun Belangrijkste Toepassingen
- De AD8232 ECG Sensor Begrijpen: Functionaliteit en Toepassingen
- HC-SR04 Ultrasonische Sensor: Hoe Het Werkt en Belangrijkste Toepassingen
- Spanningssensoren: Hoe Ze Werken & Belangrijkste Toepassingen in Moderne Energiesystemen
- Lambda (Zuursstof) Sensor: Functie, Werking en Belangrijkste Auto-toepassingen
- Beeldsensoren: Typen, Werking en Praktische Toepassingen
- Titaandraad: Typen, eigenschappen en industriële toepassingen
- 13 Types Refractaire Materialen en Hun Belangrijkste Industriële Toepassingen
- Hafniumoxide (HfO₂): structuur, eigenschappen en belangrijke toepassingen