Hvad er en afbrydelse: Typer og dens applikationer

Prøv Vores Instrument Til At Fjerne Problemer





Pc'er bruger afbrydelsesanmodninger til at håndtere forskellige hardwarefunktioner. Hardwareafbrydelser blev først introduceret af UNIVAC 1103 i 1953. Den første forekomst af afbrydelsesmaskering blev inkorporeret af IBM 650 i 1954. Det er vigtigt at tildele forskellige IRQ'er til forskellige hardwareenheder for at udføre forskellige funktioner. Under programudførelse kræver enheder som tastaturer, en mus CPU-tjenester og genererer en afbrydelse for at få opmærksomhed fra CPU og behandle den ønskede service. Disse er kendt som afbryder . En af busserne til I / O-enheden er dedikeret til at tjene dette formål er kendt som Interrupt Service Routine (ISR). Disse bruges i forskellige applikationer, f.eks. Til tidsfølsomme begivenheder, dataoverførsel, med vægt på unormale begivenheder, vagthundtimere, fælder osv.

Hvad er en afbrydelse?

Definition: Det kaldes et input signal der har den højeste prioritet for hardware- eller softwarehændelser, der kræver øjeblikkelig behandling af en begivenhed. I løbet af de tidlige dage af computing, blev processor måtte vente på signalet til at behandle eventuelle begivenheder. Processoren skal kontrollere alle hardware- og softwareprogrammer for at forstå, om der er noget signal, der skal behandles. Denne metode vil forbruge et antal urcyklusser og gør processoren travlt. Bare hvis et signal blev genereret, ville processoren igen tage noget tid at behandle begivenheden, hvilket førte til dårlig systemydelse.




En ny mekanisme blev introduceret for at overvinde denne komplicerede proces. I denne mekanisme sender hardware eller software signalet til en processor snarere end en processor, der kontrollerer for noget signal fra hardware eller software. Signalet advarer processoren med den højeste prioritet og suspenderer de aktuelle aktiviteter ved at gemme dens nuværende tilstand og funktion og behandler afbrydelsen med det samme, dette kaldes ISR. Da det ikke varer længe, ​​genstarter processoren normale aktiviteter, så snart den er behandlet.

Afbryde

Afbryde



Typer af afbrydelse

Disse er klassificeret i to hovedtyper.

Hardware afbryder

Et elektronisk signal sendt fra en ekstern enhed eller hardware for at kommunikere med processoren, hvilket indikerer, at det kræver øjeblikkelig opmærksomhed. Streg fra et tastatur eller en handling fra en mus påberåber f.eks. Hardwareafbrydelser, der får CPU til at læse og behandle det. Så det ankommer asynkront og i ethvert tidspunkt, mens du udfører en instruktion.

Hardwareafbrydelser er klassificeret i to typer


  • Maskable Interrupts - Processorer skal afbryde maskeregistret, der tillader aktivering og deaktivering af hardwareafbrydelser. Hvert signal er lidt placeret i maskeregistret. Hvis denne bit er indstillet, aktiveres og deaktiveres en afbrydelse, når en bit ikke er indstillet, eller omvendt. Signaler, der afbryder processorer gennem disse masker, kaldes maskerede afbrydelser.
  • Ikke-maskerbare afbrydelser (NMI) - NMI'erne er de højest prioriterede aktiviteter, der skal behandles øjeblikkeligt og under enhver situation, såsom et timeout-signal genereret fra en vagthundtimer.

Software afbryder

Processoren anmoder selv om en softwareafbrydelse efter udførelse af visse instruktioner, eller hvis særlige betingelser er opfyldt. Disse kan være en specifik instruktion, der udløser en afbrydelse såsom subrutineopkald og kan udløses uventet på grund af programudførelsesfejl, kendt som undtagelser eller fælder.

Udløsningsmetoder

Generelt er disse signaler designet til at udløse ved hjælp af enten et logisk signalniveau eller en signalkant. Disse metoder er af to typer.

Niveauudløst afbrydelse

I denne type påkalder inputmodulet en afbrydelse, hvis serviceniveauet for dette hævdes. Hvis en afbrydelseskilde fortsat hævdes, når firmwareafbrydelseshåndtereren håndterer den, regenererer dette modul og udløser, at handleren påberåber igen. De niveauudløste input er ikke gode, hvis de forbliver hævdet i længere tid.

Edge-triggered Interrupt

Et kantudløst interruptindgangsmodul påberåber et interrupt, så snart det identificerer en hævende kant - en faldende eller en stigende kant. Kanten bliver bemærket, når niveauet af kilde ændres. Denne type udløsning har brug for øjeblikkelig handling uanset kildens aktivitet.

Niveau-kant-udløsende

niveau-kant-udløsende

Systemimplementering

Afbrydelser skal anvendes på hardware som en anden komponent sammen med kontrollinjer, eller integreret ind i hukommelse delsystemer. Når implementeringen udføres i hardware, har den brug for en programmerbar interruptcontroller (PCI) for at forbinde mellem CPU'ens input-pin og afbrydelsesenheden. PCI multiplexer forskellige kilder til afbrydelse til den enkelte eller dobbelte CPU-linje. Når det implementeres i forbindelse med hukommelsescontrolleren, kortlægges systemets hukommelsesadressespor direkte med afbrydelserne.

Shared Interrupt Requests (IRQ'er)

Med kantudløst afbrydelse, en pull-up eller pull-down modstand bruges til at køre afbrydelseslinjen. Denne linje transmitterer hver impuls produceret af hver enhed. Hvis afbrydelsesimpulser genereret fra forskellige enheder sker tæt i tide, skal CPU påkalde en bagkant af pulsen for ikke at gå glip af afbrydelser, hvorefter CPU sørger for at inspicere hver enhed for serviceanmodninger. Et velopdragen ISA-bundkort (Industrial Standard Architecture) med pull-up-modstande, der deler IRQ-linjer, skal fungere fint. Imidlertid gør flere enheder, der deler IRQ-linjen i ældre systemer med dårligt designet programmeringsgrænseflade, det vanskeligt at behandle afbrydelser. På den anden side hjælper en ny systemarkitektur, såsom PCI, med at give betydelig lindring af dette problem.

Hybrid

En hybrid type systemimplementering har en kombination af både kantudløst og niveauudløst signalering. Hardware skal se efter en kant og verificerer også, at hvis et signal er aktivt i en bestemt periode. En hybridtype bruges almindeligvis til den ikke-maskerbare interrupt-input (NMI), hvilket sikrer, at falske afbrydelser ikke påvirker systemet.

Besked - Signaleret

En meddelelsessignaleret afbrydelsesanmodning om service ved hjælp af enhedssignaler ved at sende en besked over en meddelelse kanal, f.eks. en computer bus . Disse bruger ikke en fysisk afbrydelseslinje. PCI Express fungerer som en seriel bus og bruges udelukkende som meddelelsessignalerede afbrydelser.

Dørklokke

Dørklokkens afbrydelse bruges almindeligvis som en mekanisme af et softwaresystem til at signalere computerhardware for at fuldføre arbejdet. Efter gensidig aftale mellem hardware og software placerer softwaren dataene i det velkendte hukommelsessted og ringer på dørklokken for at underrette hardwaren om, at dataene er klar og venter på at blive behandlet. Nu forstår computerens hardwareenhed, at dataene er gyldige og behandler dem i overensstemmelse hermed.

Multiprocessor IPI

Multiprocessorsystemerne, en afbrydelsesanmodning fra en processor sendes til en anden processor gennem inter-processor interrupts (IPI)

Typiske anvendelser / applikationer

Disse er kraftige indgange, der typisk bruges til

  • Service hardwaretimere, håndter tastaturstreg og mushandlinger
  • Svar hurtigt på tidsfølsomme eller realtidsbegivenheder
  • Dataoverførsel til og fra perifere enheder
  • Reagerer på opgaver med høj prioritet, såsom nedlukningssignaler, fælder og vagthundtimere
  • Angiver unormale hændelser ved CPU
  • Strømafbrydelse forudser strømtab, hvilket muliggør ordentlig nedlukning af system
  • Periodiske afbrydelser for at holde styr på absolut tid

Ofte stillede spørgsmål

1). Hvorfor bruges afbrydelser?

Disse bruges til at få CPU's opmærksomhed til at udføre tjenester, der kræves af enten hardware eller software.

2). Hvad er NMI?

NMI er en ikke-maskerbar afbrydelse, som ikke kan ignoreres eller deaktiveres af processoren

3). Hvad er funktionen af ​​interrupt anerkendelseslinje?

Processoren sender et signal til enhederne, der angiver, at den er klar til at modtage afbrydelser.

4). Beskriv hardwareafbrydelse. Giv eksempler

Det genereres af en ekstern enhed eller hardware såsom tastaturtaster eller musebevægelse påberåber hardwareafbrydelser

5). Beskriv softwareafbrydelse.

Det er defineret som en særlig instruktion, der påberåber sig en afbrydelse, såsom subrutineopkald. Softwareafbrydelser kan udløses uventet på grund af programudførelsesfejl

6). Hvilket afbrydelse har højeste prioritet?

  • Ikke-maskerbar kant og niveau udløst
  • TRAP har højeste prioritet

7). Giv nogle anvendelser af afbrydelse

  • Svar hurtigt på tidsfølsomme eller realtidsbegivenheder
  • Dataoverførsel til og fra perifere enheder
  • Reagerer på opgaver med høj prioritet, såsom nedlukningssignaler, fælder og vagthundtimere
  • Angiver unormale hændelser ved CPU

8). Hvad er en hybrid type systemimplementering?

En hybrid type systemimplementering har en kombination af både kantudløst og niveauudløst signalering. Hardware skal se efter en kant og verificerer også, at hvis et signal er aktivt i en bestemt periode.

I denne artikel har vi forstået vigtigheden af afbryder og hvordan disse bruges til at udføre de ønskede tjenester. Vi diskuterede også, hvilke typer, systemimplementering og anvendelser deraf.