Ce este o întrerupere: tipuri și aplicațiile sale

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





PC-urile utilizează cereri de întrerupere pentru a gestiona diferite funcții hardware. Întreruperile hardware au fost introduse pentru prima dată de UNIVAC 1103 în 1953. Prima incidență a mascării întreruperilor a fost încorporată de IBM 650 în 1954. Este esențial să atribuiți IRQ-uri diferite dispozitivelor hardware diferite pentru a îndeplini diferite funcții. În timpul executării programului, dispozitivele cum ar fi tastaturile, un mouse necesită servicii de CPU și generează o întrerupere pentru a atrage atenția de la CPU și a procesa serviciul solicitat. Acestea sunt cunoscute sub numele de întrerupe . Unul dintre autobuzele dispozitivului I / O dedicat acestui scop este cunoscut sub numele de rutină de întrerupere a serviciului (ISR). Acestea sunt folosite în diverse aplicații, cum ar fi pentru evenimente sensibile la timp, transfer de date, accentuarea evenimentelor anormale, cronometre de supraveghere, capcane etc.

Ce este o întrerupere?

Definiție: Este denumită intrare semnal care are cea mai mare prioritate pentru evenimentele hardware sau software care necesită procesarea imediată a unui eveniment. În primele zile de calcul, procesor a trebuit să aștepte semnalul pentru a procesa orice evenimente. Procesorul ar trebui să verifice fiecare program hardware și software pentru a înțelege dacă există vreun semnal de procesat. Această metodă ar consuma mai multe cicluri de ceas și face procesorul ocupat. Doar în cazul în care, dacă s-ar genera un semnal, procesorul ar lua din nou ceva timp pentru a procesa evenimentul, ducând la performanțe slabe ale sistemului.




A fost introdus un nou mecanism pentru a depăși acest proces complicat. În acest mecanism, hardware-ul sau software-ul va trimite semnalul către un procesor, mai degrabă decât un procesor care verifică orice semnal de la hardware sau software. Semnalul alertează procesorul cu cea mai mare prioritate și suspendă activitățile curente prin salvarea stării și funcției sale actuale și procesează întreruperea imediat, aceasta fiind cunoscută sub numele de ISR. Deoarece nu durează mult, procesorul repornește activitățile normale imediat ce este procesat.

Întrerupe

Întrerupe



Tipuri de întreruperi

Acestea sunt clasificate în două tipuri principale.

Întreruperi hardware

Un semnal electronic trimis de la un dispozitiv sau hardware extern pentru a comunica cu procesorul care indică faptul că necesită atenție imediată. De exemplu, loviturile de la o tastatură sau o acțiune de la un mouse invocă întreruperile hardware, determinând procesorul să o citească și să o proceseze. Deci, ajunge în mod asincron și în orice moment al timpului în timp ce executați o instrucțiune.

Întreruperile hardware sunt clasificate în două tipuri


  • Întreruperi mascabile - Procesoarele trebuie să întrerupă registrul de mască care permite activarea și dezactivarea întreruperilor hardware. Fiecare semnal are un pic plasat în registrul de mască. Dacă acest bit este setat, o întrerupere este activată și dezactivată atunci când un bit nu este setat, sau invers. Semnalele care întrerup procesorul prin aceste măști sunt denumite întreruperi mascate.
  • Întreruperi nemascabile (NMI) - NMI-urile sunt activitățile cu cea mai mare prioritate, care trebuie procesate imediat și în orice situație, cum ar fi un semnal de expirare generat de un temporizator de pază.

Software-ul se întrerupe

Însuși procesorul solicită o întrerupere a software-ului după executarea anumitor instrucțiuni sau dacă sunt îndeplinite anumite condiții. Acestea pot fi o instrucțiune specifică care declanșează o întrerupere, cum ar fi apelurile subrutine și pot fi declanșate în mod neașteptat din cauza erorilor de execuție a programului, cunoscute sub numele de excepții sau capcane.

Metode de declanșare

În general, aceste semnale sunt proiectate să se declanșeze folosind fie un nivel de semnal logic, fie o margine de semnal. Aceste metode sunt de două tipuri.

Întrerupere declanșată de nivel

În acest tip, modulul de intrare invocă o întrerupere dacă se afirmă nivelul de serviciu al acestuia. Dacă o sursă de întrerupere continuă să fie afirmată atunci când manipulatorul de întrerupere a firmware-ului îl gestionează, acest modul se regenerează și declanșează handlerul să apeleze din nou. Intrările declanșate la nivel nu sunt bune dacă rămân afirmate pe o durată mai lungă.

Întrerupere declanșată de margine

Un modul de intrare de întrerupere declanșat de margine invocă o întrerupere de îndată ce identifică o margine de afirmare - o margine în cădere sau în ascensiune. Marginea devine observată atunci când nivelul sursei se schimbă. Acest tip de declanșare necesită acțiuni imediate, indiferent de activitatea sursei.

Declanșare la nivel de margine

declanșare nivel-margine

Implementarea sistemului

Întreruperile se aplică hardware-ului ca o componentă diferită împreună cu liniile de control sau integrat în memorie subsisteme. Când implementarea este realizată în hardware, are nevoie de un controler de întrerupere programabil (PCI) pentru a se conecta între pinul de intrare al procesorului și dispozitivul de întrerupere. PCI multiplexează diverse surse de întrerupere la linia CPU simplă sau dublă. Când este implementat referitor la controlerul de memorie, slotul de adresă de memorie al sistemului este mapat direct cu întreruperile.

Cereri de întrerupere partajate (IRQ)

Cu întrerupere declanșată de margine, un pull-up sau un pull-down rezistor este folosit pentru a conduce linia de întrerupere. Această linie transmite fiecare impuls produs de fiecare dispozitiv. Dacă impulsurile de întrerupere generate de diferite dispozitive se întâmplă aproape în timp, CPU trebuie să invoce o margine de ieșire a impulsului pentru a nu pierde întreruperile, după care CPU asigură inspectarea fiecărui dispozitiv pentru solicitări de service. O placă de bază de arhitectură standard industrială (ISA) cu comportamente bune, cu rezistențe de tracțiune care au linii IRQ partajate, trebuie să funcționeze bine. Cu toate acestea, mai multe dispozitive care partajează linia IRQ în sisteme mai vechi, cu o interfață de programare slab concepută, face dificilă procesarea întreruperilor. Pe de altă parte, o nouă arhitectură de sistem, cum ar fi PCI, ajută la reducerea considerabilă a acestei probleme.

Hibrid

Un tip hibrid de implementare a sistemului are o combinație atât de semnalizare declanșată de margine, cât și de nivel de declanșare. Hardware-ul trebuie să caute o margine și, de asemenea, verifică dacă un semnal este activ pentru o anumită perioadă. Un tip hibrid este utilizat în mod obișnuit pentru intrarea de întrerupere nemascabilă (NMI), care asigură faptul că întreruperile false nu afectează sistemul.

Mesaj - Semnalizat

O cerere de întrerupere semnalizată printr-un mesaj folosind semnalele dispozitivului prin transmiterea unui mesaj pe un comunicare canal, cum ar fi un computer autobuz . Acestea nu folosesc o linie de întrerupere fizică. PCI Express acționează ca o magistrală serial și este utilizat exclusiv ca întreruperi semnalate prin mesaj.

Soneria

Întreruperea soneriei este frecvent utilizată ca mecanism de către un sistem software pentru a semnaliza hardware-ul computerului pentru a finaliza lucrarea. La acordul reciproc între hardware și software, software-ul plasează datele în locația de memorie cunoscută și sună la sonerie pentru a notifica hardware-ului că datele sunt gata și așteaptă să fie procesate. Acum, dispozitivul hardware al computerului înțelege că datele sunt valide și le procesează în consecință.

Multiprocesor IPI

Sistemele multiprocesor, o cerere de întrerupere de la un procesor este trimisă unui alt procesor prin întreruperi inter-procesor (IPI)

Utilizări / aplicații tipice

Acestea sunt intrări puternice obișnuite

  • Deserviți cronometrele hardware, gestionați loviturile tastaturii și acțiunile mouse-ului
  • Răspundeți rapid la evenimente sensibile la timp sau în timp real
  • Transfer de date către și de la dispozitive periferice
  • Răspunde la sarcini cu prioritate ridicată, cum ar fi semnalele de oprire, capcane și temporizatoare de supraveghere
  • Indică evenimente anormale ale procesorului
  • Întreruperea de oprire prevede pierderea de energie, permițând oprirea ordonată a sistem
  • Întreruperi periodice pentru a urmări timpul absolut

Întrebări frecvente

1). De ce sunt folosite întreruperile?

Acestea sunt folosite pentru a atrage atenția procesorului pentru a efectua servicii solicitate fie de hardware, fie de software.

2). Ce este NMI?

NMI este o întrerupere care nu poate fi mascată, care nu poate fi ignorată sau dezactivată de procesor

3). Care este funcția liniei de confirmare a întreruperii?

Procesorul trimite un semnal către dispozitive indicând faptul că este gata să primească întreruperi.

4). Descrieți întreruperea hardware. Dă exemple

Acesta este generat de un dispozitiv extern sau hardware, cum ar fi tastele tastaturii sau mișcarea mouse-ului invocă întreruperile hardware

5). Descrieți întreruperea software-ului.

Este definit ca o instrucțiune specială care invocă o întrerupere, cum ar fi apelurile subrutine. Întreruperile software-ului pot fi declanșate în mod neașteptat din cauza erorilor de execuție a programului

6). Care întrerupere are cea mai mare prioritate?

  • Declanșat marginea și nivelul nemascabil
  • TRAP are cea mai mare prioritate

7). Dați câteva utilizări ale întreruperii

  • Răspundeți rapid la evenimente sensibile la timp sau în timp real
  • Transfer de date către și de la dispozitive periferice
  • Răspunde la sarcini cu prioritate ridicată, cum ar fi semnalele de oprire, capcane și temporizatoare de supraveghere
  • Indică evenimente anormale ale procesorului

8). Ce este un tip hibrid de implementare a sistemului?

Un tip hibrid de implementare a sistemului are o combinație atât de semnalizare declanșată de margine, cât și de nivel de declanșare. Hardware-ul trebuie să caute o margine și, de asemenea, verifică dacă un semnal este activ pentru o anumită perioadă.

În acest articol, am înțeles importanța întrerupe și modul în care acestea sunt utilizate pentru a executa serviciile solicitate. De asemenea, am discutat care sunt tipurile, implementarea sistemului și utilizările sale.