Pārtraukums

Pārtraukums ir gadījums, kad mikroprocesors veic kaut ko tādu, kas tam nav uzdots, jo notiek kaut kas tāds, kas nav paredzēts programmas uzdevumā. Pārtraukumi visbiežāk notiek tāpēc, ka procesors saņem signālu no aparatūras, bet tie var nākt arī no programmatūras, kas darbojas kopā ar programmu. Starp daudzajām lietām, kas var izraisīt pārtraukumus, ir taustiņu nospiešana uz tastatūras, iebūvētā taimera ieslēgšanās, datu pārsūtīšana vai jebkurš cits notikums, kas prasa tūlītēju darbību no procesora. Pārtraukumi var notikt jebkurā laikā, kad procesors izpilda programmu, neatkarīgi no tā, kurā programmas avota koda vietā tas atrodas.

Šajā diagrammā parādīts, kas notiek, kad tiek izsaukts pārtraukums.Zoom
Šajā diagrammā parādīts, kas notiek, kad tiek izsaukts pārtraukums.

Kā darbojas pārtraukumi

Par aparatūras vai programmatūras izsaukumu uz pārtraukumu (tā saukto pārtraukuma pieprasījumu jeb IRQ) rūpējas procesora "pārtraukuma apstrādātājs" vai "pārtraukuma apkalpošanas rutīna" (ISR). Tas to, ko tas dara attiecīgajā brīdī, ievieto kaudzē un pēc tam izpilda noteiktas instrukcijas, kas sistēmas vārdā veic noteiktu uzdevumu, kuram nav jābūt programmas, ko tas veic, sastāvdaļai. Kad ISR ir pabeidzis izpildīt instrukcijas, ISR paņem atpakaļ to, ko tas ir ielicis kaudzē, un turpina to, ko tas darīja pirms pārrāvuma rašanās.

Daudzi mūsdienu procesoru pārtraukšanas kontrolieri izmanto pārtraukšanas vektoru, lai šķirotu pārtraukumus, pamatojoties uz to, no kurienes tie nāk, kā arī citiem veidiem. Vektors parasti satur kodu, kas jāizpilda, kad notiek pārtraukums. ISR parasti ir atbildīgi par pārtraukuma apstrādi jeb "apkalpošanu", kā arī par paša pārtraucēja uzturēšanu darba kārtībā.

Pārtraucēju izmantošana

  • Uzdevumu aktivizēšana regulāros intervālos
  • Ārējās ierīces apkalpošana, kas var notikt jebkurā laikā.
  • Sinhronās aptaujas atcelšana
  • Operētājsistēmas (OS) darbības aktivizēšana.

Jautājumi un atbildes

J: Kas ir pārtraukums?


A: Pārtraukums ir mikroprocesora darbība, kas ārēju notikumu dēļ nav daļa no izpildāmās programmas.

J: Kas visbiežāk izraisa pārtraukumus procesorā?


A: Pārtraukumi procesorā visbiežāk rodas tāpēc, ka tiek saņemti signāli no aparatūras.

J: Vai pārtraukumus var izraisīt programmatūra?


A: Jā, pārtraukumus var izraisīt arī programmatūra, kas darbojas paralēli izpildāmajai programmai.

J: Uzskaitiet dažus notikumu piemērus, kas var izraisīt pārtraukumu.
A: Notikumu piemēri, kas var izraisīt pārtraukumu, ir taustiņu nospiešana uz tastatūras, taimera izslēgšanās un datu pārsūtīšana.

Vai pārtraukums ir atkarīgs no tā, kur tiek izpildīta programma?


A: Nē, pārtraukumi var rasties jebkurā programmas izpildes laikā neatkarīgi no tā, kurā programmas avota koda vietā tā atrodas.

J: Vai mikroprocesoram pārtraukums ir vēlams notikums?


A: Pārtraukumi mikroprocesoriem parasti ir nevēlami, jo tie traucē programmas izpildi un prasa tūlītēju uzmanību.

J: Kā mikroprocesors reaģē uz pārtraukumu?


A.: Mikroprocesors uz laiku pārtrauc izpildāmās programmas izpildi un izpilda pārtraukuma apkalpošanas rutīnu (ISR), lai apstrādātu pārtraukumu, pirms atgriežas pie izpildāmās programmas.

AlegsaOnline.com - 2020 / 2023 - License CC3