keskeytykset voidaan toteuttaa laitteistossa erillisenä komponenttina, jossa on Ohjausjohdot, tai ne voidaan integroida muistialajärjestelmään.
Jos se on toteutettu laitteistossa erillisenä komponenttina, keskeytysohjainpiiri, kuten IBM PC: n ohjelmoitava Keskeytysohjain (PIC), voidaan kytkeä keskeyttävän laitteen ja prosessorin keskeytysnapin väliin multipleksiin useita keskeytyslähteitä yhdelle tai kahdelle tyypillisesti käytettävissä olevalle SUORITINLINJALLE. Jos se toteutetaan osana muistiohjainta, keskeytykset kartoitetaan järjestelmän muistiosoiteavaruuteen.
jaettu IRQsEdit
useat laitteet voivat jakaa reuna-aktivoidun keskeytysrivin, jos ne on suunniteltu niin. Keskeytysjohdossa on oltava alasvedettävä tai ylösvedettävä vastus siten, että kun sitä ei aktiivisesti ajeta, se asettuu passiiviseen tilaansa, joka on sen oletustila. Laitteet ilmoittavat keskeytyksen ajamalla linjan hetkeksi sen ei-oletustilaan, ja antavat linjan kellua (älä aja sitä aktiivisesti), kun ei signaloi keskeytystä. Tällaista yhteyttä kutsutaan myös avoimeksi keräilijäksi. Linja kuljettaa sitten KAIKKI kaikkien laitteiden tuottamat pulssit. (Tämä on analoginen vetonarun joissakin busseissa ja vaunuissa, että kuka tahansa matkustaja voi vetää merkiksi kuljettajalle, että he pyytävät pysähtyä.) Eri laitteiden keskeytyspulssit voivat kuitenkin yhdistyä, jos ne tapahtuvat lähellä ajassa. Menettämättömien keskeytysten välttämiseksi suorittimen on käynnistettävä pulssin takareunalla (esim.nouseva reuna, jos linja vedetään ylös ja ajetaan alas). Havaittuaan keskeytyksen suorittimen on tarkistettava kaikki laitteet huoltotarpeiden varalta.
reunojen laukaisemat keskeytykset eivät kärsi ongelmista, joita tasojen laukaisemilla keskeytyksillä on jakamisessa. Matalan prioriteetin laitteen huoltoa voidaan lykätä mielivaltaisesti, kun taas korkean prioriteetin laitteiden keskeytyksiä vastaanotetaan ja huolletaan edelleen. Jos on laite, jota suoritin ei osaa huoltaa, mikä saattaa aiheuttaa virheellisiä keskeytyksiä, se ei häiritse muiden laitteiden keskeytyssignaaleja. On kuitenkin helppoa, että reunan laukaisema keskeytys jää väliin – esimerkiksi, kun keskeytykset on naamioitu joksikin aikaa – ja ellei ole olemassa jonkinlaista laitteiston salvaa, joka tallentaa tapahtuman, on mahdotonta palauttaa. Tämä ongelma aiheutti monia” lukkoja ” varhaisissa tietokonelaitteistoissa, koska prosessori ei tiennyt, että sen odotettiin tekevän jotain. Nykyaikaisemmassa laitteistossa on usein yksi tai useampi keskeytysrekisteri, joka salpaa pyynnöt; hyvin kirjoitettu reunavetoinen keskeytyksen käsittelykoodi voi tarkistaa nämä rekisterit varmistaakseen, ettei tapahtumia jää väliin.
vanhusten Alan Standardiarkkitehtuuri (ISA)-väylä käyttää reuna-laukaisevia keskeytyksiä, ilman että laitteet voivat jakaa IRQ-linjat, mutta kaikki valtavirran Isa-emolevyt sisältävät vetovastukset IRQ-linjoillaan, joten hyvin käyttäytyvät ISA-laitteet jakavat IRQ-linjat pitäisi vain toimia hyvin. Rinnakkaisportti käyttää myös särmällä laukaistavia keskeytyksiä. Monet vanhemmat laitteet olettavat, että ne käyttävät yksinomaan IRQ-linjoja, mikä tekee niiden jakamisesta sähköisesti vaarallista.
on olemassa 3 tapaa, joilla voidaan nostaa useita laitteita ”samalle viivalle”. Ensimmäinen on yksinomainen johtuminen (kytkentä) tai yksinomainen yhteys (nastat). Seuraava on bussilla (kaikki kytketty samaan linjaan kuuntelu): kortit bussissa täytyy tietää, milloin ne ovat puhua ja ei puhua (eli ISA-Bussi). Puhuminen voidaan käynnistää kahdella tavalla: kertymäsalvalla tai logiikkaporteilla. Logiikkaportit odottavat jatkuvaa tiedonkulkua, jota seurataan keskeisten signaalien varalta. Akut käynnistyvät vain, kun etäpuoli kiihdyttää porttia kynnyksen yli, joten neuvottelunopeutta ei tarvita. Kummallakin on omat nopeutensa ja etäisyytensä. Liipaisin, yleensä, on menetelmä, jossa heräte havaitaan: nouseva reuna, laskeva reuna, kynnys (oskilloskooppi voi laukaista monenlaisia muotoja ja ehtoja).
Ohjelmistokatkosten laukaisu on rakennettava ohjelmistoon (sekä käyttöjärjestelmässä että sovelluksessa). ”C” – sovelluksessa on käynnistystaulukko (funktiotaulukko) sen otsikossa, jota sekä sovellus että käyttöjärjestelmä tietävät ja käyttävät asianmukaisesti, joka ei liity laitteistoon. Älä kuitenkaan sekoita tätä laitteistokeskeytyksiin, jotka signaloivat suorittimelle (suoritin liittää ohjelmiston funktiotaulukosta, samalla tavalla kuin ohjelmistokeskeytykset).
jakamisvaikeudet keskeytyslinjat
useat laitteet, jotka jakavat keskeytysrivin (minkä tahansa laukaisutyylin), toimivat kaikki väärinä keskeytyslähteinä suhteessa toisiinsa. Kun yhdellä linjalla on monta laitetta, huoltokatkosten työmäärä kasvaa suhteessa laitemäärän neliöön. Siksi on suotavaa levittää laitteet tasaisesti käytettävissä olevien keskeytyslinjojen yli. Keskeytyslinjojen puute on ongelma vanhemmissa järjestelmämalleissa, joissa keskeytyslinjat ovat erillisiä fyysisiä johtimia. Viestimerkittyjä keskeytyksiä, joissa keskeytyslinja on virtuaalinen, suositaan uusissa järjestelmäarkkitehtuureissa (kuten PCI Express) ja lievitetään tätä ongelmaa huomattavasti.
jotkut laitteet, joiden ohjelmointirajapinta on huonosti suunniteltu, eivät pysty mitenkään selvittämään, ovatko ne pyytäneet palvelua. Ne saattavat lukita ovensa tai muuten käyttäytyä huonosti, jos niitä huolletaan silloin, kun ne eivät sitä halua. Tällaiset laitteet eivät siedä virheellisiä keskeytyksiä, eivätkä siten myöskään voi sietää keskeytyslinjan jakamista. ISA kortit, koska usein halpa suunnittelu ja rakentaminen, ovat tunnettuja tästä ongelmasta. Tällaiset laitteet ovat tulossa paljon harvinaisempia, kun laitteistologiikka tulee halvemmaksi ja uudet järjestelmäarkkitehtuurit mandaatin jaettavissa keskeytyksiä.
HybridEdit
joissakin järjestelmissä käytetään tasolähtöisen ja reunalähtöisen signaloinnin hybridiä. Laitteisto ei ainoastaan etsi reunaa, vaan se myös varmistaa, että keskeytyssignaali pysyy aktiivisena tietyn ajan.
yleisesti käytetään hybridin keskeytystä NMI (non-maskable interrupt) – syötteelle. Koska NMIs yleensä signaali suuria – tai jopa katastrofaalisia-järjestelmän tapahtumia, hyvä toteutus tämän signaalin yrittää varmistaa, että keskeytys on voimassa varmistamalla, että se pysyy aktiivisena jonkin aikaa. Tämä 2-vaiheinen lähestymistapa auttaa poistamaan vääriä keskeytyksiä vaikuttamasta järjestelmään.
Message-signaledEdit
a message-signaled interrupts does not use a physical insurance line. Sen sijaan laite lähettää palvelupyyntönsä lähettämällä lyhyen viestin jonkin viestintävälineen, tyypillisesti tietokoneväylän kautta. Viesti voi olla keskeytyksille varattua tyyppiä, tai se voi olla jotain ennestään olemassa olevaa tyyppiä, kuten muistikirjoitus.
viestillä merkityt keskeytykset käyttäytyvät hyvin pitkälti reunasta käynnistyvien keskeytysten tavoin, sillä keskeytys on pikemminkin hetkellinen signaali kuin jatkuva tila. Keskeytys-käsittely ohjelmisto kohtelee kahta paljon samalla tavalla. Tyypillisesti useita vireillä olevia viestillä merkittyjä keskeytyksiä, joilla on sama viesti (sama virtuaalinen keskeytysrivi), voidaan yhdistää, aivan kuten lähekkäin olevat edge-laukaisevat keskeytykset voivat yhdistyä.
viestillä merkittyjä keskeytysvektoreita voidaan jakaa siinä määrin kuin taustalla oleva viestintäväline voidaan jakaa. Lisäponnistuksia ei tarvita.
koska keskeytyksen identiteetti ilmaistaan databittien kuviolla, eikä erillistä fyysistä johdinta tarvita, voidaan monia erillisiä keskeytyksiä käsitellä tehokkaasti. Tämä vähentää jakamisen tarvetta. Keskeytysviestit voidaan myös välittää sarjaväylän yli, jolloin ei tarvita ylimääräisiä linjoja.
PCI Express, sarjatietokoneväylä, käyttää yksinomaan viestimerkittyjä keskeytyksiä.
Ovikellot
tietokonejärjestelmiin sovellettavassa painonappivertauksessa termiä ovikello tai ovikellon keskeytys käytetään usein kuvaamaan mekanismia, jolla ohjelmistojärjestelmä voi ilmoittaa tai ilmoittaa tietokonelaitteelle, että tehtävää on jonkin verran. Tyypillisesti ohjelmistojärjestelmä sijoittaa tiedot joihinkin tunnettuihin ja yhteisesti sovittuihin muistipaikkoihin ja” soittaa ovikelloa ” kirjoittamalla toiseen muistipaikkaan. Tätä erilaista muistipaikkaa kutsutaan usein ovikelloalueeksi, ja tällä alueella voi olla jopa useita eri tarkoituksiin palvelevia ovikelloja. Juuri tämä muistin ovikellon alueelle kirjoittaminen ”soittaa kelloa” ja ilmoittaa laitteelle, että tiedot ovat valmiina ja odottavat. Laite tietäisi nyt, että tiedot ovat päteviä ja niiden perusteella voidaan toimia. Se tyypillisesti kirjoittaa tiedot kiintolevylle, tai lähettää ne verkon yli, tai salata ne, jne.
termi ovikellon keskeytys on yleensä harhaanjohtava. Se on samanlainen kuin keskeytys, koska se aiheuttaa jonkin verran laitteen tekemää työtä; kuitenkin ovikelloalue toteutetaan joskus kyselyalueena, joskus ovikelloalue kirjoittaa fyysisiin laiterekistereihin ja joskus ovikelloalue on sidottu suoraan fyysisiin laiterekistereihin. Kun joko kirjoitetaan fyysisten laiterekisterien kautta tai suoraan niihin, tämä voi aiheuttaa todellisen keskeytyksen laitteen keskusyksikössä (CPU), jos siinä on sellainen.
ovikellon keskeytyksiä voidaan verrata viestillä merkittyihin keskeytyksiin, koska niillä on joitakin yhtäläisyyksiä.
Multiprocessor IPIEdit
In multiprocessor systems, a processor may send an interrupt request to another processor via inter-processor interrupts (IPI).