Avbrudd er et signal som sendes ut av maskinvare eller programvare når en prosess eller en hendelse trenger umiddelbar oppmerksomhet. Det varsler prosessoren til en høy prioritet prosess som krever avbrudd av den aktuelle arbeidsprosessen. I I/O-enheter er en av busskontrolllinjene dedikert til dette formålet og kalles Interrupt Service Routine (ISR).
når en enhet hever et avbrudd på lets say process i, fullfører prosessoren først utførelsen av instruksjon i. deretter laster Den Programtelleren (PC) med adressen til DEN FØRSTE instruksjonen TIL ISR. Før du laster Programtelleren med adressen, flyttes adressen til den avbrutte instruksjonen til et midlertidig sted. Derfor, etter håndtering av avbruddet, kan prosessoren fortsette med prosess i + 1.
mens prosessoren håndterer avbruddene, må den informere enheten om at forespørselen er gjenkjent, slik at den slutter å sende avbruddssignalet. Ved å lagre registrene slik at den avbrutte prosessen kan gjenopprettes i fremtiden, øker også forsinkelsen mellom tiden en avbrudd mottas og starten på utførelsen AV ISR. Dette kalles Interrupt Lattency.
Maskinvareavbrudd:
i en maskinvareavbrudd er alle enhetene koblet til Avbruddsforespørselslinjen. En enkelt forespørselslinje brukes til alle n-enhetene. For å be om et avbrudd, lukker en enhet den tilhørende bryteren. NÅR en enhet ber om avbrudd, ER VERDIEN AV INTR den logiske eller forespørslene fra individuelle enheter.
Sekvens av hendelser involvert i håndtering AV EN IRQ:
- Enheter heve EN IRQ.
- Prosessor avbryter programmet som kjøres.
- Enheten blir informert om at forespørselen er gjenkjent, og enheten deaktiverer forespørselssignalet.
- den forespurte handlingen utføres.
- Avbryt er aktivert og det avbrutte programmet gjenopptas.
Håndtering Av Flere Enheter:
når mer enn en enhet sender et avbruddsforespørselssignal, er det nødvendig med ytterligere informasjon for å bestemme hvilken enhet som skal vurderes først. Følgende metoder brukes til å bestemme hvilken enhet som skal velges: Polling, Vektoravbrudd og Avbryt Nesting. Disse er forklart som følger nedenfor.
- Polling:
I polling, den første enheten oppstått MED MED IRQ bit sett er enheten som skal betjenes først. Passende ISR kalles for å betjene det samme. Det er enkelt å implementere, men mye tid er bortkastet ved å forhøre IRQ-biten av alle enheter. - Vectored Interrupts:
i vectored interrupts identifiserer en enhet som ber om et avbrudd seg direkte ved å sende en spesiell kode til prosessoren over bussen. Dette gjør det mulig for prosessoren å identifisere enheten som genererte avbruddet. Den spesielle koden kan være startadressen TIL ISR eller HVOR ISR er plassert i minnet, og kalles avbruddsvektoren. - Avbryt Nesting:
i denne metoden er I/O-enheten organisert i en prioritetsstruktur. Derfor gjenkjennes avbruddsforespørsel fra en enhet med høyere prioritet der forespørselen fra en enhet med lavere prioritet ikke er det. For å implementere dette hver prosess/enhet (selv prosessoren). Prosessor aksepterer avbrudd bare fra enheter / prosesser som har prioritet mer enn det.
Prosessorer prioritet er kodet i NOEN biter AV PS (Process Status register). Det kan endres av programinstruksjoner som skriver INN I PS. Prosessor er i overvåket modus bare mens du utfører OS-rutiner. Den bytter til brukermodus før du utfører applikasjonsprogrammer.
Oppmerksomhet leser! Ikke slutt å lære nå. Få tak i alle de viktige CS Teori konsepter for SDE intervjuer MED CS Teori Kurset til en student-vennlig pris og bli industri klar.