Întreruperi în sisteme informatice

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Ce este un "flag" în contextul întreruperilor?

  • Un semnal care indică sursa unei întreruperi (correct)
  • O listă de priorități pentru gestionarea întreruperilor
  • O instrucțiune care activează sau dezactivează întreruperile
  • Un registru special care controlează întreruperile

Care dintre următoarele este un eveniment intern?

  • Apăsarea unei taste
  • Depășirea unui contor intern (correct)
  • O eroare hardware a unui dispozitiv extern
  • Primirea unor date de la un senzor

Ce se întâmplă când CPU-ul primește o întrerupere?

  • CPU-ul continuă să execute programul curent, ignorând întreruperea.
  • CPU-ul ignorează întreruperea.
  • CPU-ul returnează o eroare.
  • CPU-ul suspendă execuția programului curent și se ocupă de întrerupere. (correct)

În ce scop este folosit vectorul de întreruperi?

<p>Pentru a determina ordinea de servire a mai multor întreruperi (B)</p> Signup and view all the answers

Care instrucțiune este folosită pentru a activa sistemul de întreruperi?

<p>SEI (D)</p> Signup and view all the answers

Ce se întâmplă când bitul 7 din SREG este setat la 0 (SREG.7 = 0)?

<p>Întreruperile sunt dezactivate (D)</p> Signup and view all the answers

Ce rol are bitul individual de validare pentru o întrerupere?

<p>Activează sau dezactivează o întrerupere specifică (A)</p> Signup and view all the answers

Care dintre următoarele nu este un tip de eveniment care poate declanșa o întrerupere?

<p>Pornirea unui program nou (C)</p> Signup and view all the answers

Ce se întâmplă când un microcontroler primește o întrerupere?

<p>Microcontrolerul suspendă execuția actuală și execută o rutină de tratare a întreruperii (A)</p> Signup and view all the answers

Care este scopul principal al bitului I din registrul SREG?

<p>Gestionarea întreruperilor, prevenind ca o întrerupere nouă să fie servită în timp ce o altă întrerupere este în curs. (C)</p> Signup and view all the answers

Care dintre următoarele instrucțiuni este folosită pentru a dezactiva întreruperile?

<p>CLI (C)</p> Signup and view all the answers

Ce se întâmplă atunci când o întrerupere este activată?

<p>Bitul I din SREG este setat la 0. (D)</p> Signup and view all the answers

Care dintre următoarele instrucțiuni este folosită pentru a activa întreruperile?

<p>SEI (D)</p> Signup and view all the answers

Care dintre următoarele funcții este responsabilă cu gestionarea unei întreruperi?

<p>Subrutina de întrerupere (ISR) (D)</p> Signup and view all the answers

Ce se întâmplă atunci când o subrutină de întrerupere este executată?

<p>Stara curentă a programului principal este salvată, iar subrutina de întrerupere este executată. (C)</p> Signup and view all the answers

Care dintre următoarele este adevărat despre întreruperile imbricate (nested interrupts)?

<p>Posibilitatea lor depinde de setările specifice ale sistemului. (B)</p> Signup and view all the answers

Când o subrutină de întrerupere este finalizată, ce instrucțiune se execută pentru a reveni la programul principal?

<p>RETI (B)</p> Signup and view all the answers

Care este scopul instrucțiunii CLI?

<p>Dezactivează întreruperile (Disable Interrupts). (B)</p> Signup and view all the answers

Ce se întâmplă cu programul principal în timpul executării unei subrutine de întrerupere?

<p>Se suspendă execuția. (A)</p> Signup and view all the answers

Care este rolul registrului SREG în gestionarea întreruperilor?

<p>Să stocheze starea curentă a programului principal. (D)</p> Signup and view all the answers

Ce se întâmplă cu contorul programului (Program Counter - PC) în momentul în care o rutină de întrerupere (ISR) este executată?

<p>PC este actualizat cu adresa subrutinei de întrerupere. (D)</p> Signup and view all the answers

Care este scopul instrucțiunii CLI (Blocarea flag-urilor întreruperi)?

<p>Previne ca alte întreruperi să fie procesate în timp ce o rutină de întrerupere este în execuție. (C)</p> Signup and view all the answers

Ce se întâmplă după ce o rutină de întrerupere a fost executată?

<p>Procesorul continuă executarea programului principal de la punctul în care a fost întrerupt. (D)</p> Signup and view all the answers

Care este rolul vectorului de întrerupere în gestionarea întreruperilor?

<p>Determine adresa subrutinei de întrerupere care trebuie executată. (A)</p> Signup and view all the answers

Care este scopul instrucțiunii SEI (Activarea flag-urilor întreruperi)?

<p>Permite gestionarea altor întreruperi. (D)</p> Signup and view all the answers

Ce tip de dispozitiv poate genera o întrerupere externă?

<p>Un dispozitiv extern conectat la un pin al microcontrolerului. (D)</p> Signup and view all the answers

Care dintre următoarele este un pas crucial în tratarea unei întreruperi?

<p>Salvarea stării procesorului. (D)</p> Signup and view all the answers

De ce este importantă executarea instrucțiunii CLI înainte de execuția ISR?

<p>Pentru a preveni ca alte întreruperi să fie gestionate în timp ce ISR este în execuție. (B)</p> Signup and view all the answers

Care este rolul instrucțiunii RETI în managementul întreruperilor?

<p>Reîntoarce controlul la programul principal. (B)</p> Signup and view all the answers

Care este diferența dintre o întrerupere internă și una externă?

<p>O întrerupere internă este o întrerupere de software, în timp ce o întrerupere externă este o întrerupere de hardware. (C)</p> Signup and view all the answers

Ce tip de întrerupere este utilizat în mod obișnuit pe pinul 2 al microcontrolerului ATMega328?

<p>INT2 (C)</p> Signup and view all the answers

Care dintre următoarele opțiuni este incorectă în ceea ce privește configurarea unei întreruperi externe?

<p>Pinul corespunzător trebuie configurat ca ieșire. (A)</p> Signup and view all the answers

Ce acțiune are loc când o întrerupere externă este declanșată?

<p>Se execută rutina de întrerupere asociată, apoi programul principal continuă procesarea. (A)</p> Signup and view all the answers

Care dintre următoarele tipuri de declanșare a întreruperii este determinat de o schimbare a statusului semnalului de pe pinul de intrare?

<p>Schimbare de stare (C)</p> Signup and view all the answers

Ce se întâmplă când o întrerupere externă este dezactivată?

<p>Microcontrolerul continuă procesarea programului principal. (C)</p> Signup and view all the answers

Care dintre următorii senzori poate fi utilizat pentru a declanșa o întrerupere externă?

<p>Toate cele de mai sus (C)</p> Signup and view all the answers

Ce face o rutină de întrerupere?

<p>Procesarea evenimentului asociat întreruperii. (D)</p> Signup and view all the answers

Care dintre următoarele opțiuni nu este o aplicație practică a întreruperilor externe?

<p>Generarea de sunete. (C)</p> Signup and view all the answers

Intreruperea pe nivel este declanșată când semnalul de pe pinul de intrare este:

<p>La un anumit nivel logic. (C)</p> Signup and view all the answers

Care dintre următoarele situații nu este o aplicație a întreruperilor externe?

<p>Executarea unor calcule complexe. (B)</p> Signup and view all the answers

Flashcards

Condiții de întrerupere

Condții care trebuie îndeplinite pentru activarea întreruperilor.

Bitul I din SREG

Bitul 7 din SREG, ce controlează executarea întreruperilor.

Executarea întreruperii

Când o întrerupere este activată, bitul I este setat la 0.

Rutina de Servire a Întreruperii (ISR)

Subrutina care se execută când o întrerupere este activată.

Signup and view all the flashcards

Imbricarea întreruperilor

Posibilitatea ca, în timpul unei ISR, să fie activate alte întreruperi.

Signup and view all the flashcards

Salvarea stării programului

Processul de a păstra starea curentă a programului principal în timpul ISR.

Signup and view all the flashcards

Instrucțiunea RETI

Instrucțiune care restaurează starea registrului SREG și revine la programul principal.

Signup and view all the flashcards

Modul sleep

Mod de economisire a energiei activat după gestionarea întreruperii.

Signup and view all the flashcards

Activarea întreruperilor

Procesul de a permite funcționarea întreruperilor, obținut prin instrucțiunea SEI.

Signup and view all the flashcards

Subrutina de întrerupere

Cod care se execută când o întrerupere are loc.

Signup and view all the flashcards

Întrerupere

Un semnal care întrerupe execuția curentă a unui program.

Signup and view all the flashcards

Dispozitiv periferic

Un dispozitiv care generează cererea de întrerupere, precum tastatura sau un senzor.

Signup and view all the flashcards

Executarea instrucțiunii curente

Procesorul finalizează instrucțiunea pe care o executa când a primit întreruperea.

Signup and view all the flashcards

Contorul programului (PC)

Adresa instrucțiunii următoare este salvată pe stivă pentru a reveni apoi la programul principal.

Signup and view all the flashcards

Vector de întreruperi

O tabelă care determină adresa subrutinei de întrerupere de executat.

Signup and view all the flashcards

Rutină de Tratare a Întreruperii (ISR)

Subprogram care gestionează un eveniment care a generat întreruperea.

Signup and view all the flashcards

Blocarea flag-urilor întreruperi

Processul de a dezactiva alte întreruperi pentru a evita conflictele.

Signup and view all the flashcards

Revenirea din ISR

După execuția ISR, procesorul revine la programul principal.

Signup and view all the flashcards

Activarea flag-urilor întreruperi

Reactivarea întreruperilor pentru a permite gestionarea altor întreruperi.

Signup and view all the flashcards

Întrerupere externă

Un semnal generat de un dispozitiv extern conectat la microcontroler.

Signup and view all the flashcards

INT0

Intrerupere externa pentru pinul 7 (PCINT7) pe AVR.

Signup and view all the flashcards

INT1

Intrerupere externa pentru pinul 8 (PCINT8) pe AVR.

Signup and view all the flashcards

INT2

Intrerupere externa pentru pinul 2 (PCINT2) pe AVR.

Signup and view all the flashcards

Activare întrerupere

Configurarea pinului ca intrare și setarea modului de declanșare.

Signup and view all the flashcards

Rutina de întrerupere (ISR)

Funcția ce execută codul când se declanșează o întrerupere externă.

Signup and view all the flashcards

Declanșare crescătoare

Întreuperile se activează când semnalul crește de la scăzut la înalt.

Signup and view all the flashcards

Declanșare descrescătoare

Întreuperile se activează când semnalul scade de la înalt la scăzut.

Signup and view all the flashcards

Schimbare de stare

Întreuperile se activează la orice schimbare a semnalului de la pin.

Signup and view all the flashcards

Nivel logic

Întreruperea se declanșează la un anumit nivel de semnal (înalt sau scăzut).

Signup and view all the flashcards

Utilizări practice

Folosirea întreruperilor pentru senzori, comunicație și control de dispozitive.

Signup and view all the flashcards

Evenimente interne

Sunt generate de CPU sau componente interne ale sistemului.

Signup and view all the flashcards

Evenimente externe

Sunt generate de dispozitive externe, cum ar fi tastatura sau mouse-ul.

Signup and view all the flashcards

Flag-uri

Semnale utilizate de CPU pentru a identifica sursa unei întreruperi.

Signup and view all the flashcards

Dezactivarea întreruperilor

Se face prin setarea bitului 7 (I) din SREG la 0 cu instrucțiunea CLI.

Signup and view all the flashcards

Bit individual de validare

Fiecare întrerupere are un bit care trebuie setat pentru a activa acea întrerupere.

Signup and view all the flashcards

Study Notes

Întreruperi

  • O întrerupere este un semnal care îi spune procesorului (CPU) să oprească sarcina actuală și să treacă la o altă sarcină care necesită atenție imediată.
  • Evenimentele externe (cum ar fi apăsarea unei taste sau date de la o unitate externă) sunt semnale care îi spun sistemului că trebuie să facă ceva. CPU-ul gestionează aceste evenimente.
  • Există două tipuri de evenimente: interne (generate de CPU sau alte componente interne) și externe (generate de dispozitive externe).
  • Cum se gestionează întreruperile: identificarea sursei (prin semnale "flag-uri") și determinarea ordinii de servire (există o listă de priorități).
  • Bitul 7 din SREG controlează sistemul de întreruperi.
    • Dacă bitul este setat la 1, sistemul de întreruperi este activat, CPU-ul poate răspunde la întreruperi.
    • Dacă bitul este setat la 0, sistemul de întreruperi este dezactivat, CPU-ul nu reacționează la întreruperi.
  • Pentru a activa întreruperile se folosește instrucțiunea SEI (Set Interrupts), iar pentru a le dezactiva, CLI (Clear Interrupts).
  • Fiecare întrerupere are un bit individual care trebuie setat pentru a activa acea întrerupere specifică.

Cum funcționează

  • Când o întrerupere apare, CPU-ul execută o rutină specială numită Rutină de Servire a Întreruperii (ISR).
    • ISR conține codul specific pentru gestionarea evenimentului care a generat întreruperea.
  • În timpul executării ISR, alte întreruperi pot fi imbricate, depinzând de setările sistemului.
  • După executarea ISR, CPU-ul revine la programul principal.

Exemplu simplu

  • Imagine de alarmă de casă: buton de activare/dezactivare (bit 7 din SREG). Activat - alarma este pregătită pentru întreruperi (cineva intră în casă), dezactivat - alarma nu reacționează.

Tipuri de Întreruperi

  • Întreruperile externe sunt declanșate de dispozitive externe prin semnale pe pinii microcontrolerului.
  • Tipuri comune de întreruperi externe (microcontrolere AVR):
    • INTO (Pin Change Interrupt 0), INT1 și INT2.
  • Se pot seta să fie declanșate de creştere, descrescere sau schimbare de stare a semnalului.
  • Întrerupere pe nivel (semnalul trebuie să fie la un anumit nivel logic).

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

ÎNTRERUPERILE

More Like This

Computer Interrupts and System Calls
24 questions
La CPU e la Memoria: Interrupt
40 questions
CPU Interrupts and Service Routines
7 questions

CPU Interrupts and Service Routines

InspirationalChrysoprase1747 avatar
InspirationalChrysoprase1747
Use Quizgecko on...
Browser
Browser