Hva er et avbrudd: Typer og applikasjoner

Prøv Instrumentet Vårt For Å Eliminere Problemer





PC-er bruker avbruddsforespørsler for å håndtere forskjellige maskinvarefunksjoner. Maskinvareavbrudd ble først introdusert av UNIVAC 1103 i 1953. Den første forekomsten av avbruddsmaskering ble innlemmet av IBM 650 i 1954. Det er viktig å tilordne forskjellige IRQ-er til forskjellige maskinvareenheter for å utføre forskjellige funksjoner. Under programutførelse krever enheter som tastaturer, mus tjenester fra CPU og genererer et avbrudd for å få oppmerksomhet fra CPU og behandle den forespurte tjenesten. Disse er kjent som avbryter . En av bussene til I / O-enheten er dedikert til å betjene dette formålet er kjent som Interrupt Service Routine (ISR). Disse brukes i forskjellige applikasjoner, for eksempel for tidsfølsomme hendelser, dataoverføring, vektlegging av unormale hendelser, vakthundstimere, feller osv.

Hva er en avbrudd?

Definisjon: Det blir referert til som en innspill signal som har høyest prioritet for maskinvare- eller programvarehendelser som krever umiddelbar behandling av en hendelse. I løpet av de første dagene av databehandling, prosessor måtte vente på signalet for å behandle eventuelle hendelser. Prosessoren bør sjekke alle maskinvare- og programvareprogrammer for å forstå om det er noe signal som skal behandles. Denne metoden vil forbruke et antall klokkesykluser og gjør prosessoren opptatt. Bare i tilfelle hvis noe signal ble generert, ville prosessoren igjen ta litt tid å behandle hendelsen, noe som førte til dårlig systemytelse.




En ny mekanisme ble introdusert for å overvinne denne kompliserte prosessen. I denne mekanismen vil maskinvare eller programvare sende signalet til en prosessor, i stedet for en prosessor som ser etter noe signal fra maskinvare eller programvare. Signalet varsler prosessoren med høyest prioritet og suspenderer gjeldende aktiviteter ved å lagre sin nåværende tilstand og funksjon, og behandler avbruddet umiddelbart, dette er kjent som ISR. Siden det ikke varer lenge, starter prosessoren på nytt normale aktiviteter så snart den er behandlet.

Avbryte

Avbryte



Typer avbrudd

Disse er klassifisert i to hovedtyper.

Maskinvareavbrudd

Et elektronisk signal sendt fra en ekstern enhet eller maskinvare for å kommunisere med prosessoren som indikerer at det krever øyeblikkelig oppmerksomhet. For eksempel påkaller slag fra et tastatur eller en handling fra en mus maskinvareavbrudd som får prosessoren til å lese og behandle den. Så den kommer asynkront og når som helst mens du utfører en instruksjon.

Maskinvareavbrudd er klassifisert i to typer


  • Maskable Interrupts - Prosessorer må avbryte maskeregisteret som tillater aktivering og deaktivering av maskinvareavbrudd. Hvert signal er litt plassert i maskeregisteret. Hvis denne biten er satt, aktiveres og deaktiveres et avbrudd når en bit ikke er satt, eller omvendt. Signaler som avbryter prosessorene gjennom disse maskene blir referert til som maskerte avbrudd.
  • Ikke-maskerbare avbrudd (NMI) - NMI-ene er aktivitetene med høyest prioritet som må behandles umiddelbart og under alle situasjoner, for eksempel et tidsavbruddssignal generert fra en vakthundstimer.

Programvare avbryter

Prosessoren selv ber om en programavbrudd etter å ha utført visse instruksjoner eller hvis spesielle vilkår er oppfylt. Dette kan være en spesifikk instruksjon som utløser et avbrudd som subrutineanrop og kan utløses uventet på grunn av programutførelsesfeil, kjent som unntak eller feller.

Utløsningsmetoder

Generelt er disse signalene designet for å utløse ved hjelp av enten et logisk signalnivå eller en signalkant. Disse metodene er av to typer.

Nivåutløst avbrudd

I denne typen påkaller inngangsmodulen et avbrudd hvis servicenivået for dette blir hevdet. Hvis en avbruddskilde fortsetter å hevdes når firmwareavbruddshåndtereren håndterer den, regenererer denne modulen og utløser den til å påkalle igjen. De nivåutløste inngangene er ikke gode hvis de blir hevdet i lengre tid.

Kantutløst avbrudd

En kantutløst interrupt-inngangsmodul påkaller en avbrudd så snart den identifiserer en påstandskant - en fallende eller en stigende kant. Kanten blir lagt merke til når kildenivået endres. Denne typen utløsere trenger øyeblikkelig handling, uavhengig av kildens aktivitet.

Nivåkantutløsende

nivå-kant-utløsende

Systemimplementering

Avbrudd skal brukes på maskinvare som en annen komponent sammen med kontrollinjer, eller integrert inn i hukommelse delsystemer. Når implementering utføres i maskinvare, trenger den en programmerbar avbryterkontroller (PCI) for å koble mellom CPUens inngangspinne og avbruddsenheten. PCI multipliserer forskjellige kilder til avbrudd til den enkle eller doble CPU-linjen. Når det implementeres knyttet til minnekontrolleren, blir systemets minneadressespor kartlagt direkte med avbruddene.

Shared Interrupt Requests (IRQs)

Med kantutløst avbrudd, en pull-up eller pull-down motstand brukes til å kjøre avbruddslinjen. Denne linjen overfører hver puls produsert av hver enhet. Hvis avbruddspulser generert fra forskjellige enheter skjer i tide, må CPU påkalle en bakkant av pulsen for ikke å gå glipp av avbrudd, hvoretter CPU sørger for å inspisere alle enheter for tjenesteforespørsler. Hovedkort med veloppdragen Industry Standard Architecture (ISA) med motstander som kan trekkes opp og deler IRQ-linjer, må fungere bra. Imidlertid gjør flere enheter som deler IRQ-linjen i eldre systemer med dårlig utformet programmeringsgrensesnitt det vanskelig å behandle avbrudd. På den annen side hjelper en ny systemarkitektur, som PCI, med å gi betydelig lindring av dette problemet.

Hybrid

En hybrid type systemimplementering har en kombinasjon av både kantutløst og nivåutløst signalering. Maskinvaren skal se etter en kant og verifiserer også at hvis et signal er aktivt i en viss periode. En hybridtype brukes ofte til den ikke-maskerbare avbruddsinngangen (NMI), noe som sikrer at falske avbrudd ikke påvirker systemet.

Beskjed - Signalert

En meldingssignalert avbruddsforespørsel om tjeneste ved bruk av enhetssignaler ved å overføre en melding over en kommunikasjon kanal, for eksempel en datamaskin buss . Disse bruker ikke en fysisk avbruddslinje. PCI Express fungerer som en seriell buss og brukes utelukkende som meldingssignalerte avbrudd.

Dør-klokke

Dørklokkeavbrudd brukes ofte som en mekanisme av et programvaresystem for å signalisere maskinvare for å fullføre arbeidet. Etter gjensidig avtale mellom maskinvare og programvare plasserer programvaren dataene på det velkjente minneplasseringen og ringer på dørklokken for å varsle maskinvaren om at dataene er klare og venter på å bli behandlet. Nå forstår datamaskinens maskinvare at dataene er gyldige og behandler dem deretter.

Multiprosessor IPI

Multiprosessorsystemene, en avbruddsforespørsel fra en prosessor blir sendt til en annen prosessor gjennom interprosessoravbrudd (IPI)

Typiske bruksområder / applikasjoner

Dette er kraftige innganger som vanligvis brukes til

  • Service maskinvare tidtakere, håndtere tastaturslag og mushandlinger
  • Svar raskt på tidssensitive eller sanntidshendelser
  • Dataoverføring til og fra eksterne enheter
  • Reagerer på høyt prioriterte oppgaver som nedstengningssignaler, feller og vakthundtimere
  • Indikerer unormale hendelser med CPU
  • Strømavbrudd forutsetter tap av strøm, noe som muliggjør ordentlig nedstenging av system
  • Periodiske avbrudd for å holde styr på absolutt tid

Vanlige spørsmål

1). Hvorfor brukes avbrudd?

Disse brukes for å få CPU til å utføre tjenester som enten maskinvare eller programvare krever.

2). Hva er NMI?

NMI er et ikke-maskerbart avbrudd som ikke kan ignoreres eller deaktiveres av prosessoren

3). Hva er funksjonen til avbruddsbekreftelseslinje?

Prosessoren sender et signal til enhetene som indikerer at den er klar til å motta avbrudd.

4). Beskriv maskinvareavbrudd. Gi eksempler

Den genereres av en ekstern enhet eller maskinvare som tastaturtaster eller musebevegelse påkaller maskinvareavbrudd

5). Beskriv programvareavbrudd.

Det er definert som en spesiell instruksjon som påkaller et avbrudd som subrutineanrop. Programvareavbrudd kan utløses uventet på grunn av programutførelsesfeil

6). Hvilket avbrudd har høyest prioritet?

  • Ikke-maskerbar kant og nivå utløst
  • TRAP har høyeste prioritet

7). Gi noen bruksområder for avbrudd

  • Svar raskt på tidssensitive eller sanntidshendelser
  • Dataoverføring til og fra eksterne enheter
  • Reagerer på høyt prioriterte oppgaver som nedstengningssignaler, feller og vakthundtimere
  • Indikerer unormale hendelser med CPU

8). Hva er en hybrid type systemimplementering?

En hybrid type systemimplementering har en kombinasjon av både kantutløst og nivåutløst signalering. Maskinvaren skal se etter en kant og verifiserer også at hvis et signal er aktivt i en viss periode.

I denne artikkelen har vi forstått viktigheten av avbryter og hvordan disse brukes til å utføre de etterspurte tjenestene. Vi diskuterte også hva som er typer, systemimplementering og bruksområder.