Forskellen mellem polling og afbrydelse

På bestemte tidspunkter holder hovedprocessoren op med at arbejde og kontrollerer, om en controller har en meddelelse til den, hvis den har det, behandler meddelelsen og genoptager driften. Dette kaldes polling. Desuden er det tydeligt, at hovedprocessoren gør sit job, og enhederne gør deres job. Hvis enheden afslutter sit job, eller der opstår en fejl, informerer enheden hovedprocessoren med en anmodning om afbrydelse.

Hvad er polling?

I systemer, hvor flere eksterne logiske kredsløb kommunikerer gennem flere U / I-forbindelser med en enkelt mikroprocessor, bruges U / I-polling. Mikrocomputeren ringer med jævne mellemrum til hvert eksternt logik-kredsløb og undersøger, om den har anmodet om service. Hvis det eksterne logik kredsløb ikke kræver service, undersøger mikrodatamaskinen det næste eksterne logiske kredsløb osv. Hvis en af ​​dem kræver service, skifter mikrocomputeren til at køre serveringsprogrammet for det respektive eksterne logiske kredsløb. U / I-overførselsfunktionen er inkluderet i programmet. Polling er med andre ord en proces med klientopkald (computere eller terminaler), der kan sende data efter at have været opkaldt (hvis de har nogen). Hvis klienten har data, sender han dem efter afstemningen, og hvis der ikke er data, reagerer klienten negativt, og serveren ringer til den næste klient. Nogle enheder kræver muligvis service fra controlleren (f.eks. Når nogle enheder afslutter målingen, eller når der opstår en fejl). Anmodningen sendes til controlleren ved at indstille SRQ-linjen til lav. Når controlleren modtager en anmodning om service, ringer han alle enhederne på bussen for at finde den enhed, der sendte denne anmodning.

Hvad er afbrydelse?

Under udførelsen af ​​et program kan mikroprocessoren modtage afbrydelsessignal gennem de specielle IRQ-linjer. Afbrydelse udføres oftest ved at kalde det passende systems subroutine til afbrydelse af behandling - dette er såkaldt BIOS- eller DOS-afbrydelsesrutinebehandling. Efter afbrydelse af behandling fortsætter processoren med at udføre det afbragte program. Også selve applikationsprogrammet kan indeholde en instruktion, der kræver udførelse af en BIOS- eller DOS-afbrydelsesrutine. Input-output-operationer udføres oftest på denne måde. For eksempel, hvis et program ønsker at udskrive et tegn på skærmen, kan det gøre det ved at kalde den passende afbrudsrutine. BIOS indeholder et sæt elementære input-output-rutiner, der kører relativt hurtigt, og de tilsvarende DOS-rutiner er langsommere, men deres muligheder er større (muligheden for at tilsidesætte input-output-kanaler, muligheden for at kontrollere fejl og sådan). Derfor er hardwareafbrydelse det signal, der modtages af processoren fra en anden enhed i computeren, og softwareafbrydelse er udførelsesprocessen for en BIOS- eller DOS-rutine (subroutine), der automatisk opfordres til at behandle det modtagne interrupt-signal eller opfordres til at udføre de tilhørende instruktioner.

Forskellen mellem polling og afbrydelse

Baggrund for polling og afbrydelse

I det første tilfælde kontrollerer processoren med regelmæssige tidsintervaller, om en enhed har brug for en handling. I tilfælde af afbrydelse er der en mekanisme, ved hjælp af hvilken processoren tillader den eksterne enhed (f.eks. Tastatur, lydkort osv.) At tiltrække processorens opmærksomhed.

Mekanisme til polling og afbrydelse

Afbrydelser er specielt organiserede mekanismer til kommunikation af perifere enheder. Enhederne giver CPU'en besked, hvis der er behov for en handling. Polling er protokol - CPU'en spørger enhederne regelmæssigt, om der kræves en handling.

Service af afstemning og afbrydelse

Ved polling af mikrostyringstjenesterne skal enheden være opmærksom, og derefter flyttes den til den næste enhed til overvågning. I tilfælde af afbrydelse, når et signal til afbrydelse modtages, stopper CPU'en med den aktuelle aktivitet og servicerer enheden. Tjenesterne eller den behandlede afbrydelse kaldes interrupt service routine (ISR) eller interrupt handler.

CPU

I afstemningsprocessen er CPU'en på vent og kontrollerer, om en enhed har brug for en service. Dette spilder unødigt tid. I tilfælde af afbrydelsesprocesser forstyrres CPU'en derimod kun, hvis det er nødvendigt.

Udseende af polling og afbrydelse

Enhederne kan kun polles med det regelmæssige interval, når de kontrolleres. Afbrydelse kan ske på et givet tidspunkt.

Fordele ved polling og afbrydelse

Nogle af fordelene ved polling er det relativt enkle program, transmissionssikkerhed, der finder sted med maksimal hastighed, dvs. så snart I / O-enheden er klar og ikke behovet for yderligere adgangschips. Afbrydelse er fordelagtig, fordi det kan betjene flere enheder, det er mere fleksibelt og effektivt.

Ulemper ved polling og afbrydelse

Ulemper ved polling er standby-tiden for nogle enheder, der er kortere end responstiden, og derefter skal en anden metode til transmission overføres, samt at CPU'en bruger unødvendig tid til at kontrollere enheder, der ikke har søgt efter dataoverførsel. Ulemper ved afbrydelser er kravet til mere kompleks hardware / software og tidstab indtil CPU'en fastlægger, hvilke enheder anmoder om afbrydelse.

Afstemning vs. afbrydelse: Sammenligningstabel

Oversigt over Polling Vs. Afbryde

  • I tilfælde af polling foretages en cyklisk aflæsning af enheder, der er tilsluttet en CPU. Hvis det eksterne logik-kredsløb ikke kræver service, undersøger mikrodatamaskinen det næste eksterne logiske kredsløb. Hvis en af ​​dem kræver service, skifter mikrocomputeren til at køre et program for at betjene det respektive eksterne logiske kredsløb.
  • Når mikrocomputeren afbrydes på anmodning af ekstern logik, afbryder kørslen af ​​det aktuelle program og skifter til at køre interruptprogrammet. Den afbragte struktur tillader mikroprocessoren at reagere på de asynkrone begivenheder, dvs. anmodninger fra ekstern logik, om ikke at vente i løkken til at undersøge tilstanden for det eksterne logiske kredsløb.