недеља, 25. децембар 2011.

Maskiranje i prioriteti interapta


U nekim slucajevima potrebno je spreciti izvrsavanje interapta bez obzira na postojanje zahteva. To se vrsi postupkom  maskiranja interapta. Uobicajeno je da za tu svrhu procesor ima registar za maskiranje interapta.
Ako je bit M u mask registru programski postavljen na 0 CPU nece dobiti zahtev za interaptom zato sto je IRQ blokiran na " I " kolu. Ako je bit M postavljen na 1 interapt je omogucen. Postupak omogucavanja interapta vrsi se tokom podizanja sitema nakon ukljucivanja napajanja odnosno procesor inicijalizacije.
Neki interapti spadaju u klasu ne maskirajucih interapta ( NMI - Non Mascable Interrupt ) to znaci da se oni uvek izvrsavaju kad god se pojavi zahtev.
Tokom izvrsavanja nekog interapta moze da se javi zahtev za izvrsavanjem nekog drugog interapta, interapt u interaptu - nested interrupts. Ovakva situacija se izvrsava prioritetima interapta, izvrsice se onaj interapt koji ima visi prioritet. (Dolazeci interapt ako je nizeg prioriteta sacekace da se izvrsi tekuci interapt ili ce prekinuti tekuci interapt ako je dolazeci viseg prioriteta).
Kod nekih procesora postoji automatsko maskiranje svih drugih interapta cim neki interapt pocne da se izvrsava . Nakon njegovog zavrsetka bira se interapt najviseg prioriteta. Ovakvu semu moze da promeni programer zavisno od problema koji resava.

Нема коментара:

Постави коментар