a megszakítások megvalósíthatók a hardverben különálló komponensként vezérlő vonalakkal, vagy integrálhatók a memória alrendszerbe.
ha hardverben különálló komponensként valósítják meg, akkor egy megszakításvezérlő áramkör, például az IBM PC programozható Megszakításvezérlője (PIC) csatlakoztatható a megszakító eszköz és a processzor megszakító tűje között, hogy több megszakítási forrást multiplexeljen a jellemzően elérhető egy vagy két CPU-vonalra. Ha a memóriavezérlő részeként valósul meg, a megszakítások a rendszer memóriacímterébe vannak leképezve.
megosztott IRQsEdit
Több eszköz megoszthatja az él által kiváltott megszakítási vonalat, ha arra tervezték őket. A megszakítási vonalnak rendelkeznie kell egy lehúzó vagy felhúzó ellenállással, hogy ha nem aktívan hajtja, akkor inaktív állapotba kerüljön, amely az alapértelmezett állapota. Az eszközök úgy jeleznek egy megszakítást, hogy a vonalat rövid ideig a NEM alapértelmezett állapotba vezetik, és hagyják lebegni a vonalat (ne vezessék aktívan), ha nem jeleznek megszakítást. Ezt a típusú kapcsolatot nyitott kollektornak is nevezik. A vonal ezután az összes eszköz által generált összes impulzust hordozza. (Ez hasonlít néhány busz és kocsi húzózsinórjához, amelyet bármely utas húzhat, hogy jelezze a sofőrnek, hogy megállást kér.) A különböző eszközök megszakító impulzusai azonban egyesülhetnek, ha időben közel fordulnak elő. A megszakítások elvesztésének elkerülése érdekében a CPU-nak az impulzus hátsó szélén kell aktiválódnia (pl. az emelkedő él, ha a vonalat felfelé húzzák és alacsonyan hajtják). A megszakítás észlelése után a CPU-nak ellenőriznie kell az összes eszközt a szolgáltatási követelmények szempontjából.
Az él által kiváltott megszakítások nem szenvednek olyan problémákat, mint a szint által kiváltott megszakítások a megosztással. Az alacsony prioritású eszközök kiszolgálása önkényesen elhalasztható, míg a magas prioritású eszközök megszakításai továbbra is fogadhatók és javíthatók. Ha van olyan eszköz, amelyet a CPU nem tud kiszolgálni, ami hamis megszakításokat okozhat, akkor nem zavarja más eszközök megszakítási jelzését. Azonban könnyű kihagyni egy él által kiváltott megszakítást – például amikor a megszakításokat egy időszakra maszkolják -, és hacsak nincs valamilyen hardver retesz, amely rögzíti az eseményt, lehetetlen helyreállítani. Ez a probléma sok “zárolást” okozott a korai számítógépes hardverekben, mert a processzor nem tudta, hogy várhatóan tesz valamit. A modernebb hardvereknek gyakran van egy vagy több megszakítási állapotregisztere, amely a retesz megszakítja a kéréseket; a jól megírt élvezérelt megszakításkezelő kód ellenőrizheti ezeket a regisztereket, hogy megbizonyosodjon arról, hogy egyetlen esemény sem marad el.
az idős ipari szabványos architektúra (ISA) busz él által kiváltott megszakításokat használ, anélkül, hogy előírná, hogy az eszközök képesek legyenek megosztani az IRQ vonalakat, de az összes mainstream isa alaplap tartalmaz felhúzó ellenállásokat az IRQ vonalakon, így az IRQ vonalakat megosztó jól viselkedő ISA-eszközöknek csak jól kell működniük. A párhuzamos port él által kiváltott megszakításokat is használ. Sok régebbi eszköz feltételezi, hogy kizárólag az IRQ vonalakat használják, így elektromosan nem biztonságos megosztani őket.
3 módja van annak, hogy több eszköz” ugyanazt a vonalat osztja meg”. Először kizárólagos vezetéssel (kapcsolással) vagy exkluzív csatlakozással (csapokhoz). A következő a busz (mind ugyanarra a vonalra csatlakozik): a buszon lévő kártyáknak tudniuk kell, mikor kell beszélni, nem pedig beszélni (azaz az ISA busz). A beszélgetést kétféle módon lehet kiváltani: felhalmozódó retesszel vagy logikai kapukkal. A logikai kapuk folyamatos adatáramlást várnak el, amelyet a legfontosabb jelek nyomon követnek. Az akkumulátorok csak akkor aktiválódnak, ha a távoli oldal egy küszöbön túl gerjeszti a kaput, így nincs szükség egyeztetett sebességre. Mindegyiknek megvan a sebessége a távolság előnyeivel szemben. A trigger általában az a módszer, amelyben a gerjesztést észlelik: emelkedő él, leeső él, küszöb (az oszcilloszkóp sokféle formát és feltételt válthat ki).
a szoftver megszakításainak kiváltását be kell építeni a szoftverbe (mind az operációs rendszerben, mind az alkalmazásban). A ‘ C ‘ alkalmazás fejlécében van egy trigger tábla (a funkciók táblázata), amelyet mind az alkalmazás, mind az operációs rendszer ismer, és megfelelően használ, amely nem kapcsolódik a hardverhez. Ezt azonban ne tévessze össze a CPU-t jelző hardveres megszakításokkal (a CPU a szoftver megszakításokhoz hasonlóan a funkciók táblázatából fogadja el a szoftvert).
A megszakítási vonalak megosztásának Nehézségeszerkesztés
Több (bármilyen kiváltó stílusú) megszakítási vonalat megosztó eszköz egymással szemben hamis megszakítási forrásként működik. Ha sok eszköz van egy sorban, a Szervizelési megszakítások munkaterhelése az eszközök számának négyzetével arányosan növekszik. Ezért előnyös, ha az eszközöket egyenletesen osztják el a rendelkezésre álló megszakítási vonalakon. A megszakítási vonalak hiánya problémát jelent a régebbi rendszertervekben, ahol a megszakítási vonalak különálló fizikai vezetők. Az üzenetjelzett megszakítások, ahol a megszakítási vonal virtuális, előnyben részesülnek az új rendszerarchitektúrákban (például a PCI Express), és jelentős mértékben enyhítik ezt a problémát.
néhány rosszul megtervezett programozási felülettel rendelkező eszköz nem tudja megállapítani, hogy kért-e szolgáltatást. Lehet, hogy bezárnak, vagy más módon rosszul viselkednek, ha kiszolgálják, amikor nem akarják. Az ilyen eszközök nem tolerálják a hamis megszakításokat, így nem tolerálják a megszakítási vonal megosztását sem. Az ISA kártyák a gyakran olcsó tervezés és kivitelezés miatt hírhedtek erről a problémáról. Az ilyen eszközök egyre ritkábbak, mivel a hardverlogika olcsóbbá válik, az új rendszerarchitektúrák pedig megosztható megszakításokat írnak elő.
HybridEdit
egyes rendszerek a szintindító és az élindító jelzés hibridjét használják. A hardver nemcsak éleket keres, hanem azt is ellenőrzi, hogy a megszakítási jel egy bizonyos ideig aktív marad-e.
a hibrid megszakítás általános használata az NMI (nem maszkolható megszakítás) bemenetre vonatkozik. Mivel az NMI-k általában jelentős – vagy akár katasztrofális-rendszereseményeket jeleznek, ennek a jelnek a megfelelő megvalósítása megpróbálja biztosítani a megszakítás érvényességét annak ellenőrzésével, hogy egy ideig aktív marad-e. Ez a 2 lépéses megközelítés segít kiküszöbölni a hamis megszakításokat a rendszerre.
Message-signaledEdit
az üzenetjelzett megszakítás nem használ fizikai megszakítási Sort. Ehelyett egy eszköz egy rövid üzenet küldésével jelzi a szolgáltatás iránti kérelmét valamilyen kommunikációs adathordozón, általában egy számítógépes buszon keresztül. Az üzenet lehet a megszakítások számára fenntartott típus, vagy lehet valamilyen már létező típus, például memória írás.
az üzenettel jelzett megszakítások nagyon hasonlítanak az él által kiváltott megszakításokra, mivel a megszakítás inkább pillanatnyi jel, mint folyamatos állapot. Megszakításkezelő szoftver kezeli a két nagyjából azonos módon. Általában több függőben lévő üzenet által jelzett megszakítás ugyanazzal az üzenettel (ugyanaz a virtuális megszakítási vonal) egyesíthető, ugyanúgy, mint a szorosan elhelyezett él által kiváltott megszakítások.
az üzenettel jelzett megszakítási Vektorok megoszthatók, amennyiben az alapul szolgáló kommunikációs közeg megosztható. Nincs szükség további erőfeszítésre.
mivel a megszakítás azonosságát adatbitek mintája jelzi, amelyek nem igényelnek külön fizikai vezetőt, sokkal több különálló megszakítást lehet hatékonyan kezelni. Ez csökkenti a megosztás szükségességét. A megszakítási üzenetek soros buszon is továbbíthatók, nem igényelnek további sorokat.
a PCI Express, egy soros számítógépes busz, kizárólag üzenetjelzett megszakításokat használ.
Doorbeledit
a számítógépes rendszerekre alkalmazott nyomógomb-analógiában az ajtócsengő vagy az ajtócsengő megszakítása kifejezést gyakran használják egy olyan mechanizmus leírására, amelynek során a szoftverrendszer jelezheti vagy értesítheti a számítógépes hardvereszközt arról, hogy van némi tennivaló. Általában a szoftverrendszer néhány jól ismert és kölcsönösen elfogadott memóriahelyre helyezi az adatokat, és egy másik memóriahelyre írva “csenget”. Ezt a különböző memóriahelyet gyakran ajtócsengő régiónak nevezik, sőt több ajtócsengő is lehet, amelyek különböző célokat szolgálnak ebben a régióban. Ez az írás a memória csengő régiójába “csenget”, és értesíti a hardvereszközt, hogy az adatok készen állnak és várnak. A hardvereszköz most már tudja, hogy az adatok érvényesek és kezelhetők. Általában az adatokat merevlemez-meghajtóra írja, vagy hálózaton keresztül küldi el, vagy titkosítja stb.
az ajtócsengő megszakítása kifejezés általában helytelen elnevezés. Hasonló a megszakításhoz, mert az eszköz némi munkát végez; az ajtócsengő régiót azonban néha lekérdezett régióként valósítják meg, néha az ajtócsengő régió átír a fizikai eszközregiszterekre, néha pedig az ajtócsengő régió közvetlenül a fizikai eszközregiszterekhez van bekötve. Ha fizikai eszközregisztereken keresztül vagy közvetlenül ír, ez valódi megszakítást okozhat az eszköz központi processzoregységén (CPU), ha van ilyen.
a csengő megszakításai összehasonlíthatók az üzenet által jelzett megszakításokkal, mivel vannak hasonlóságok.
Multiprocessor IPIEdit
In multiprocessor systems, a processor may send an interrupt request to another processor via inter-processor interrupts (IPI).