Maybaygiare.org

Blog Network

Avbrudd

Avbrudd kan implementeres i maskinvare som en distinkt komponent med kontrolllinjer, eller de kan integreres i minnesubsystemet.hvis implementert i maskinvare som en distinkt komponent, KAN EN interrupt controller krets SOM IBM PC Programmable Interrupt Controller (PIC) kobles mellom avbruddsenheten og prosessorens interrupt pin for å multiplexere flere kilder til avbrudd på en ELLER to CPU linjer vanligvis tilgjengelig. Hvis implementert som en del av minnekontrolleren, tilordnes avbrudd i systemets minneadresseområde.

Delt IRQsEdit

Flere enheter kan dele en kantutløst avbruddslinje hvis de er utformet for å. Avbruddslinjen må ha en nedtrekks-eller opptrekksmotstand, slik at når den ikke drives aktivt, settes den til sin inaktive tilstand, som er standardtilstanden til den. Enheter signaliserer et avbrudd ved å kjøre linjen kort til sin ikke-standardstatus, og la linjen flyte (ikke kjør den aktivt) når den ikke signaliserer et avbrudd. Denne typen tilkobling er også referert til som åpen samler. Linjen bærer deretter alle pulser generert av alle enhetene. (Dette er analogt med trekkledningen på noen busser og vogner som enhver passasjer kan trekke for å signalisere sjåføren at de ber om et stopp.) Avbruddspulser fra forskjellige enheter kan imidlertid fusjonere hvis de oppstår i tide. FOR å unngå å miste avbrudd CPU må utløse på bakkanten av pulsen(f. eks den stigende kanten hvis linjen er trukket opp og drevet lavt). ETTER å ha oppdaget en avbrudd, MÅ CPUEN sjekke alle enhetene for servicekrav.

Kantutløste avbrudd lider ikke av problemene som nivåutløste avbrudd har med deling. Service av en lavprioritert enhet kan utsettes vilkårlig, mens avbrudd fra høyt prioriterte enheter fortsetter å bli mottatt og bli betjent. Hvis DET er en enhet SOM CPU ikke vet hvordan man skal betjene, noe som kan øke falske avbrudd, vil det ikke forstyrre avbruddssignalering av andre enheter. Det er imidlertid lett for en kantutløst avbrudd å bli savnet-for eksempel når avbrudd er maskert i en periode-og med mindre det er noen type maskinvarelås som registrerer hendelsen, er det umulig å gjenopprette. Dette problemet forårsaket mange «lockups» i tidlig maskinvare fordi prosessoren ikke visste at det var forventet å gjøre noe. Mer moderne maskinvare har ofte ett eller flere avbruddsstatusregistre som sperrer forespørsler; velskrevet kantdrevet avbruddshåndteringskode kan sjekke disse registrene for å sikre at ingen hendelser blir savnet.eldre Industry Standard Architecture (ISA) – bussen bruker kantutløste avbrudd, uten at enheter kan dele IRQ-linjer, men alle vanlige ISA-hovedkort inkluderer pull-up motstander på DERES IRQ-linjer, så veloppdragen ISA-enheter som deler IRQ-linjer, bør bare fungere fint. Parallellporten bruker også kantutløste avbrudd. Mange eldre enheter antar at DE har eksklusiv BRUK AV IRQ-linjer, noe som gjør det elektrisk usikkert å dele dem.

Det er 3 måter flere enheter «deler samme linje» kan heves. Først er ved eksklusiv ledning (bytte) eller eksklusiv tilkobling (til pinner). Neste er med buss (alle koblet til samme linje lytting): kort på en buss må vite når de skal snakke og ikke snakke(dvs. ISA-bussen). Snakker kan utløses på to måter: ved akkumulering låsen eller ved logiske porter. Logiske porter forventer en kontinuerlig datastrøm som overvåkes for nøkkelsignaler. Akkumulatorer utløser bare når den eksterne siden spenner porten utover en terskel, og dermed er det ikke nødvendig med forhandlet hastighet. Hver har sin hastighet versus avstand fordeler. En utløser er generelt metoden der eksitasjon oppdages: stigende kant, fallende kant, terskel (oscilloskop kan utløse et bredt utvalg av former og forhold).

Utløsing for programvareavbrudd må bygges inn i programvaren(BÅDE I OS og app). En ‘ C ‘ – app har et utløsertabell (et bord med funksjoner) i overskriften, som både appen og OPERATIVSYSTEMET kjenner til og bruker på riktig måte som ikke er relatert til maskinvare. Men ikke forveksle dette med maskinvare avbrudd som signal CPU (CPU enacts programvare fra en tabell av funksjoner, på samme måte som programvare avbrudd).

Problemer med å dele avbruddslinjerrediger

Flere enheter som deler en avbruddslinje (av en hvilken som helst utløsende stil) virker alle som falske avbruddskilder i forhold til hverandre. Med mange enheter på en linje vokser arbeidsbelastningen i serviceavbrudd i forhold til kvadratet av antall enheter. Det er derfor foretrukket å spre enheter jevnt over de tilgjengelige avbruddslinjene. Mangel på avbruddslinjer er et problem i eldre systemdesign der avbruddslinjene er forskjellige fysiske ledere. Meldingssignalerte avbrudd, hvor avbruddslinjen er virtuell, favoriseres i nye systemarkitekturer (SOM PCI Express) og lindrer dette problemet i betydelig grad.

noen enheter med et dårlig utformet programmeringsgrensesnitt gir ingen mulighet til å avgjøre om de har bedt om service. De kan låse opp eller på annen måte oppføre seg dårlig hvis betjent når de ikke ønsker det. Slike enheter kan ikke tolerere falske avbrudd, og kan heller ikke tolerere å dele en avbruddslinje. ISA-kort, på grunn av ofte billig design og konstruksjon, er beryktet for dette problemet. Slike enheter blir mye sjeldnere, da maskinvarelogikk blir billigere og nye systemarkitekturer mandat delbare avbrudd.

HybridEdit

Noen systemer bruker en hybrid av nivåutløst og kantutløst signalering. Maskinvaren ser ikke bare etter en kant, men det bekrefter også at avbruddssignalet forblir aktivt i en viss tidsperiode.

en vanlig bruk av et hybridavbrudd er for nmi-inngangen (ikke-maskerbar avbrudd). Fordi NMIs vanligvis signaliserer store – eller til og med katastrofale-systemhendelser, forsøker en god implementering av dette signalet å sikre at avbruddet er gyldig ved å verifisere at det forblir aktivt i en periode. Denne 2-trinns tilnærmingen bidrar til å eliminere falske avbrudd fra å påvirke systemet.

Message-signaledEdit

Hovedartikkel: Melding Signalisert Avbrudd

en melding-signalisert avbrudd bruker ikke en fysisk avbruddslinje. I stedet signaliserer en enhet sin forespørsel om service ved å sende en kort melding over et kommunikasjonsmedium, vanligvis en databuss. Meldingen kan være av en type reservert for avbrudd, eller det kan være av noen pre-eksisterende type som et minne skrive.

Meldingssignalerte avbrudd oppfører seg veldig mye som kantutløste avbrudd, ved at avbruddet er et øyeblikkelig signal i stedet for en kontinuerlig tilstand. Avbruddshåndteringsprogramvare behandler de to på samme måte. Vanligvis kan flere ventende meldingssignalerte avbrudd med samme melding (samme virtuelle avbruddslinje) slå sammen, akkurat som kantutløste avbrudd med tett avstand kan slå sammen.

meldingssignalerte avbruddsvektorer kan deles, i den grad det underliggende kommunikasjonsmediet kan deles. Ingen ekstra innsats er nødvendig.Fordi identiteten til avbruddet er indikert av et mønster av databiter, som ikke krever en separat fysisk leder, kan mange flere distinkte avbrudd håndteres effektivt. Dette reduserer behovet for deling. Avbruddsmeldinger kan også sendes over en seriell buss, og krever ingen ekstra linjer.PCI Express, en seriell datamaskin buss, bruker melding-signalisert avbrudd utelukkende.

DoorbellEdit

denne delen siterer ingen kilder. Vennligst bidra til å forbedre denne delen ved å legge til sitater til pålitelige kilder. Unsourced materiale kan bli utfordret og fjernet. (Desember 2020) (Lær hvordan og når du skal fjerne denne malmeldingen)

i en trykknappanalogi som brukes på datasystemer, brukes begrepet dørklokke eller dørklokkeavbrudd ofte til å beskrive en mekanisme der et programvaresystem kan signalisere eller varsle en maskinvareenhet om at det er noe arbeid som må gjøres. Vanligvis vil programvaresystemet plassere data på noen kjente og gjensidig avtalte minnesteder, og «ringe på dørklokken» ved å skrive til et annet minnested. Denne forskjellige minneplasseringen kalles ofte dørklokkeområdet, og det kan til og med være flere dørklokker som tjener forskjellige formål i denne regionen. Det er denne handlingen å skrive til dørklokkeområdet som «ringer klokken» og informerer maskinvareenheten om at dataene er klare og venter. Maskinvareenheten vil nå vite at dataene er gyldige og kan håndteres. Det vil vanligvis skrive dataene til en harddisk, eller sende dem over et nettverk, eller kryptere dem, etc.

begrepet dørklokkeavbrudd er vanligvis en misnomer. Det ligner på et avbrudd, fordi det fører til at noe arbeid gjøres av enheten; imidlertid er dørklokkeområdet noen ganger implementert som en pollet region, noen ganger dørklokkeområdet skriver gjennom til fysiske enhetsregistre, og noen ganger er dørklokkeområdet fastkoblet direkte til fysiske enhetsregistre. Når du skriver gjennom eller direkte til fysiske enhetsregistre, kan dette føre til at det oppstår en reell avbrudd på enhetens sentrale prosessorenhet (CPU), hvis den har en.

Dørklokkeavbrudd kan sammenlignes Med Meldingssignalavbrudd, da de har noen likheter.

Multiprocessor IPIEdit

In multiprocessor systems, a processor may send an interrupt request to another processor via inter-processor interrupts (IPI).

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.