Sunteți pe pagina 1din 1

Marius Dobrin D'ale microprocesoarelor: ntreruperi Un microprocesor are un numr de pini cu funcia de ntrerupere.

Ei pot fi conectai la anumite circuite electronice dintr-un ansamblu, circuite care, la un moment dat, simt nevoia s intervin n funcionarea programului i s-i exprime o anumit dorin. Pinii de ntrerupere ai procesorului sunt ierarhi ai. !ie din construcie, catalogul preci "nd care e mai important i care mai puin, fie prin programare. #el care scrie programul trebuie s aib gri$ s preci e e care intrare %care pin& este mai important i care nu, ntr-o aa numit 'ordine de btaie(, ca s folosesc o expresie militar. )ceast ierarhi are e obligatorie, pentru a exista o regul simpl de gestionare a situaiei, n care dou sau mai multe circuite din exterior vor s ntrerup funcionarea procesorului, simultan. #ircuitul conectat la pinul desemnat cu grad mai mare de prioritate dec"t restul i vede cererea de ntrerupere luat n seam. #elelalte cereri de ntrerupere sunt re olvate abia dup ce s-a re olvat cererea cu prioritate mai mare. *e recomand ca programul microprocesorului s fie de aa natur nc"t s nu lungeasc inutil timpul de tratare a unei ntreruperi, tocmai pentru a a$unge c"t mai repede la o eventual cerere de prioritate mai sc ut. +ratarea ntreruperii e bine s presupun strict operaiunile absolut necesare a fi executate imediat, pentru restul set"nd un flag care s semnali e e ulterior, c"nd nu mai e nicio grab, despre cererea respectiv iar operaiunile respective, care nu sunt urgente, s fie efectuate i ele. #"nd apare o cerere de ntrerupere, sistemul de gestiune decide pe care o ia n seam la momentul respectiv. *e salvea , ntr-un loc anume, contextul de la acel moment %n ce punct al programului a$unsese, coninutul locaiilor de memorie ale procesorului, care era n plin proces de efectuare a unor operaii&, totul pentru ca dup re olvarea cererii s se revin la contextul anterior i s se continue desfurarea fr perturbare. ,ac n timpul tratrii unei ntreruperi apare o alt cerere, de prioritate mai mare, aceasta din urm este luat n seam imediat i se crea un nou nivel de salvare a contextului. )stfel nc"t dup re olvarea cererii de prioritate mare se revine la contextul cererii de prioritate mai mic i abia apoi, n final, la contextul programului curent. )v"nd n vedere c"te conexiuni fi ice de ntrerupere exist pentru un microprocesor, se are n vedere posibilitatea de a salva tot at"tea contexte, ncuibate. Un microprocesor are i un pin special, care permite o ntrerupere cu prioritate absolut, -./ %non-mas0able interrupt&. ,ac proiectantul schemei cu microprocesor consider c are nevoie de el, l va conecta acolo unde pot aprea evenimente ce trebuie tratate imediat, fr nicio posibilitate de a fi ignorate. Pentru c ntreruperile u uale, chiar dac sunt fi ic pe nivelul cel mai prioritar, pot fi ignorate de programator, pot fi mascate. -./ este imediat luat n seam, n orice context. ,ac facem zoom, pentru ca ntreruperea -./ s fe funcional, e de-a$uns ca pe pinul respectiv semnalul s fie activ %1 logic sau 2 logic, dup cum lucrea , n logic po itiv sau n logic negativ& un minim de timp %poate microsecunde, poate mai puin&, c"t au nevoie circuitele electronice interne ale microprocesorului spre a sesi a. Un fel de beep. 3ntreruperile pot fi prev ute i cu un circuit intermediar care memorea cererea, circuit util atunci c"nd cererea e de scurt durat i ntreruperea de nivel redus, nc"t s-ar putea pierde p"n s-i vin r"ndul la tratare. )tunci intermediarul rm"ne acolo, n coada de ateptare, cu cererea. .ecanismul de ntrerupere e util pentru tratarea c"t mai rapid a unor evenimente de care programul trebuie s in seama %indiferent de natura evenimentului, fie o variaie a unor parametri precum4 temperatura, presiunea, tensiunea, fie comutarea de pe o stare logic pe alta, fie o vite mai mare sau mai mic&. Uneori, dac factorul timp nu contea , se mai obinuiete i sistemul polling, n care programul principal are gri$ i chestionea periodic acele elemente din sistem care pot suferi variaii %cam ca n gluma aceea cu anunul pe o poart4 nu sunai, ies eu din c"nd n c"nd&.

S-ar putea să vă placă și