Interrupt: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
irrilevante per questo lemma
Riga 3:
 
== Tipologie ==
 
 
Ci sono due tipi di interrupt:
 
Riga 33 ⟶ 31:
 
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| 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.
 
== Vettore degli eventi di un processore Intel ==
{| class="wikitable"
|+
!Numero di vettore
!Descrizione
|-
|0
|Errore di divisione
|-
|1
|Eccezione di debug
|-
|2
|Interruzione null
|-
|3
|breackpoint
|-
|4
|Eccezione di overflow
|-
|5
|Eccezione di range exceeded
|-
|6
|Codice operativo non valido
|-
|7
|Dispositivo non disponibile
|-
|8
|Doppi errore
|-
|9
|Overrun del segmento cooprocessore (riservato)
|-
|10
|Task state segment (tss) non valido
|-
|11
|Segmento non presente
|-
|12
|Errore di stack
|-
|13
|Protezione generale
|-
|14
|Errore di pagina
|-
|15
|Riservato Intel (da non utilizzare)
|-
|16
|Errore in virgola mobile
|-
|17
|Controllo dell'allineamento
|-
|18
|Controllo della macchina
|-
|19-31
|Riservati Intel (da non utilizzare)
|-
|32-255
|Interruzioni mascherabili
|}
 
== Bibliografia ==