Pollaus ja keskeytys

Anonim

Tiettyinä aikoina pääprosessori lakkaa toimimasta ja tarkistaa, onko jossakin ohjaimessa viesti sille, jos se on, käsittelee sanoman ja jatkaa toimintaa. Tätä kutsutaan pollingiksi. Lisäksi on selvää, että pääprosessori tekee työnsä ja laitteet tekevät työtä. Jos laite lopettaa työnsä tai tapahtuu virhe, laite ilmoittaa pääprocessorille keskeytyspyynnön.

Mikä on Polling?

Järjestelmissä, joissa useammat ulkoiset logiikkapiirit kommunikoivat useita U / I -liitäntöjä yhden mikroprosessorin kanssa, käytetään U / I-kyselyä. Mikrotietokone ajoittain kutsuu jokaista ulkoista logiikkapiiriä ja tutkii, onko se pyytänyt palvelua. Jos ulkoinen logiikkapiiri ei vaadi huoltoa, mikrotietokone tutkii seuraavan ulkoisen logiikkapiirin jne. Jos jompikumpi niistä vaatii huoltoa, mikrotietokone siirtyy suorittamaan kyseisen ulkoisen logiikkapiirin palveleva ohjelma. U / I-siirtofunktio sisältyy ohjelmaan. Toisin sanoen, äänestys on asiakkaiden kutsumisprosessi (tietokoneet tai päätelaitteet), jotka voivat lähettää tietoja sen jälkeen, kun ne on kutsuttu (jos niillä on jotain). Jos asiakkaalla on tietoja, hän lähettää sen kyselyn jälkeen, ja jos ei ole tietoja, asiakas reagoi negatiivisesti ja palvelin soittaa seuraavalle asiakkaalle. Jotkin laitteet saattavat vaatia huoltoa ohjaajalta (esim. Kun jokin laite lopettaa mittauksen tai virheen sattuessa). Pyyntö lähetetään ohjaimelle asettamalla SRQ-rivi alhaiseksi. Kun ohjain vastaanottaa palvelupyynnön, hän kehottaa kaikkia laitteita linja-autoon etsimään laitteen, joka lähetti pyynnön.

Mikä on keskeytys?

Ohjelman suorituksen aikana mikroprosessori voi vastaanottaa keskeytyssignaalin erityisten IRQ-linjojen kautta. Keskeytys suoritetaan yleisimmin soittamalla asianmukai- seen järjestelmän aliohjelmaan keskeytyksen käsittelyyn - nämä ovat niin sanottuja BIOS- tai DOS-keskeytysrutiinikäsittelyjä. Keskeytyskäsittelyn jälkeen prosessori jatkaa keskeytynyttä ohjelmaa. Myös sovellusohjelma voi sisältää käskyn, joka vaatii BIOS- tai DOS-keskeytysrutiinin suorittamista. Input-output -toiminnot toteutetaan yleisimmin tällä tavalla. Jos esimerkiksi ohjelma haluaa tulostaa näytöllä olevan merkin, se voi soittaa soittamalla asianmukaiseen keskeytysrutiiniin. BIOS sisältää joukon elementaarisia syöttö-lähtö rutiineja, jotka toimivat suhteellisen nopeasti, ja vastaavat DOS-rutiinit ovat hitaampia, mutta niiden kyvyt ovat suuremmat (mahdollisuudet ohittaa syöttö-lähtö kanavat, mahdollisuus virheiden ja niin edelleen). Siksi laitteiston keskeytys on prosessorin vastaanottamia signaaleja toisesta tietokoneen laitteesta ja ohjelmiston keskeytys on BIOS- tai DOS-rutiinin (alirutiinin) suoritusprosessi, jota kutsutaan automaattisesti vastaanotetun keskeytyssignaalin käsittelemiseksi tai jota kutsutaan suorittamaan vastaavat ohjeet.

Ero poissaolon ja keskeytyksen välillä

Pollaamisen ja keskeytyksen tausta

Ensimmäisessä tapauksessa prosessori tarkistaa säännöllisin väliajoin, jos laite tarvitsee toiminnon. Keskeytyksessä on mekanismi, jolla prosessori sallii ulkoisen laitteen (esim. Näppäimistö, äänikortti jne.) Houkutella prosessorin huomion.

Pollauksen ja keskeytyksen mekanismi

Keskeytykset ovat erityisesti järjestettyjä välineitä oheislaitteiden kommunikointia varten. Laitteet ilmoittavat CPU: lle, jos tarvitaan toimenpidettä. Pollaus on protokolla - CPU pyytää laitteita säännöllisesti, jos toiminto vaaditaan.

Pollauksen ja keskeytyksen huolto

Kyselyssä mikrokontrolleri huolehtii laitteesta, jonka jälkeen se siirtyy seuraa- vaan laitteeseen valvontaan. Keskeytyksen tapauksessa, kun keskeytyssignaali vastaanotetaan, keskusyksikkö pysähtyy nykyisen toiminnon kanssa ja huolehtii laitteesta. Palveluihin tai käsiteltyyn keskeytykseen kutsutaan keskeytyspalvelurutiini (ISR) tai keskeytyskäsittelijä.

prosessori

Äänestysprosessissa keskusyksikkö on pidossa ja tarkistaa, onko laitteessa tarvetta palvelua. Tämä vie aikaa turhaan. Keskeytysprosessin tapauksessa keskusyksikkö häiriintyy vain tarvittaessa.

Kyselyn ja keskeytyksen ulkonäkö

Laitteita voidaan kysellä vain säännöllisin väliajoin, kun ne tarkistetaan. Keskeytyminen voi tapahtua milloin tahansa.

Pollauksen ja keskeytyksen edut

Jotkut äänestystuloksen eduista ovat suhteellisen yksinkertainen ohjelma, lähetyksen luotettavuus, joka tapahtuu suurimmalla nopeudella eli heti, kun I / O-laite on valmis ja tarvitsematta lisälaitteita. Keskeytys on hyödyllinen, koska se voi palvella useita laitteita, se on joustavampi ja tehokas.

Pollauksen ja keskeytyksen haitat

Kyselyn haitat ovat joidenkin laitteiden valmiusaika, joka on lyhyempi kuin vasteaika ja sitten toinen lähetystapa on otettava käyttöön, ja CPU käyttää tarpeetonta aikaa tarkastamaan laitteita, jotka eivät ole hakeneet tiedonsiirtoa. Häiriöiden haitat ovat vaatimus monimutkaisemmista laitteistoista / ohjelmista ja ajan menetystä, kunnes CPU määrittää, mitkä yksiköt pyytävät keskeytystä.

Polling vs. Interrupt: vertailu kaavio

Yhteenveto äänestämisestä Vs. Keskeyttää

  • Kyselyn aikana suoritetaan syklinen käsittely yhdelle suorittimelle kytketyistä laitteista. Jos ulkoinen logiikkapiiri ei vaadi huoltoa, mikrotietokone tutkii seuraavan ulkoisen logiikkapiirin. Jos jompikumpi niistä vaatii huoltoa, mikrotietokone siirtyy suorittamaan ohjelmaa palvelemaan vastaavaa ulkoista logiikkapiiriä.
  • Kun keskeytyy ulkoisen logiikan pyynnöstä, mikrotietokone keskeyttää nykyisen ohjelmansa toiminnan ja siirtyy keskeytysohjelman suorittamiseen. Keskeytetty rakenne sallii mikroprosessorin reagoivan asynkronisiin tapahtumiin, toisin sanoen ulkoisen logiikan pyyntöihin, ei odottaa silmukassa ulkoisen logiikkapiirin tilaa.