Prekinitev

O prekinitvi govorimo takrat, ko mikroprocesor naredi nekaj, kar mu ni bilo naročeno, ker se je zgodilo nekaj, kar ni bilo predvideno za program. Prekinitve se najpogosteje zgodijo, ker procesor dobi signal iz strojne opreme, lahko pa tudi iz programske opreme, ki teče skupaj s programom. Med številnimi stvarmi, ki lahko povzročijo prekinitve, so pritiskanje tipk na tipkovnici, izklop vgrajenega časovnika, prenos podatkov ali kateri koli drug dogodek, ki zahteva takojšnje ukrepanje procesorja. Prekinitve se lahko zgodijo kadar koli, ko procesor izvaja program, ne glede na to, kje v izvorni kodi programa se nahajajo.

Ta diagram prikazuje, kaj se zgodi, ko se pokliče prekinitev.Zoom
Ta diagram prikazuje, kaj se zgodi, ko se pokliče prekinitev.

Kako delujejo prekinitve

Za strojno ali programsko zahtevo po prekinitvi (znano kot zahteva za prekinitev ali IRQ) poskrbi "upravljalnik prekinitev" ali "rutina za servisiranje prekinitev" (ISR) v procesorju. Ta postavi tisto, kar v tistem trenutku počne, na zalogovnik in nato sledi določenim navodilom, ki v imenu sistema opravijo določeno nalogo, ki ni nujno del programa, ki ga izvaja. Ko ISR zaključi z izvajanjem navodil, vzame nazaj tisto, kar je dal na kup, in nadaljuje z delom, ki ga je opravljal, preden je prišlo do prekinitve.

Številni krmilniki prekinitev v današnjih procesorjih uporabljajo vektor prekinitve, s katerim med drugim razvrščajo prekinitve glede na to, od kod so prišle. Vektor običajno vsebuje kodo, ki jo je treba zagnati, ko pride do prekinitve. ISR so običajno odgovorni za obravnavo ali "servisiranje" prekinitve, skupaj z ohranjanjem samega sebe v delujočem stanju.

Uporaba prekinitev

  • sprožanje opravil v rednih časovnih presledkih
  • Servisiranje zunanje naprave, ki se lahko zgodi kadar koli.
  • Odstranitev potrebe po sinhronem anketiranju
  • sprožitev akcije v operacijskem sistemu (OS)

Vprašanja in odgovori

V: Kaj je prekinitev?


O: Prekinitev je dejanje mikroprocesorja, ki zaradi zunanjih dogodkov ni del programa, ki se izvaja.

V: Zaradi česa se prekinitve najpogosteje pojavljajo v procesorju?


O: Prekinitve se v procesorju najpogosteje pojavljajo zaradi prejemanja signalov iz strojne opreme.

V: Ali lahko prekinitve povzroči programska oprema?


O: Da, prekinitve lahko povzroči tudi programska oprema, ki teče vzporedno z izvajanim programom.

V: Naštejte nekaj primerov dogodkov, ki lahko povzročijo prekinitev.
O: Primeri dogodkov, ki lahko povzročijo prekinitev, so pritiskanje tipk na tipkovnici, izklop časovnika in prenos podatkov.

V: Ali je prekinitev odvisna od tega, kje se izvaja program?


O: Ne, prekinitve se lahko pojavijo kadar koli med izvajanjem programa, ne glede na to, kje je program v izvorni kodi.

V: Ali je prekinitev za mikroprocesor zaželen dogodek?


O: Prekinitve so za mikroprocesor običajno nezaželeni dogodki, saj prekinejo izvajanje programa in zahtevajo takojšnjo pozornost.

V: Kako se mikroprocesor odzove na prekinitev?


O: Mikroprocesor začasno prekine program, ki se izvaja, in izvede rutino za servisiranje prekinitve (ISR), da odpravi prekinitev, nato pa se vrne k programu, ki se izvaja.

AlegsaOnline.com - 2020 / 2023 - License CC3