E-gradiva > Računalništvo > Sistemi > d_okolje > 10_prekinitve > Prioriteta prekinitev

Prijava

Prioriteta prekinitev

Če nastopi več zahtev od prekinitev istočasno, mora biti jasno določen vrstni red, v katerem se bodo izvršili zahtevani prekinitveni podprogrami. Običajno imajo prekinitve različnih naprav različno pomembnost oz. prednost, prioriteto. Nekatere sistemske naprave omogočajo delovanje sistema kot celote, zato morajo imeti ob zahtevi za servisiranje prednost pred napravami, ki lahko nekoliko počakajo.

Običajno je pomembnost določena hardversko – z različno pomembnostjo priključkov, ki pripadajo različnim napravam. Določen priključek je namenjen za napravo z najvišjo prioriteto. Naprava, ki je nanj priključena, bo postrežena najprej. Na naslednji priključek po vrsti priključimo napravo, ki smo ji dodelili drugo mesto po pomembnosti. In tako dalje do zadnje, »najmanj pomembne« naprave.

»Najmanj pomembna« pomeni, da lahko najdlje počaka na strežbo. Pomembnost je določena z dodeljeno številko prekinitvene zahteve (angl. interrupt request, IRQ).

Za urejanje prekinitvenega načina strežbe ter prioritetnega vrstnega reda služijo prekinitveni krmilniki, običajno v obliki integriranega vezja.

krmilnikIRQ.PNG

Razlaga risbe

Prednostni vrstni red (prioriteta) je določen takole: naprava, ki je priključena na vhodu z nižjo številko, ima višjo prioriteto kot naprava na  vhodu z višjo številko: vhod IRQ 4 ima npr. višjo prioriteto kot vhod IRQ6. Če je na določenem vhodu (npr. na IRQ2) prvega prekinitvenega krmilnika kaskadno priključen naslednji prekinitveni krmilnik – kot na sliki, imajo njegove naprave takšno prioriteto kot ta vhod (razširjeni vhod prvega krmilnika). Če prekinitev zahteva več naprav iz drugega, kaskadnega, krmilnika, se te razvrstijo po prioriteti na enak način: višjo prioriteti ima naprava, ki je priključena na vhodu z nižjo številko.

V primeru na sliki ima najvišjo prednost naprava na vhodu IRQ0 prvega (levega) krmilnika, sledi IRQ1, nato pa po vrsti vse naprave, ki so priključene na dodatnem (desnem) krmilniku, za njimi pa naprej IRQ3, IRQ4 itd. do IRQ7 prvega krmilnika.

INT je prekinitveni signal mikroprocesorji, INTA pa odgovor mikroprocesorja krmilniku. Različnim napravam je možno dodeliti celo isti prekinitveno številko (IRQ). Če takšni napravi ne delujeta istočasno, njuni morebitni prekinitveni zahtevi ne bosta "trčili". V nasprotnem primeru govorimo o konfliktu naprav in moramo dodeliti prekinitvene oznake drugače.

Avtorji: Tea Lončarić , Andreja Vehovec, Marko Kastelic , David Drofenik, Saša Divjak, Alenka Kavčič , Matija Marolt, Marko Privošnik, Milan Podbršček, Janko Harej, Andrej Florjančič