Pertraukimas

Pertraukimas - tai kai mikroprocesorius atlieka veiksmus, kurių jam nebuvo liepta atlikti dėl dalykų, kurie vyksta ne pagal programos paskirtį. Dažniausiai pertraukimai įvyksta dėl to, kad procesorius gauna signalą iš aparatinės įrangos, tačiau juos gali sukelti ir kartu su programa veikianti programinė įranga. Tarp daugelio dalykų, galinčių sukelti pertraukimus, yra klaviatūros klavišų paspaudimas, integruoto laikmačio suveikimas, duomenų perdavimas arba bet koks kitas įvykis, dėl kurio procesorius turi tuoj pat imtis veiksmų. Pertraukimai gali įvykti bet kuriuo metu, kai procesorius vykdo programą, nesvarbu, kurioje programos šaltinio kodo vietoje jie yra.

Šioje diagramoje parodyta, kas vyksta, kai iškviečiamas pertraukimasZoom
Šioje diagramoje parodyta, kas vyksta, kai iškviečiamas pertraukimas

Kaip veikia pertraukikliai

Aparatinės ar programinės įrangos reikalavimu pertraukti (vadinamuoju pertraukos užklausa arba IRQ) rūpinasi procesoriaus "pertraukos tvarkyklė" arba "pertraukos aptarnavimo programa" (ISR). Ji į steką įrašo tai, ką tuo metu daro, ir tada vykdo tam tikras instrukcijas, pagal kurias sistemos vardu atlieka tam tikrą užduotį, kuri nebūtinai turi būti jos vykdomos programos dalis. Baigusi vykdyti instrukcijas, ISR pasiima atgal tai, ką įdėjo į steką, ir toliau tęsia tai, ką darė prieš įvykstant pertraukai.

Daugelyje šiuolaikinių procesorių pertraukimo valdiklių pertraukimo vektorius naudojamas pertraukimo vektoriui rūšiuoti, be kita ko, pagal tai, iš kur jis atėjo. Vektoriuje paprastai yra kodas, kuris turi būti vykdomas įvykus pertraukai. ISR paprastai yra atsakingi už pertraukimo tvarkymą arba "aptarnavimą", kartu su savęs palaikymu darbinėje būsenoje.

Pertraukiklių naudojimas

  • Užduočių paleidimas reguliariais intervalais
  • Išorinio įrenginio aptarnavimas, kuris gali įvykti bet kuriuo metu
  • Pašalinti sinchroninės apklausos poreikį
  • Operacinės sistemos (OS) veiksmų inicijavimas

Klausimai ir atsakymai

K: Kas yra pertraukimas?


Atsakymas: Pertraukimas - tai mikroprocesoriaus atliekamas veiksmas, kuris nėra vykdomos programos dalis dėl išorinių įvykių.

K: Dėl ko dažniausiai procesoriuje įvyksta pertrūkiai?


A: Dažniausiai pertraukimai procesoriuje atsiranda dėl signalų gavimo iš aparatinės įrangos.

K: Ar pertraukimus gali sukelti programinė įranga?


A: Taip, pertraukimus gali sukelti ir programinė įranga, kuri veikia lygiagrečiai su vykdoma programa.

K: Išvardykite keletą įvykių, kurie gali sukelti pertraukimą, pavyzdžių.
A: Įvykių, galinčių sukelti pertraukimą, pavyzdžiai: klaviatūros klavišų paspaudimas, laikmačio suveikimas ir duomenų perdavimas.

K: Ar pertraukimas priklauso nuo to, kur vykdoma programa?


A: Ne, pertraukimai gali įvykti bet kuriuo programos vykdymo metu, neatsižvelgiant į tai, kurioje programos kodo vietoje ji yra.

K: Ar pertraukimas yra pageidaujamas mikroprocesoriaus įvykis?


A: Paprastai pertraukimai yra nepageidaujami mikroprocesoriaus įvykiai, nes jie sutrikdo programos vykdymą ir reikalauja neatidėliotino dėmesio.

K: Kaip mikroprocesorius reaguoja į pertraukimą?


A: Mikroprocesorius laikinai sustabdo vykdomą programą ir, prieš grįždamas prie vykdomos programos, įvykdo pertraukos aptarnavimo procedūrą (ISR), kad sutvarkytų pertrauką.

AlegsaOnline.com - 2020 / 2023 - License CC3