Indice dei contenuti
ToggleChe cos’è un interrupt?
(1) L'invenzione degli interrupt è stata utilizzata per soddisfare esigenze di macro-parallelo. "Macro" significa considerare il tutto nel suo insieme, mentre "parallelo" significa che più operazioni vengono eseguite contemporaneamente.
(2) Il parallelismo microscopico si riferisce al parallelismo vero e proprio, ovvero al fatto che più cose avvengano contemporaneamente, con una precisione al secondo o addirittura all’istante. Il parallelismo a livello macro non equivale al parallelismo a livello micro. A volte si ha un parallelismo a livello macro e una sequenzialità a livello micro.
(3) Nell’esempio, una persona sta guardando un film. Quando arriva il corriere, mette in pausa il film e corre ad aprire la porta. Dopo aver ricevuto il pacco, torna a guardare il film. Questo esempio illustra il parallelismo macroscopico e la serializzazione microscopica. Nell’esempio, una persona equivale a una CPU (ovvero una CPU single-core) nel SoC. Questa CPU non può ricevere la consegna espressa mentre guarda un film, né può guardare un film mentre riceve la consegna espressa (ovvero, non può essere veramente parallela). Una CPU single-core è seriale da un punto di vista microscopico, ma poiché la CPU è molto veloce, può essere parallela da un punto di vista macroscopico.
(4) Nell’esempio sopra riportato, la maggior parte del tempo viene dedicata alla visione di film, mentre una piccola parte è dedicata al ritiro di pacchi con corriere espresso. Quindi, analogamente alla CPU, la visione di film dovrebbe essere un’attività regolare della CPU, mentre il ritiro dei pacchi con corriere espresso dovrebbe essere una routine di interruzione. In altre parole, la CPU sta svolgendo l’attività di visione dei film. Quando arriva la spedizione (si verifica un’interruzione), il corriere (analogo alla fonte dell’interruzione) chiamerà qualcuno per ritirare la spedizione (la fonte dell’interruzione attiverà un’interruzione per avvisare la CPU di riprendere l’attività regolare) e continuerà a svolgere le attività regolari.
(5) Perché sono necessari gli interrupt? Perché una CPU single-core non può essere realmente parallela, ma attraverso il meccanismo degli interrupt è possibile ottenere un falso parallelismo (parallelo in senso macro, ma seriale in senso micro).

Terminologia informatica
Per "interruzione" si intende che, quando durante il funzionamento del computer si verificano situazioni impreviste che richiedono l'intervento dell'utente, la macchina è in grado di interrompere automaticamente il programma in esecuzione e passare al programma che gestisce la nuova situazione. Una volta completata l'elaborazione, torna al programma originariamente sospeso per continuare l'esecuzione.
Spiegazione della terminologia
Si riferisce all'intero processo mediante il quale il processore gestisce le emergenze che si verificano durante l'esecuzione del programma. Durante l'esecuzione del programma, se si verifica un'emergenza al di fuori del sistema, all'interno del sistema o nel programma stesso, il processore interrompe immediatamente l'esecuzione del programma corrente e passa automaticamente al programma di elaborazione corrispondente (routine di servizio di interruzione). Una volta completata l’elaborazione, si ritorna al funzionamento del programma originale; l’intero processo è denominato «interruzione di programma».
Quando il processore accetta l'interruzione, deve semplicemente sospendere l'esecuzione per uno o più cicli senza eseguire il gestore dell'interruzione; si tratta di un'interruzione di programma. È un'interruzione semplice.
Gli interrupt possono essere suddivisi in due categorie: interrupt mascherati e interrupt non mascherabili. Gli interrupt che possono essere controllati dal programma sono chiamati interrupt mascherati o interrupt mascherabili. Quando sono mascherati, il processore non accetta gli interrupt. Al contrario, quelli non mascherabili non possono essere controllati dal programma. Gli interrupt che sono protetti e devono essere elaborati immediatamente dal processore sono chiamati interrupt non mascherabili o interrupt non mascherabili.
Gli interrupt non mascherabili vengono utilizzati principalmente in situazioni quali interruzioni di corrente e guasti all’alimentazione che richiedono un intervento immediato. Quando il processore risponde a un interrupt, non è necessario eseguire un programma di interrogazione. Un interrupt che invia un indirizzo vettoriale alla CPU dalla sorgente dell’interrupt a cui si risponde è denominato interrupt vettoriale, mentre quello che non lo fa è un interrupt non vettoriale. Gli interrupt vettoriali possono migliorare la velocità di risposta agli interrupt.
Articoli informativi correlati
- Che cos'è la porta seriale parallela, la connessione alla porta seriale
- Che cos'è la comunicazione simplex e full-duplex?
- Che cos’è un DTU GPRS e come funziona: una spiegazione
- Analisi comparativa tra RTU e PLC: quali sono i vantaggi dell'RTU?
- Che cos’è un interrupt esterno e qual è la modalità di attivazione dell’interrupt esterno?


