Page 1566 - Informatica dalla A a Z
P. 1566
L’ALU può svolgere servizi anche per altre unità, come ad esempio l’Unità di Indirizzi, che
nelle moderne architettura utilizza un ALU dedicata.
Eccezioni ed Interrupt
Può capitare che il processore sia costretto ad interpretare segnali di Interrupt o segnali
dovuti ad eventi correlati all’esecuzione dell’istruzione corrente, le Eccezioni.
Un interrrupt è un segnale, asincrono, tramite il quale un dispositivo di I/O comunica al
processore il verificarsi di un determinato evento.
L’interrup viene “servito” se la sua priorità è superiore rispetto a quella in cui è attualmente
occupato il processore, altrimenti viene messo in attesa.
Nota: Le interruzioni generate dai programmi, sono dette Trap, e vengono gestite esatta-
mente come gli interrupt.
Quando il processore gestisce l’interrupt, assume pure il suo livello di priorità, in modo che
altri eventuali interrupt, con una priorità più bassa, non potranno interrompere tale pro-
cedura. Al termine della procedura, il processore ritorna al livello di priorità precedente.
Nota: La priorità del processore è registrata in un campo del registro di stato. I livelli par-
tono da 1 fino ad un massimo di 7.
Il processore deve saper riconoscere la natura dell’evento che ha prodotto uno di questi
segnali ed interpretarlo, per poter eseguire la giusta “operazione di servizio” (service rou-
tine).
Approfondimento: L’alternativa all’interrupt è il polling, cioè il processore deve interro-
gare il flag di stato dei vari dispositivi di I/O, sprecando enormi risorse.
Per eseguire queste operazioni, la prima cosa da fare è interrompere il normale ciclo di
istruzione ed eseguire la routine dedicata.
Approfondimento: Interrupt ed eccezioni sono sottoposte tutte al meccanismo della “prio-
rità”. Se le periferiche sono parecchie, e il livello massimo utilizzato non è sufficiente, allora
si ricorre alla tecnica del “Daisy chain”.
Questa tecnica associa ad ogni livello di priorità una catena di dispositivi di I/O.
Stati di Elaborazione
1562