![Page 1: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/1.jpg)
GLI INTERRUPTGLI INTERRUPT
1PAG.
![Page 2: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/2.jpg)
Inquadrare il problema
SISTEMA DELLE INTERRUZIONI:
• INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI
• L’ORGANIZZAZIONE DIPENDE DAL PROCESSORE
• ESISTONO CIRCUITI HW DEDICATI CHE COLLABORANO CON IL PROCESSORE PER LA GESTIONE DEGLI INTERRUPT
2PAG.
![Page 3: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/3.jpg)
Connessione tra componenti Connessione tra componenti
CPU
RAMDischiMonitor
StampanteTastiera Mouse
BUS
= Interfacce o Controller
3PAG.
![Page 4: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/4.jpg)
PAG. 4
PERCHE’ SI INTRODUCONO GLI INTERRUPT
INTERFACCIAMENTO CON IL MONDO ESTERNO
CREAZIONE SCHEMA UNIVERSALE ALLE RISORSE SW
INTERRUPT
![Page 5: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/5.jpg)
CICLO DEL PROCESSORE
5PAG.
![Page 6: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/6.jpg)
PAG. 6
CAUSE DELL’INTERRUPT
• RICHIESTA DI UN DATO DA PARTE DI UN PROGRAMMA
• DISPONIBILITA’ DELLA PERIFERICA• Immediata• Leggermente ritardata• Differita a tempo indeterminato
![Page 7: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/7.jpg)
PAG. 7
Metodi
• POLLING (gestione dei dati sotto il controllo del programma
• INTERRUPT (gestione dei dati sotto il controllo della periferica
• DIRECT MEMORY ACCESS (gestione dei dati sotto il controllo del dispositivo dedicato)
![Page 8: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/8.jpg)
In seguito alla richiesta di interruzione:
1.Viene salvato il contesto del programma interrotto
2.Viene mandata in esecuzione una sequenza di identificazione dell’interruzione che interroga ad uno ad uno i dispositivi fino a trovare quello che ha fatto la richiesta
3.Viene mandata in esecuzione la routine individuata al passo 2.
Nel caso in cui più richieste di interruzione sono presenti, viene servita quella che per prima viene incontrata nella
sequenza.
IL POLLING
PAG. 8
![Page 9: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/9.jpg)
Gestione di più dispositiviGestione di più dispositivi
CPU
INTR
INTR1 INTR2 INTR3
La CPU fa il “POLLING” dei dispositivi per verificarequale IRQ è abilitato.
Come fa la CPU a capire da quale dispositivo riceve l’Interrupt?
9PAG.
![Page 10: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/10.jpg)
Accesso diretto alla memoria (DMA)
E’ il metodo preferito quando si devono trasferire grosse moli di dati.
Una apposita circuiteria (DMA controller) provvede ad eseguire il trasferimento di dati da una periferica alla memoria (o viceversa)
La circuiteria deve essere in grado di fungere da bus master, ossia deve generare gli indirizzi ed i segnali di controllo secondo la tempistica opportuna
Il DMA controller deve inoltre essere in grado di negoziare con la CPU l’acquisizione del controllo del bus ed l suo rilascio
![Page 11: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/11.jpg)
Trasferimento in DMA Il trasferimento di un blocco in DMA si
articola in varie fasi:1. La CPU carica l’indirizzo dell’area di
memoria ed il numero di parole da trasferire
2. Quando il DMA controller è pronto ad eseguire il trasferimento , invia un segnale di DMA REQ alla CPU;
3. Quando la CPU arriva al punto del rilevamento di tale segnale, rilascia il bus e attiva il segnale DMA ACK
4. Il DMA Controller esegue il trasferimento5. Dopo il trasferimento di ciascuna parola
vengono decrementati i contatori delle parole
11
![Page 12: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/12.jpg)
Trasferimento in DMA6. Quando il DMA controller termina il
trasferimento , disattiva il DMA REQ7. La CPU disattiva il DMA ACK8. La CPU riprende l controllo del bus
12
![Page 13: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/13.jpg)
PAG. 13
SOLUZIONE ADOTTATA
![Page 14: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/14.jpg)
InterruptInterrupt
Meccanismo che avvisa il processore della disponibilità delDispositivo di I/O ad eseguire una operazione.
Quando il dispositivo è pronto invia alla CPU un segnale di Interrupt
La CPU interrompe l’operazione corrente ed esegue una routinedi servizio dell’interrupt
La CPU informa il dispositivo che la richiesta di interrupt è stataAccolta con un segnale di riscontro (Interrupt Acknowledge)
La routine di gestione dell’interrupt salva lo stato della CPU (latenza)
14PAG.
![Page 15: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/15.jpg)
PAG. 15
![Page 16: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/16.jpg)
Le cause dell’Interruzione Interruzione periodica (time slice) Interruzione di I/O (periferica) Interruzione per errori del
programma in esecuzione (overflow,…)
Interruzione per guasti Interruzione per riportare il sistema
in uno stato noto (reset) Interruzioni programmate (sw
interrupt)
![Page 17: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/17.jpg)
PAG. 17
intervallo
![Page 18: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/18.jpg)
INTERRUPT SERVICE ROUTINE E CONTESTO
Procedura di interrupt (ISR = Interrupt Service routine) è il segmento di programma corrispondente alla richiesta di interrupt.
1.Inoltro richiesta di interrupt2.CPU salva il contesto del programma
(tutti i valori che determinano lo stato del programma)
3.Esecuzione dell’interrupt4.Ripristino del contesto del programma
PAG. 18
![Page 19: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/19.jpg)
INTERRUPT SERVICE ROUTINE E CONTESTO
Operazioni di salvataggioDel contesto
PAG. 19
All’interno della routine di interruzione
Meccanismo interno alla CPU
![Page 20: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/20.jpg)
CONTESTO
Contesto minimo: insieme di valori generici sicuramente modificati dall’esecuzione dell’ISR (flag,…); salvataggio da CPU
Contesto specifico: insieme dei valori specifici modificati dalla particolare ISR; salvataggio interno all’ISR (da programma)
Contesto invariante: insieme dei valori non modificati dall’ISR; salvataggio opzionale
Il salvataggio avviene tramite utilizzo STACK
PAG. 20
![Page 21: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/21.jpg)
Interrupt architettura Intel X86
PAG. 21
![Page 22: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/22.jpg)
22
Gli interrupt nell’architettura INTEL
Interrupt (interruzioni) interrupt hardware mascherabili (periferiche
esterne)
interrupt hardware non mascherabile interrupt software (chiamate al S.O. - INT nn: messaggi
generati a seconda di nn)
Exception (eccezioni) faults (anomalie rilevate prima dell’esecuzione di
un’istruzione)
traps (anomalie rilevate dopo l’esecuzione di un’istruzione)
aborts (anomalie non riconducibili ad una specifica istruzione)
![Page 23: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/23.jpg)
Interrupt hardware mascherabili
PAG. 23
![Page 24: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/24.jpg)
PAG. 24
INT03
tipo ?
00 1123:4567
01 130A:FF02
02 A001:345C
03 32B0:AA00
FF 3345:0100
04 2A07:010032B0 in CSAA00 in IP
memoria da 0000:0000
67 45 23 11 02 FF 0A 135C 34 01 A0 00 AA B0 3200 01 07 2A F3 FF 03 AA
Tabella dei vettoridelle interruzioni
![Page 25: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/25.jpg)
I computer sono dotati di una linea di interruzione NMI non mascherabile che viene sempre rilevata se asserita
Segnali fisici di interruzione Massima priorità MAI INTERROMPIBILI O ACCANTONABILI Situazioni di emergenza Soddisfatti al termine dell’istruzione in
corso
PAG. 25
Interrupt hardware non mascherabili
![Page 26: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/26.jpg)
Eccezioni Faults (guasti)= la CPU si autointerrompe in
presenza di un’istruzione che sicuramente causerà un’anomalia (out of memory)
Traps (trappole) = si verificano delle condizioni particolari (interrupt sw) dopo aver eseguito una certa istruzione
Aborts (terminazione anormale) = in presenza di anomalie, la CPU non riesce a risalire alla istruzione che ha determinato l’anomalia (hw che non risponde)
26
![Page 27: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/27.jpg)
Il clockIl clock
Componenti diversi del computer sono sincronizzati in base a clock diversidiversi.
Sulla scheda madre esiste un circuito che genera il clock clock principaleprincipale; un “tick” di questo clock rappresenta la più piccola unità di tempo durante la quale può venire eseguita un’elaborazione di qualche tipo.
Il “clock” principale è usato come base da altri circuiti che ne generano multiplimultipli o sottomultiplisottomultipli, per regolare le operazioni di dispositivi più veloci o più lenti.
![Page 28: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/28.jpg)
Il clockIl clock
In altre parole... Il clock detto anche orologio del sistemaorologio del sistema fornisce al computer un battito regolare e sincrono
Qualsiasi funzione eseguita dal microprocessore impiega un certo numero di battiti dell’orologio del sistema: in un elaboratore a 2167 MHz il segnale dell’orologio oscilla 2 miliardi e 167 milioni di volte al secondo
![Page 29: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/29.jpg)
Funzionamento sincrono\Funzionamento sincrono\asincronoasincrono
Tuttavia, non tutti i circuiti del PC lavorano al ritmo dell’orologio di sistema…
Se lo fanno sono sincronisincroni, in caso contrario asincroniasincroni EsempioEsempio: quando viene usata la tastiera, non si possono sincronizzare le battute (che dipendono dall’operatore umano) la tastiera è una periferica asincrona
Gli eventi asincroniasincroni sono gestiti dal dispositivo di dispositivo di controllo dell’interruptcontrollo dell’interrupt
In una comunicazione asincrona, i dispositivi che comunicano (es., la tastiera e il microprocessore) non funzionano allo stesso ritmo ed è necessario un dispositivo addizionale che controlli se l’evento asincrono si è verificato
![Page 30: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/30.jpg)
Gestione di più dispositiviGestione di più dispositivi
Come può gestire la CPU due richieste di interrupt contemporanee?
CPU
Dispositivo 1 Dispositivo 2 Dispositivo 3
30PAG.
![Page 31: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/31.jpg)
Gestione di più dispositiviGestione di più dispositivi
Come può gestire la CPU due richieste di interrupt contemporanee?
CPU
Dispositivo 1 Dispositivo 2 Dispositivo 3
Circuito Arbitraggio Priorità
Dispositivo 4 Dispositivo 5 Dispositivo 6
31PAG.
![Page 32: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/32.jpg)
Controllore programmabile degli Controllore programmabile degli interruptinterrupt
il PICPIC, Programmable Interrupt Controller Programmable Interrupt Controller, ordina gli interrupt per il trattamento da parte della CPU, la quale risponde eseguendo l’apposita routine di gestione dell’interruptgestione dell’interruptIl dispositivo di controllo dell’interrupt individua il verificarsi di un evento…
…per esempio che è stato premuto un tasto, e segnala al microprocessore che la tastiera richiede attenzione; il microprocessore avverte il segnale di interruptinterrupt e interrompe quello che sta facendo per servire il dispositivoCompletato il servizio (es., trasferimento della lettera digitata), il microprocessore riprende il ritmo usuale
![Page 33: GLI INTERRUPT 1 PAG.. Inquadrare il problema SISTEMA DELLE INTERRUZIONI: INFRASTRUTTURA PER LA GESTIONE DI EVENTI PARTICOLARI LORGANIZZAZIONE DIPENDE](https://reader036.vdocuments.site/reader036/viewer/2022062701/5542eb5a497959361e8c6873/html5/thumbnails/33.jpg)
Interrupt hw mascherabili
33