Nel mondo di oggi, Interrupt è diventato un argomento di costante interesse per la società. Fin dalla sua nascita, Interrupt ha catturato l'attenzione di persone di ogni età e provenienza, generando dibattiti, discussioni e riflessioni. Nel corso del tempo, Interrupt ha dimostrato la sua rilevanza in diversi aspetti della vita quotidiana, mostrando la sua influenza nella cultura, nella tecnologia, nella politica, nell'istruzione e in molti altri ambiti. È evidente che Interrupt continua a suscitare un interesse unico e speciale nelle persone, riflettendo il suo impatto duraturo sulla società odierna. In questo articolo esploreremo diverse prospettive e approcci su Interrupt, per comprenderne meglio l'importanza e il significato nel nostro mondo di oggi.
Un interrupt, in informatica, è un segnale asincrono che indica il "bisogno di attenzione" da parte di una periferica finalizzata ad una particolare richiesta di servizio, un evento sincrono che consente l'interruzione di un processo qualora si verifichino determinate condizioni (gestione dei processi) oppure più in generale una particolare richiesta al sistema operativo da parte di un processo in esecuzione.
Ci sono due tipi di interrupt:
Gli interrupt vengono utilizzati principalmente quando:
Nel momento in cui il processore riceve una richiesta di interrupt, vi è l'esigenza di determinare quale sia il dispositivo ad averla generata. Vi sono tre sistemi principali per farlo:
Nelle linee di interrupt multiple ad ogni dispositivo è associato un proprio piedino del microprocessore per la gestione degli interrupt. Questo sistema è impraticabile per la gestione degli interrupt di numerosi dispositivi ma può essere utilizzato in tecnologie special purpose.
Le linee di interrupt possono essere mascherabili o non mascherabili, quelle non mascherabili sono riservate ad eventi come errori irreversibili della memoria, mentre quelle mascherabili possono essere disattivate dalla CPU prima dell'esecuzione di sequenze di istruzioni critiche che non devono essere interrotte.
La scansione degli interrupt consiste nell'effettuare una scansione dei dispositivi, interrogando ognuno per un'eventuale conferma della richiesta di interrupt inviata. Quando il dispositivo che ha generato l'interrupt viene interrogato, invierà una conferma al processore e quest'ultimo avvierà la ISR relativa. Impostando la sequenza della scansione è possibile impostare la priorità.
La vettorizzazione fa uso di un circuito integrato detto Programmable Interrupt Controller che ha in ingresso un certo numero di linee di interrupt request (IRQ), usate dai dispositivi per richiedere un'interruzione. Quando riceve una richiesta, il PIC si occupa di inviare a sua volta una richiesta di interrupt al processore e, dopo che quest'ultimo ha confermato la richiesta (cosa che potrebbe non avvenire se gli interrupt fossero disabilitati), deposita nel bus dati l'indice del vettore di interrupt relativo all'indirizzo della ISR che gestisce l'interazione con il dispositivo. I vettori sono contenuti in una tabella situata ad una determinata locazione in memoria, predefinita o meno, e chiamata interrupt vector table (Interrupt Descriptor Table per 8086 e IA-32). Ogni vettore contiene i dati che permettono al processore di determinare l'indirizzo in memoria della ISR relativa al dispositivo che ha generato l'interrupt, e di gestire quindi l'operazione di I/O richiesta.
| Controllo di autorità | LCCN (EN) sh94000530 · GND (DE) 4625501-1 · BNF (FR) cb12457456k (data) · J9U (EN, HE) 987007558878605171 |
|---|