keskeytys on laitteiston tai ohjelmiston lähettämä signaali, kun prosessi tai tapahtuma tarvitsee välitöntä huomiota. Se varoittaa käsittelijää erittäin tärkeästä prosessista, joka edellyttää nykyisen työprosessin keskeyttämistä. I / O-laitteissa Yksi väylän ohjausjohdoista on omistettu tähän tarkoitukseen ja sitä kutsutaan Keskeytyspalvelurutiiniksi (ISR).
kun laite herättää keskeytyksen lets say process i: ssä, suoritin suorittaa ensin käskyn I suorituksen. sitten se lataa OHJELMALASKURIN (PC) ISR: n ensimmäisen käskyn osoitteella. Ennen kuin ohjelmalaskuri Ladataan osoitteella, keskeytetyn opetuksen osoite siirretään väliaikaiseen paikkaan. Siksi keskeytyksen käsittelyn jälkeen prosessori voi jatkaa prosessia i + 1.
suorittimen käsitellessä keskeytyksiä sen on ilmoitettava laitteelle, että sen pyyntö on tunnistettu, jotta se lakkaa lähettämästä keskeytyspyyntösignaalia. Myös rekisterien tallentaminen siten, että keskeytetty prosessi voidaan palauttaa tulevaisuudessa, lisää viivettä keskeytyksen vastaanottamisen ja ISR: n suorittamisen alkamisen välillä. Tätä kutsutaan Keskeytyslattenssiksi.
Laitteistokeskeytykset:
laitteistokeskeytyksessä kaikki laitteet on kytketty Keskeytyspyyntöriviin. Kaikille n-laitteille käytetään yhtä pyyntöriviä. Pyydettäessä keskeytystä laite sulkee siihen liittyvän kytkimensä. Kun laite pyytää keskeytyksiä, intr: n arvo on looginen tai yksittäisten laitteiden pyynnöt.
IRQ: n käsittelyyn liittyvät tapahtumat:
- laitteet nostavat IRQ: n.
- suoritin keskeyttää parhaillaan suoritettavan ohjelman.
- laitteelle ilmoitetaan, että sen pyyntö on tunnistettu ja laite deaktivoi pyyntösignaalin.
- pyydetty toimenpide suoritetaan.
- keskeytys on käytössä ja keskeytettyä ohjelmaa jatketaan.
useiden laitteiden käsittely:
kun useampi kuin yksi laite herättää keskeytyspyyntösignaalin, tarvitaan lisätietoja, jotta voidaan päättää, mitä laitetta tarkastellaan ensin. Seuraavia menetelmiä käytetään valitsemaan laite: Polling, Vectored keskeytykset, ja keskeyttää pesintä. Nämä selitetään seuraavasti alla.
- Polling:
pollingissa ensimmäinen IRQ-bittijoukolla kohdattu laite on laite, joka huolletaan ensin. Asianmukainen ISR kutsutaan palvelukseen sama. Se on helppo toteuttaa, mutta paljon aikaa menee hukkaan kuulustelemalla kaikkien laitteiden IRQ-bittiä. - Vektoroidut keskeytykset:
vektoroiduissa keskeytyksiä pyytävä laite tunnistaa itsensä suoraan lähettämällä prosessorille erikoiskoodin väylän yli. Näin suoritin pystyy tunnistamaan häiriön aiheuttaneen laitteen. Erikoiskoodi voi olla ISR: n lähtöosoite tai missä ISR sijaitsee muistissa, ja sitä kutsutaan keskeytysvektoriksi. - keskeytä pesintä:
tässä menetelmässä I / O-laite on järjestetty prioriteettirakenteeseen. Näin ollen keskeytyspyyntö korkeamman prioriteetin laitteesta tunnistetaan, jos pyyntö alemman prioriteetin laitteesta ei ole. Tämän toteuttamiseksi jokainen prosessi / laite (jopa prosessori). Prosessori hyväksyy keskeytykset vain laitteista / prosesseista, joilla on sitä tärkeämpi prioriteetti.
suorittimien prioriteetti on koodattu muutamiin bitteihin PS (Process Status register). Sitä voi muuttaa PS: ään kirjoitettavilla OHJELMAOHJEILLA. Prosessori on valvotussa tilassa vain käyttöjärjestelmän rutiineja suoritettaessa. Se siirtyy käyttäjätilaan ennen sovellusohjelmien suorittamista.
huomio lukija! Älä lopeta oppimista nyt. Hanki kaikki tärkeät CS Theory-käsitteet SDE: n haastatteluihin CS Theory-kurssilla opiskelijaystävälliseen hintaan ja tule teollisuuskelpoiseksi.