Diferența dintre interogare și întrerupere

În anumite momente, procesorul principal nu mai funcționează și verifică dacă un controler are un mesaj pentru el, dacă are, procesează mesajul și reia operația. Aceasta se numește sondare. În plus, este clar că principalul procesor își face treaba, iar dispozitivele își fac treaba. Dacă dispozitivul își termine lucrarea sau apare o eroare, dispozitivul informează procesorul principal cu o cerere de întrerupere.

Ce este Polling?

În sistemele în care mai multe circuite logice externe comunică prin interconectări multiple U / I cu un singur microprocesor, se utilizează sondaje U / I. Microcalculatorul solicită periodic fiecărui circuit logic extern și examinează dacă a solicitat service. Dacă circuitul logic extern nu necesită reparații, microcomputerul examinează următorul circuit logic extern etc. Dacă unul dintre ele necesită întreținere, microcomputerul comută la rularea programului de difuzare al circuitelor logice externe respective. Funcția de transfer U / I este inclusă în program. Cu alte cuvinte, interogarea este un proces de apelare client (computere sau terminale) care pot trimite date după ce au fost apelate (dacă acestea există). Dacă clientul are date pe care le trimite după sondaj și dacă nu există date, clientul răspunde negativ și serverul sună la următorul client. Unele dispozitive pot necesita service de la controler (de exemplu, când un dispozitiv finalizează măsurarea sau când apare o eroare). Cererea este trimisă la controler prin setarea liniei SRQ la nivel scăzut. După ce controlorul primește o solicitare de service, atunci el apelează toate dispozitivele din magistrală pentru a găsi dispozitivul care a trimis solicitarea.

Ce este întreruperea?

În timpul executării unui program, microprocesorul poate recepționa semnal de întrerupere prin liniile IRQ speciale. Întreruperea este cel mai frecvent efectuată prin apelarea subrutinei corespunzătoare a sistemului pentru procesarea întreruperilor - acestea sunt așa-numitele procesări de rutină de întrerupere BIOS sau DOS. După procesarea întreruperilor, procesorul continuă să execute programul întrerupt. De asemenea, programul de aplicație în sine poate conține o instrucțiune care solicită executarea unei rutine de întrerupere BIOS sau DOS. Operațiile de intrare-ieșire sunt cele mai des realizate în acest fel. De exemplu, dacă un program dorește să imprime un semn pe ecran, poate face acest lucru apelând rutina de întrerupere corespunzătoare. BIOS-ul conține un set de rutine elementare de intrare-ieșire care rulează relativ repede, iar rutinele DOS corespunzătoare sunt mai lent, dar capabilitățile lor sunt mai mari (posibilitatea de a suprascrie canalele de intrare-ieșire, posibilitatea de a controla erorile și altele asemenea). Prin urmare, întreruperea hardware este semnalul primit de către procesor de la un alt dispozitiv din computer și întreruperea software-ului este procesul de execuție a unei rutine BIOS sau DOS (subrutină) care este chemată automat pentru procesarea semnalului de întrerupere recepționat sau este chemată să execute instrucțiunile corespunzătoare.

Diferența dintre interogare și întrerupere

Contextul interogării și întreruperii

În primul caz, procesorul verifică la intervale regulate de timp dacă un dispozitiv are nevoie de o acțiune. În cazul unei întreruperi, există un mecanism prin care procesorul permite dispozitivului extern (de exemplu tastatură, placă de sunet etc.) să atragă atenția procesorului.

Mecanismul interogării și întreruperii

Întreruperile sunt mecanisme special organizate pentru comunicarea dispozitivelor periferice. Dispozitivele notifică CPU dacă este necesară o acțiune. Sondajul este protocol - procesorul solicită periodic dispozitivele dacă este necesară o acțiune.

Întreținerea interogării și întreruperii

În interogarea serviciilor de microcontroler, dispozitivul are nevoie de atenție, iar apoi se trece la următorul dispozitiv pentru monitorizare. În caz de întrerupere, atunci când se recepționează un semnal de întrerupere, CPU-ul se oprește din cauza activității curente și preia dispozitivul. Serviciile sau întreruperile procesate se numesc rutina de întrerupere a serviciului (ISR) sau procedura de întrerupere.

Procesor

În procesul de votare, procesorul este în așteptare și verifică dacă un dispozitiv are nevoie de un serviciu. Acest lucru iroseste inutil timpul. În cazul procesului de întrerupere, pe de altă parte, CPU-ul este perturbat numai dacă este necesar.

Aspectul interogării și întreruperii

Dispozitivele pot fi consultate numai la intervale regulate, când sunt verificate. Întreruperea poate avea loc în orice moment.

Avantajele interogării și întreruperii

Unele dintre avantajele soneriei sunt programul relativ simplu, fiabilitatea transmisiei care are loc la viteza maximă, adică de îndată ce dispozitivul I / O este gata și nu are nevoie de cipuri de acces suplimentare. Întreruperea este benefică deoarece poate servi mai multe dispozitive, este mai flexibilă și mai eficientă.

Dezavantaje ale interogării și întreruperii

Dezavantajele sondajului sunt timpul de așteptare al unor dispozitive care este mai scurt decât timpul de răspuns și apoi trebuie aplicată o altă metodă de transmisie, precum și faptul că CPU consumă timp inutil pentru a verifica dispozitivele care nu au căutat transferul de date. Dezavantajele întreruperilor sunt cerința pentru hardware / software mai complex și pierderi de timp până când CPU stabilește unitățile care solicită întreruperea.

Sondaj vs. întrerupere: Graficul de comparație

Rezumat al Polling vs. Întrerupe

  • În cazul sondajului, se face o citire ciclică a dispozitivelor conectate la un procesor. Dacă circuitul logic extern nu necesită întreținere, microcalculatorul examinează următorul circuit logic extern. Dacă unul dintre ele necesită service, microcalculatorul comută la rularea unui program pentru a servi circuitul logic extern respectiv.
  • Când este întrerupt, la cererea logicii externe, microcomputerul întrerupe funcționarea programului său curent și comută la rularea programului de întrerupere. Structura întreruptă permite microprocesorului să răspundă evenimentelor asincrone, adică cererilor din logica externă, să nu aștepte în buclă pentru a examina starea circuitului logic extern.