Wat is een onderbreking: typen en hun toepassingen

Probeer Ons Instrument Voor Het Oplossen Van Problemen





Pc's gebruiken interruptverzoeken om verschillende hardwarefuncties af te handelen. Hardware-interrupts werden voor het eerst geïntroduceerd door de UNIVAC 1103 in 1953. De eerste incidentie van interruptmaskering werd in 1954 door IBM 650 opgenomen. Het is essentieel om verschillende IRQ's toe te wijzen aan verschillende hardwareapparaten om verschillende functies uit te voeren. Tijdens de uitvoering van het programma hebben apparaten zoals toetsenborden en een muis CPU-services nodig en genereren ze een interrupt om de aandacht van de CPU te trekken en de gevraagde service te verwerken. Deze staan ​​bekend als onderbreekt ​Een van de bussen van het I / O-apparaat is bedoeld om dit doel te dienen, staat bekend als Interrupt Service Routine (ISR). Deze worden gebruikt in verschillende toepassingen, zoals voor tijdgevoelige gebeurtenissen, gegevensoverdracht, nadruk op abnormale gebeurtenissen, watchdog-timers, traps, enz.

Wat is een onderbreking?

Definitie: Het wordt een input genoemd signaal die de hoogste prioriteit heeft voor hardware- of softwaregebeurtenissen die onmiddellijke verwerking van een gebeurtenis vereisen. Tijdens de vroege dagen van computergebruik, de processor moest wachten op het signaal om eventuele gebeurtenissen te verwerken. De processor moet elk hardware- en softwareprogramma controleren om te zien of er een signaal is dat moet worden verwerkt. Deze methode zou een aantal klokcycli in beslag nemen en de processor bezighouden. Voor het geval dat, als er een signaal werd gegenereerd, de processor opnieuw enige tijd nodig had om de gebeurtenis te verwerken, wat zou leiden tot slechte systeemprestaties.




Er is een nieuw mechanisme geïntroduceerd om dit gecompliceerde proces te overwinnen. In dit mechanisme zal hardware of software het signaal naar een processor sturen, in plaats van een processor die controleert op enig signaal van hardware of software. Het signaal waarschuwt de processor met de hoogste prioriteit en schort de huidige activiteiten op door de huidige status en functie op te slaan en verwerkt de interrupt onmiddellijk, dit staat bekend als ISR. Omdat het niet lang duurt, herstart de processor de normale activiteiten zodra deze is verwerkt.

Onderbreken

Onderbreken



Soorten onderbrekingen

Deze zijn onderverdeeld in twee hoofdtypen.

Hardware wordt onderbroken

Een elektronisch signaal dat wordt verzonden vanaf een extern apparaat of hardware om te communiceren met de processor, wat aangeeft dat dit onmiddellijke aandacht vereist. Bijvoorbeeld, slagen van een toetsenbord of een actie van een muis roepen hardware-onderbrekingen op, waardoor de CPU het leest en verwerkt. Het arriveert dus asynchroon en op elk moment tijdens het uitvoeren van een instructie.

Hardware-interrupts worden in twee typen ingedeeld


  • Maskable onderbreekt - Processors moeten het maskerregister onderbreken dat het in- en uitschakelen van hardware-onderbrekingen mogelijk maakt. Bij elk signaal wordt een bit in het maskerregister geplaatst. Als deze bit is ingesteld, wordt een onderbreking ingeschakeld en uitgeschakeld wanneer een bit niet is ingesteld, of omgekeerd. Signalen die de processors via deze maskers onderbreken, worden gemaskeerde interrupts genoemd.
  • Niet-maskeerbare onderbrekingen (NMI) - De NMI's zijn de activiteiten met de hoogste prioriteit die onmiddellijk en in elke situatie moeten worden verwerkt, zoals een time-outsignaal dat wordt gegenereerd door een watchdog-timer.

Software wordt onderbroken

De processor vraagt ​​zelf om een ​​software-onderbreking na het uitvoeren van bepaalde instructies of als aan bepaalde voorwaarden is voldaan. Dit kan een specifieke instructie zijn die een interrupt activeert, zoals subroutine-aanroepen, en kan onverwachts worden geactiveerd vanwege fouten bij het uitvoeren van programma's, ook wel uitzonderingen of traps genoemd.

Triggerende methoden

Over het algemeen zijn deze signalen ontworpen om te triggeren met behulp van een logisch signaalniveau of een signaalflank. Deze methoden zijn van twee soorten.

Door niveau getriggerde onderbreking

In dit type roept de ingangsmodule een interrupt aan als het serviceniveau hiervan wordt beweerd. Als een onderbrekingsbron blijft gelden wanneer de firmware-onderbrekingshandler deze afhandelt, wordt deze module opnieuw gegenereerd en wordt de handler getriggerd om opnieuw aan te roepen. De niveau-getriggerde ingangen zijn niet goed als ze voor een langere duur blijven gelden.

Edge-getriggerde onderbreking

Een flank-getriggerde interrupt-invoermodule roept een interrupt aan zodra deze een bewerende flank identificeert - een dalende of stijgende flank. De rand wordt opgemerkt wanneer het niveau van de bron verandert. Dit type triggering vereist onmiddellijke actie, ongeacht de activiteit van de bron.

Level-edge-triggering

level-edge-triggering

Systeemimplementatie

Onderbrekingen worden toegepast op hardware als een ander onderdeel samen met besturingslijnen, of geïntegreerd in geheugen subsystemen. Wanneer implementatie in hardware wordt uitgevoerd, heeft het een Programmable Interrupt Controller (PCI) nodig om verbinding te maken tussen de invoerpin van de CPU en het onderbrekende apparaat. PCI multiplexeert verschillende bronnen van interrupt naar de enkele of dubbele CPU-lijn. Wanneer geïmplementeerd met betrekking tot de geheugencontroller, wordt het geheugenadresslot van het systeem rechtstreeks in kaart gebracht met de interrupts.

Shared Interrupt Requests (IRQ's)

Met edge-triggered interrupt, een pull-up of pull-down weerstand wordt gebruikt om de onderbrekingslijn aan te sturen. Deze lijn verzendt elke puls die door elk apparaat wordt geproduceerd. Als interruptpulsen gegenereerd door verschillende apparaten dichtbij in de tijd plaatsvinden, moet de CPU een achterflank van de puls aanroepen om geen onderbrekingen te missen, waarna de CPU ervoor zorgt dat elk apparaat wordt geïnspecteerd op serviceverzoeken. Een brave Industry Standard Architecture (ISA) -moederborden met pull-up-weerstanden die IRQ-lijnen delen, moeten prima werken. Meerdere apparaten die een IRQ-lijn delen in oudere systemen met een slecht ontworpen programmeerinterface, maken het echter moeilijk om interrupts te verwerken. Aan de andere kant helpt een nieuwe systeemarchitectuur, zoals PCI, dit probleem aanzienlijk te verlichten.

Hybride

Een hybride systeemimplementatie heeft een combinatie van zowel edge-getriggerde als level-getriggerde signalering. De hardware zoekt naar een rand en verifieert dat ook als een signaal gedurende een bepaalde periode actief is. Een hybride type wordt vaak gebruikt voor de niet-maskeerbare interrupt (NMI) -ingang, die ervoor zorgt dat valse interrupts geen invloed hebben op het systeem.

Bericht Gesignaleerd

Een bericht-gesignaleerd onderbrekingsverzoek voor service met behulp van apparaatsignalen door een bericht te verzenden via een communicatie kanaal, zoals een computer bus ​Deze gebruiken geen fysieke onderbrekingslijn. PCI Express fungeert als een seriële bus en wordt uitsluitend gebruikt als door berichten gesignaleerde interrupts.

Deurbel

De deurbelonderbreking wordt vaak gebruikt als een mechanisme door een softwaresysteem om computerhardware te signaleren om het werk te voltooien. Bij onderlinge overeenstemming tussen hardware en software, plaatst de software de gegevens op de bekende geheugenlocatie en aanbelt de deurbel om de hardware te laten weten dat de gegevens klaar zijn om verwerkt te worden. Nu begrijpt het computerhardwareapparaat dat de gegevens geldig zijn en verwerkt het dienovereenkomstig.

Multiprocessor IPI

De multiprocessorsystemen, een interruptverzoek van een processor wordt naar een andere processor gestuurd via inter-processor interrupts (IPI)

Typische toepassingen / toepassingen

Dit zijn krachtige inputs die doorgaans worden gebruikt

  • Onderhoud hardwaretimers, voer toetsenbordaanslagen en muisacties uit
  • Reageer snel op tijdgevoelige of realtime gebeurtenissen
  • Gegevensoverdracht van en naar randapparatuur
  • Reageert op taken met hoge prioriteit, zoals uitschakelsignalen, vallen en watchdog-timers
  • Geeft abnormale gebeurtenissen van de CPU aan
  • Power-off interrupt voorziet in stroomuitval, waardoor de systeem
  • Periodieke onderbrekingen om de absolute tijd bij te houden

Veelgestelde vragen

1). Waarom worden interrupts gebruikt?

Deze worden gebruikt om de aandacht van de CPU te trekken om services uit te voeren die worden gevraagd door hardware of software.

2). Wat is NMI?

NMI is een niet-maskeerbare onderbreking die niet door de processor kan worden genegeerd of uitgeschakeld

3). Wat is de functie van de onderbrekingsbevestigingslijn?

De processor stuurt een signaal naar de apparaten om aan te geven dat hij klaar is om interrupts te ontvangen.

4). Beschrijf hardware-interrupt. Geef voorbeelden

Het wordt gegenereerd door een extern apparaat of hardware, zoals toetsenbordtoetsen of muisbewegingen die hardware-onderbrekingen oproepen

5). Beschrijf software-onderbreking.

Het wordt gedefinieerd als een speciale instructie die een interrupt oproept, zoals subroutine-oproepen. Software-interrupts kunnen onverwachts worden geactiveerd vanwege fouten bij het uitvoeren van programma's

6). Welke interrupt heeft de hoogste prioriteit?

  • Niet-maskeerbare rand en niveau geactiveerd
  • TRAP heeft de hoogste prioriteit

7). Geef een aantal toepassingen van interrupt

  • Reageer snel op tijdgevoelige of realtime gebeurtenissen
  • Gegevensoverdracht van en naar randapparatuur
  • Reageert op taken met hoge prioriteit, zoals uitschakelsignalen, vallen en watchdog-timers
  • Geeft abnormale gebeurtenissen van de CPU aan

8). Wat is een hybride systeemimplementatie?

Een hybride systeemimplementatie heeft een combinatie van zowel edge-getriggerde als level-getriggerde signalering. De hardware zoekt naar een rand en verifieert dat ook als een signaal gedurende een bepaalde periode actief is.

In dit artikel hebben we het belang begrepen van onderbreekt en hoe deze worden gebruikt om de gevraagde services uit te voeren. We hebben ook besproken wat de typen zijn, de systeemimplementatie en het gebruik ervan.