Vad är ett avbrott: Typer och dess tillämpningar

Prova Vårt Instrument För Att Eliminera Problem





Datorer använder avbrottsförfrågningar för att hantera olika hårdvarufunktioner. Maskinvaruavbrott introducerades först av UNIVAC 1103 1953. Den första förekomsten av avbrottsmaskering införlivades av IBM 650 1954. Det är viktigt att tilldela olika IRQ till olika hårdvaruenheter för att utföra olika funktioner. Under programkörning kräver enheter som tangentbord, en mus tjänster av CPU och genererar ett avbrott för att få uppmärksamhet från CPU och bearbeta den begärda tjänsten. Dessa är kända som avbryter . En av bussarna på I / O-enheten är avsedd att tjäna detta syfte är känd som ISR (Interrupt Service Routine). Dessa används i olika applikationer som för tidskänsliga händelser, dataöverföring, betoning på onormala händelser, vakthundstimer, fällor etc.

Vad är ett avbrott?

Definition: Det kallas en ingång signal som har högsta prioritet för hårdvaru- eller programvaruhändelser som kräver omedelbar bearbetning av en händelse. Under de tidiga datorerna, processor var tvungen att vänta på signalen för att bearbeta eventuella händelser. Processorn bör kontrollera varje hårdvara och programvara för att förstå om det finns någon signal som ska bearbetas. Denna metod skulle förbruka ett antal klockcykler och gör processorn upptagen. Om bara någon signal genererades skulle processorn igen ta lite tid att bearbeta händelsen, vilket leder till dålig systemprestanda.




En ny mekanism infördes för att övervinna denna komplicerade process. I denna mekanism skickar hårdvara eller programvara signalen till en processor, snarare än en processor som söker efter någon signal från hårdvara eller programvara. Signalen varnar processorn med högsta prioritet och avbryter de aktuella aktiviteterna genom att spara dess nuvarande tillstånd och funktion och behandlar avbrottet omedelbart, detta kallas ISR. Eftersom det inte håller länge startar processorn om normala aktiviteter så snart den bearbetas.

Avbryta

Avbryta



Typer av avbrott

Dessa klassificeras i två huvudtyper.

Hårdvaruavbrott

En elektronisk signal som skickas från en extern enhet eller hårdvara för att kommunicera med processorn som indikerar att den kräver omedelbar uppmärksamhet. Till exempel, slag från ett tangentbord eller en åtgärd från en mus åberopar hårdvaruavbrott som orsakar att CPU: n läser och bearbetar den. Så den kommer asynkront och under vilken tidpunkt som helst medan du utför en instruktion.

Hårdvaruavbrott klassificeras i två typer


  • Maskabla avbrott - Processorer måste avbryta maskregistret som gör det möjligt att aktivera och inaktivera maskinvarustörningar. Varje signal är lite placerad i maskregistret. Om denna bit är inställd aktiveras och avbryts ett avbrott när en bit inte är inställd, eller vice versa. Signaler som avbryter processorerna genom dessa masker kallas maskerade avbrott.
  • Icke-maskerbara avbrott (NMI) - NMI: erna är de aktiviteter med högsta prioritet som behöver behandlas omedelbart och under alla situationer, till exempel en timeout-signal som genereras från en vakthundstimer.

Programvaran avbryter

Processorn själv begär ett programavbrott efter att ha utfört vissa instruktioner eller om vissa villkor är uppfyllda. Dessa kan vara en specifik instruktion som utlöser ett avbrott, såsom subrutinsamtal och kan utlösas oväntat på grund av programkörningsfel, så kallade undantag eller fällor.

Utlösningsmetoder

Generellt är dessa signaler utformade för att utlösa antingen en logisk signalnivå eller en signalkant. Dessa metoder är av två typer.

Nivåutlöst avbrott

I denna typ åberopar ingångsmodulen ett avbrott om servicenivån för detta påstås. Om en avbrottskälla fortsätter att göras när avbrottshanteraren för fast programvara hanterar den, regenererar den här modulen och utlöser hanteraren att åberopa igen. De nivåutlösta ingångarna är inte bra om de förblir hävdade under en längre tid.

Kantutlöst avbrott

En kantutlöst avbrottsingångsmodul anropar ett avbrott så snart den identifierar en påstående kant - en fallande eller en stigande kant. Kanten märks när källnivån ändras. Denna typ av utlösning behöver omedelbar åtgärd, oavsett källans aktivitet.

Nivåkantutlösande

nivå-utlösande

System implementering

Avbrott ska tillämpas på hårdvara som en annan komponent tillsammans med kontrollinjer, eller integrerad in i minne delsystem. När implementering utförs i hårdvara behöver den en programmerbar avbrottsstyrenhet (PCI) för att ansluta mellan processorns ingångsstift och avbrytningsenheten. PCI multiplexerar olika avbrottskällor till den enda eller dubbla CPU-linjen. När den implementeras med avseende på minneskontrollern mappas systemets minnesadressplats direkt med avbrotten.

Shared Interrupt Requests (IRQs)

Med kantutlöst avbrott, en pull-up eller pull-down motstånd används för att driva avbrottslinjen. Denna linje överför varje puls som produceras av varje enhet. Om avbrottspulser som genereras från olika enheter inträffar nära i tid, måste CPU anropa en bakre kant av pulsen för att inte missa avbrott, varefter CPU säkerställer att inspektera varje enhet för tjänsteförfrågningar. Ett moderkort med väl upptrådt Industry Standard Architecture (ISA) med pull-up-motstånd som delar IRQ-linjer måste fungera bra. Men flera enheter som delar IRQ-linjen i äldre system med dåligt utformat programmeringsgränssnitt gör det svårt att bearbeta avbrott. Å andra sidan hjälper en ny systemarkitektur, till exempel PCI, att ge betydande lättnad för detta problem.

Hybrid

En hybrid typ av systemimplementering har en kombination av både kantutlösad och nivåutlöst signalering. Maskinvaran ska leta efter en kant och verifierar också att om en signal är aktiv under en viss period. En hybridtyp används ofta för ingången för icke-maskerbar avbrott (NMI), vilket säkerställer att falska avbrott inte påverkar systemet.

Meddelande - Signerad

En meddelandesignerad avbrottsbegäran för tjänst med hjälp av enhetssignaler genom att sända ett meddelande över en kommunikation som en dator buss . Dessa använder inte en fysisk avbrottslinje. PCI Express fungerar som en seriell buss och används uteslutande som meddelandesignalerade avbrott.

Dörrklocka

Dörrklockans avbrott används ofta som en mekanism av ett mjukvarusystem för att signalera datorhårdvara för att slutföra arbetet. Efter ömsesidig överenskommelse mellan hårdvara och programvara placerar programvaran data i den välkända minnesplatsen och ringer på dörrklockan för att meddela hårdvaran att data är redo och väntar på att bearbetas. Nu förstår datorhårdvaruenheten att data är giltiga och bearbetar dem därefter.

Multiprocessor IPI

Multiprocessorsystemen, en avbrottsförfrågan från en processor skickas till en annan processor genom interprocessor interrupt (IPI)

Typiska användningar / applikationer

Dessa är kraftfulla ingångar som vanligtvis används för

  • Servicehårdvarutimrar, hantera tangentbordsslag och musåtgärder
  • Svara snabbt på tidskänsliga eller realtidshändelser
  • Dataöverföring till och från kringutrustning
  • Svarar på högprioriterade uppgifter som avstängningssignaler, fällor och vakthundtimers
  • Indikerar onormala händelser i CPU
  • Avstängningsavbrott förutser förlust av ström, vilket möjliggör ordnad avstängning av systemet
  • Periodiska avbrott för att hålla koll på absolut tid

Vanliga frågor

1). Varför används avbrott?

Dessa används för att få CPU: ns uppmärksamhet att utföra tjänster som begärs av antingen hårdvara eller programvara.

2). Vad är NMI?

NMI är ett icke-maskerbart avbrott som inte kan ignoreras eller inaktiveras av processorn

3). Vad är funktionen för avbrytningsbekräftelselinje?

Processorn skickar en signal till enheterna som indikerar att den är redo att ta emot avbrott.

4). Beskriv maskinavbrott. Ge exempel

Det genereras av en extern enhet eller hårdvara som tangentbordstangenter eller musrörelser åberopar maskinvarustörningar

5). Beskriv programavbrott.

Det definieras som en speciell instruktion som åberopar ett avbrott såsom subrutinsamtal. Programavbrott kan utlösas oväntat på grund av programkörningsfel

6). Vilket avbrott har högsta prioritet?

  • Icke-maskerbar kant och nivå utlöst
  • TRAP har högsta prioritet

7). Ge några användningar av avbrott

  • Svara snabbt på tidskänsliga eller realtidshändelser
  • Dataöverföring till och från kringutrustning
  • Svarar på högprioriterade uppgifter som avstängningssignaler, fällor och vakthundtimers
  • Indikerar onormala händelser i CPU

8). Vad är en hybrid typ av systemimplementering?

En hybrid typ av systemimplementering har en kombination av både kantutlösad och nivåutlöst signalering. Maskinvaran ska leta efter en kant och verifierar också att om en signal är aktiv under en viss period.

I den här artikeln har vi förstått vikten av avbryter och hur dessa används för att utföra de begärda tjänsterna. Vi diskuterade också vilka typer, systemimplementering och dess användning.