Sunteți pe pagina 1din 14

Facultatea de Inginerie și

Tehnologia informației

Întreruperi

Arhitectura sistemelor de calcul

Piroska Haller
piroska.haller@ umfst.ro
Pentru uz intern
Este interzisă copierea și distribuirea neautorizată a acestui material.
Moduri de lucru cu periferice
• Interogare
• așteaptă schimbarea de stare al perifericului prin interogarea
periodică
• citește portul de intrare
• testează starea
• repetă operația
• dacă nu citește suficient de des pierde schimbarea de stare
• Întrerupere
• posibilitatea de a executa alte instrucțiuni în timp ce așteaptă
pentru schimbarea de stare al perifericului
• Transfer direct
• posibilitatea de a transfera date direct între periferic și
memorie fără controlul UCP

Este interzisă copierea și distribuirea neautorizată a acestui material.


Interogare

Este interzisă copierea și distribuirea neautorizată a acestui material.


Întreruperi
• se realizează prin activarea liniei de control
corespunzătoare - INT conectat la un registru de
întrerupere în UCP
• UCP transferă temporar controlul de la programul în
curs de execuție la o secvență specială de instrucțiuni
de tratare a întreruperii
• eliberează procesorul de urmărirea stării
echipamentelor de intrarea-ieșire
• UCP la terminarea fiecărui ciclu de instrucțiune
testează starea registrului de întrerupere

Este interzisă copierea și distribuirea neautorizată a acestui material.


Întreruperi

Este interzisă copierea și distribuirea neautorizată a acestui material.


Etapele prelucrării unei întreruperi
• acceptarea întreruperii prin activarea semnalului INTA
pe magistrala de control
• identificarea sursei cererii de întrerupere - perifericul va
trimite pe magistrala de date un număr unic de
identificare (vector de întrerupere);
• obținerea adresei rutinei de servire din tabela de
întrerupere, folosind vectorul primit ca un index
• salvarea numărătorului de program (adresă de revenire)
și a informațiilor de stare al UCP;
• executarea rutinei de tratare a întreruperii până la
instrucțiunea de revenire din întrerupere (RETURN);
• refacerea numărătorului de program și a stării salvate,
revenirea la programul întrerupt.
Este interzisă copierea și distribuirea neautorizată a acestui material.
Întreruperi multiple, excepții
• salvarea registrelor și a biților indicatori de stare intern sau
extern
• instrucțiuni de activare sau dezactivare întreruperi
• excepții – întreruperi interne, revenirea din întrerupere se va
realiza pe instrucțiunea care a generat întreruperea
• excepții: depășire capacitate la operații cu virgulă flotantă,
adresă invalidă, instrucțiune invalidă.

Este interzisă copierea și distribuirea neautorizată a acestui material.


Întreruperi multiple
• linii de întreruperi multiple pe magistrala de control
• fiecare echipament este conectat la propria linie de cerere a
întreruperii
• adresa rutinei de întrerupere va fi generată de UCP în funcție
de linia de cerere activată
• determinarea priorităților se realizează tot de UCP

Este interzisă copierea și distribuirea neautorizată a acestui material.


Controler de întrerupere
• mai multe linii de cerere
întrerupere
• cererile vor fi stocate într-un
registru de întrerupere
• registrul mască de întrerupere
permite trecerea cererii
• codificatorul prioritar transmite
cererea și vectorul de întrerupere
• gestionarea cererilor multiple
• determinarea priorităților

Este interzisă copierea și distribuirea neautorizată a acestui material.


Transfer de date cu acces direct la
memorie (DMA)
• Transfer prin UCP – 2 instrucțiuni, 4 transferuri pe
magistraslă (2 extrageri instrucțiune, 2 transfer de operand)
• Controler DMA – periferic!

Este interzisă copierea și distribuirea neautorizată a acestui material.


Controlerul DMA
• este un echipament de intrare-ieșire din punct de vedere
al UCP
• are n canale (1-8) de comunicare dedicate cu
echipamente de intrare ieșire
• pe durata transferului controlerul va prelua controlul
asupra magistralei
• înainte de orice operație de transfer controlerul DMA
trebuie programat:
• adresa de început
• lungimea blocului ce urmează să fie transferat
• direcția transferului și modul de lucru
• poate fi programat să genereze o întrerupere la
terminarea transferului
• gestionează cererile multiple, priorități

Este interzisă copierea și distribuirea neautorizată a acestui material.


Etapele transferului DMA
• perifericul inițiază un transfer activând linia dedicată de
cerere (DRQ)
• controlerul trimite semnalul de cerere a magistralei
(HOLD)
• UCP va semnala acceptarea cererii prin activarea liniei de
răspuns (HOLDA) și prin setarea ieșirilor în impedanță
ridicată
• controlerul DMA va realiza legătura directă între
periferic și memorie:
• trimite semnalul de acceptarea cererii la periferic (DACK)
• adresa locației de memorie pe magistrala de adrese
• semnalele control corespunzătoare direcției transferului pe
magistrala de control
• datele nu trec prin controler

Este interzisă copierea și distribuirea neautorizată a acestui material.


Moduri de transfer
• în rafală - UCP suspendă operațiile în timpul
transferului unui bloc, după care preia ciclul de
instrucțiune din punctul în care s-a suspendat
• prin furt de ciclu - DMA are acces la memorie tot
timpul când UCP nu folosește magistrala.

Este interzisă copierea și distribuirea neautorizată a acestui material.


Este interzisă copierea și distribuirea neautorizată a acestui material.

S-ar putea să vă placă și