cerca
Interrupt e loro gestione
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Uni.InterruptELoroGestione History

Hide minor edits - Show changes to output

Changed lines 17-18 from:
La CPU è dotata delle linee INTREQ e INTACK.\\
Alla ricezione di un interrupt
:
to:
Alla ricezione di un interrupt la CPU compie le seguenti operazioni:
Changed line 21 from:
* attende sul Data Bus la comparsa di un identificativo a 8 bit - inserito dall'interfaccia a periferica - che usa (come per l'istruzione TRAP) come indice in un vettore di interrupt:
to:
* attende sul databus la comparsa di un identificativo a 8 bit - inserito dall'interfaccia a periferica - che usa (come per l'istruzione TRAP) come indice in un vettore di interrupt:
Added lines 11-15:
!!Cos'è
L’interrupt è uno dei tre modi di sincronizzazione tra cpu e interfacce di I/O, e cioè una richiesta di interruzione, da parte dell’interfaccia alla cpu, dello svolgimento dell’attività della CPU. Consente alla periferica di segnalare lo stato di servizio alla cpu mediante la linea dedicata INTREQ del bus di controllo e la cpu risponde, quale riconoscimento di interruzione, con la linea di INTACK. \\
Ha una visione copernicana della CPU in quanto i ritmi di lavoro sono dettati dagli eventi esterni. \\
E’ particolarmente adatto a gestire fenomeni urgenti che non possono attendere il tempo di interrogazione di una soluzione a controllo di programma.
Changed lines 35-41 from:
Se la periferica al quale l’interfaccia e collegata segnala che sia verificato un evento l’interfaccia mediante un segnale elettrico segnala al PIC di essere pronta a essere servita, di richiedere il servizio da parte della CPU. Nel caso in cui l’interfaccia e abilitata a interrompere la CPU il PIC genera la richiesta di INTREQ e quando la CPU risponde con l’accettazione di INTACK il PIC si preoccupa di generare sul bus dati il vettore di IntVect (identificativo a 8 bit di quale periferica e quella interrompente )onde a consentire all’Unita centrale di saltare direttamente alla rutine di risposta
alla periferica opportuna. Questo giro di segnali che attivano un interrupt vettorizzato in presenza del dispositivo programmabile di controllo delle interruzioni.\\
I registri del PIC sono normali registri di interfaccia accessibili alla CPU in modo di consentire alla CPU di programmare il PIC, ovvero al programma di gestione del interazione ingresso/uscita di definire come il PIC deve comportarsi.\\
Per fare questo essenzialmente servono 3 registri:
* '''IVR''' (Interrupt Vector Register): contiene l'identificativo associato a ciascuna periferica collegata;
* '''IPR''' (Interrupt Priority Register): contiene le informazioni necessarie per stabilire l'ordine di priorità delle periferiche;
* '''IMR''' (Interrupt Mask Register): contiene le informazioni per sapere quali periferiche possono generare interruzioni e quali no
.
to:
Il '''PIC''' (''Programmable Interrupt Controller'') è il circuito integrato di supporto alla gestione degli interrupt. La sua struttura prevede un'unità di controllo e tre registri accessibili dalla CPU, ovvero:
* '''IVR''' (Interrupt Vector Register), che contiene l'identificativo associato a ciascuna periferica collegata;
* '''IPR''' (Interrupt Priority Register), che contiene le informazioni necessarie per stabilire l'ordine
di priorità delle periferiche;
* '''IMR''' (Interrupt Mask Register), che contiene le informazioni per sapere quali periferiche possono
generare interruzioni e quali no.

Vediamo come funziona. La periferica chiede interrupt all’interfaccia e genera un suo “codice identificativo”. L’interfaccia comunica al PIC la richiesta
di interrupt e a sua volta il PIC richiede interrupt alla CPU attivando la linea INTREQ. Quando la CPU è pronta a gestire la richiesta di interrupt attiva INTACK e quando il PIC riceve INTACK deposita sul bus dati l’indice del vettore di interrupt relativo all’IVR che gestisce l’interazione con il dispositivo.
Added lines 1-39:
(:title Interrupt e loro gestione:)
[[Torna alla pagina di Architettura degli elaboratori->Uni.Architettura degli elaboratori]]
----

>>evvai<<
Questa pagina è stata aggiornata GRAZIE agli appunti che AVETE INVIATO nel periodo di chiusura della sezione UniCrema!! '''''È SERVITA A QUALCOSA, NO?!''''' [++;)++]
>><<

%titolo%''':: Interrupt e loro gestione ::'''

!!Interrupt vettorizzato
La CPU è dotata delle linee INTREQ e INTACK.\\
Alla ricezione di un interrupt:
* salva il valore del PC;
* disabilita il riconoscimento di ulteriori interrupt;
* attiva INTACK;
* attende sul Data Bus la comparsa di un identificativo a 8 bit - inserito dall'interfaccia a periferica - che usa (come per l'istruzione TRAP) come indice in un vettore di interrupt:
** tabella di celle di memoria, una associata a ogni possibile sorgente di interrupt;
** ogni cella contiene l'indirizzo di inizio della routine di risposta all'interrupt associato.

Con l'interrupt vettorizzato:
* il tempo di riconoscimento della sorgente di interrupt è minimizzato, perché non serve polling;
* le interfacce a periferica si complicano, perché ogni interfaccia deve essere capace di generare il proprio identificativo sul Data Bus e lo deve conoscere in seguito;
* non risolve i problemi di priorità, perché se la CPU viene riabilitata a sentire gli interrupt, può essere interrotta da chiunque.

!!PIC
Un '''Controllore di Interruzioni Programmabile''' ('''PIC''', ''Programmable Interrupt Controller'') è un dispositivo hardware che consente di gestire interruzioni vettorizzate con priorità per conto di un processore. Con il PIC l’interfaccia comunica al PIC stesso la richiesta di interrompere l’unita centrale. Se l’interfaccia e abilitata a farlo, il PIC attiva la linea di richiesta a INTREQ. Quando riceve INTACK il PIC comunica l’identificativo sul Data Bus: gli identificativi delle periferiche sono gestiti dal PIC, senza aggiunta di complessità per le interfacce. Inoltre se il PIC riceve più richieste di interrupt da diverse periferiche, dà precedenza a quella più prioritaria.

!!!Funzionamento del PIC
Se la periferica al quale l’interfaccia e collegata segnala che sia verificato un evento l’interfaccia mediante un segnale elettrico segnala al PIC di essere pronta a essere servita, di richiedere il servizio da parte della CPU. Nel caso in cui l’interfaccia e abilitata a interrompere la CPU il PIC genera la richiesta di INTREQ e quando la CPU risponde con l’accettazione di INTACK il PIC si preoccupa di generare sul bus dati il vettore di IntVect (identificativo a 8 bit di quale periferica e quella interrompente )onde a consentire all’Unita centrale di saltare direttamente alla rutine di risposta
alla periferica opportuna. Questo giro di segnali che attivano un interrupt vettorizzato in presenza del dispositivo programmabile di controllo delle interruzioni.\\
I registri del PIC sono normali registri di interfaccia accessibili alla CPU in modo di consentire alla CPU di programmare il PIC, ovvero al programma di gestione del interazione ingresso/uscita di definire come il PIC deve comportarsi.\\
Per fare questo essenzialmente servono 3 registri:
* '''IVR''' (Interrupt Vector Register): contiene l'identificativo associato a ciascuna periferica collegata;
* '''IPR''' (Interrupt Priority Register): contiene le informazioni necessarie per stabilire l'ordine di priorità delle periferiche;
* '''IMR''' (Interrupt Mask Register): contiene le informazioni per sapere quali periferiche possono generare interruzioni e quali no.

----
[[Torna alla pagina di Architettura degli elaboratori->Uni.Architettura degli elaboratori]]