Anteprima
Vedrai una selezione di 1 pagina su 3
Calcolatori elettronici - il sistema delle interruzioni Pag. 1
1 su 3
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Il salvataggio dello stato e la latenza di interrupt

Il salvataggio dello stato, uno degli algoritmi realizzati nel sistema operativo, riprende il programma interrotto dopo averne ripristinato il contesto e passa all'esecuzione di un altro programma. L'operazione di salvataggio richiede solamente che sia conservato lo stretto indispensabile, perché può richiedere 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.

Le cause di un'interruzione sono in generale eventi esterni al programma in corso e, dunque, asincroni 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 alsistema 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
Dettagli
Publisher
A.A. 2012-2013
3 pagine
2 download
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

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à Università degli studi di Napoli Federico II o del prof Mazzocca Nicola.