Che materia stai cercando?

Anteprima

ESTRATTO DOCUMENTO

degli algoritmi realizzati nel sistema operativo, riprende il programma interrotto dopo averne ripristinato il contesto o

salta all’esecuzione di un altro programma.

L’operazione di salvataggio richiede solamente che sia conservato lo stretto indispensabile, perché essa

richiede trasferimenti di dati, eventualmente, da e verso la memoria. Il salvataggio dello stato incrementa il ritardo tra

l’istante di ricezione della richiesta di interruzione e l’istante in cui la stessa interruzione viene servita, questo tempo è

detto latenza di interrupt. Volendo essere più precisi, la latenza di un’interruzione è il tempo massimo che

intercorre tra la richiesta di attenzione e l’effettivo servizio dell’interruzione stessa.

istruzione check abilitazione switch

corrente t

LATENZA

richiesta servizio

LE CAUSE DI INTERRUZIONE

La causa di un’interruzione è in generale un evento esterno al programma in corso e, dunque, asincrono ad

esso. L’interruzione nasce, infatti, indipendentemente dal programma e, comprensibilmente, non è prevedibile l’istante

in cui essa si verifica. Esiste, tuttavia, una classe atipica di interruzioni programmata e pertanto sincrona con il

programma stesso. In ogni caso una causa non provoca mai di per sé un’interruzione, ma solo una richiesta. Oltre

l’abilitazione generale esistono abilitazioni selettive, che possono essere impostate mediante istruzioni.

Una tipica classificazione delle interruzioni è la seguente:

• interruzione periodica in tempo reale

generata da un orologio interno alla macchina con un periodo di ripetizione pari a qualche

millisecondo; la sua funzione principale è quella di misurare il tempo al fine di controllare la gestione

per i sistemi in multiprogrammazione o che basano la propria gestione sulla divisione del tempo;

• interruzione per richiesta di attenzione

generata da una richiesta periferica di collegarsi al sistema centrale;

• interruzione I/O

generata da un’unità periferica al termine di un’operazione di I/O al fine di risincronizzarsi con l’unità

centrale;

• interruzioni per errori nel programma (trap)

generata dall’hardware alla stessa unità centrale a causa di errori di esecuzione, che rendono

impossibile il proseguimento del funzionamento della macchina;

• interruzione per guasti nel sistema

generata da appositi circuiti di controllo, atti ad individuare i principali malfunzionamenti hardware;

• interruzioni programmate (software interrupt)

generata ad hoc per effetto dell’esecuzione di particolari istruzioni, atipiche in quanto sincrone,

costituiscono un valido mezzo per indurre meccanismi di interrupt.

REGISTRI NEL MODELLO FONDAMENTALE

Il modello fondamentale si basa su due registri speciali richiesta interruzione (RI), che memorizza le

richieste di interruzione, che avvengono all’interno del sistema ed un registro maschera delle interruzioni (M), che

abilita singolarmente le richieste. Il segnale di interruzione INT assume valore 1 se risultano contemporaneamente

vere le seguenti condizioni: INT = AG·∑ (RI ·M )

i i

Pertanto un segnale di interruzione è effettivamente presente se:

• tutto il sistema di interruzione è abilitato;

• l’i-ma causa ha richiesto l’interruzione;

• l’interruzione è abilitata dalla maschera.

MODALITÀ DI GESTIONE DELLE INTERRUZIONI

Se il processore è dotato di più dispositivi, che potenzialmente potrebbero fare richiesta d’attenzione, allora

necessariamente vi deve essere un meccanismo in grado di identificare quale dei componenti ha generato

l’interruzione, dal momento che diverse azioni devono essere intraprese a seconda del particolare dispositivo.

Ognuna delle componenti interfacciate col processore è fornita di una linea, attraverso la quale, sono

segnalate le richieste di interruzione. Sono tipicamente sfruttate due tipologie di soluzioni:

• soluzione a registri di stato

questa soluzione consiste nel dotare ogni dispositivo di un registro di stato; al momento della

richiesta di interruzione, il componente inizializza un bit nel registro di stato, il bit di interrupt

request (IRQ). La procedura di servizio inizia interrogando tutti i dispositivi in un certo ordine e,

trovato un bit alto, viene fatta partire la corrispondente routine di interrupt; questa interrogazione

ciclica è anche detta polling e risulta essere semplice nella sua realizzazione, pur avendo lo

svantaggio di richiedere svariato tempo per interrogare i dispositivi che non hanno richiesto alcun

servizio;

• soluzione ad interrupt vettorializzati

questo genere di meccanismo prevede che sia il dispositivo stesso a fornire un proprio identificativo

contestualmente ad una richiesta; l’identificativo è utile per calcolare l’indirizzo della routine di

interruzione, che deve essere invocata, rendendo il meccanismo molto efficiente. Il numero di bit


ACQUISTATO

2 volte

PAGINE

3

PESO

87.07 KB

PUBBLICATO

+1 anno fa


DETTAGLI
Corso di laurea: Corso di laurea in ingegneria informatica
SSD:
A.A.: 2013-2014

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher cecilialll di informazioni apprese con la frequenza delle lezioni di Calcolatori elettronici I e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Napoli Federico II - Unina o del prof Mazzocca Nicola.

Acquista con carta o conto PayPal

Scarica il file tutte le volte che vuoi

Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato

Recensioni
Ti è piaciuto questo appunto? Valutalo!

Altri appunti di Calcolatori elettronici i

Quaderno appunti presi a lezione con esercizi esame svolti
Appunto
Calcolatori elettronici I - Esercizi sugli Automi
Esercitazione
Calcolatori Elettronici I - Appunti e esercizi
Appunto
Calcolatori elettronici I - analisi
Appunto