Interruzioni
Modello di riferimento
- Architettura interna ed algoritmo del processore
- Il sistema delle interruzioni: modello fondamentale
- L’algoritmo del processore e le interruzioni
- Le cause di interruzione
- I registri del modello fondamentale
Gestione delle Interruzioni
Fasi nella gestione delle interruzioni
- evento interrompente
- accettazione dell’interruzione
- salvataggio del contesto (hardware)
- identificazione del dispositivo
- salto all’entry point della Iinterrupt Service Routine (ISR)
- salvataggio del contesto (software)
- servizio dell’interruzione
- ripristino del contesto (software)
- ripristino del contesto (hardware)
- ritorno all’esecuzione normale
Gestione delle Interruzioni
Sospensione del programma interrotto
- Le interruzioni possono essere totalmente asincrone rispetto alla normale esecuzione dei programmi
- Il servizio di una interruzione sospende il programma in un momento qualsiasi
- Sorge il problema di rendere il servizio dell’interruzione “trasparente” al programma interrotto.
- Ciò viene fatto salvando lo stato di esecuzione (che comprende il PC, i flag dei codici di condizione e il contenuto di qualsiasi registro usato dalla routine di gestione dell’interruzione) per poi ripristinarlo al termine dell’interruzione
Gestione delle Interruzioni
Latenza di un’interruzione
- Un’esigenza comune resta comunque quella di salvare lo stretto indispensabile poiché il salvataggio richiede trasferimenti di dati, eventualmente da e verso la memoria
- Data la frequenza con cui le interruzioni vengono prodotte, questo rappresenta quindi un carico aggiuntivo che deve essere ridotto al minimo
- Il salvataggio dello stato incrementa il ritardo tra l’istante di ricezione della richiesta di interruzione e l’istante in cui inizia l’esecuzione della routine di interrupt
- Questo tempo viene detto latenza di interrupt
Gestione delle Interruzioni
Identificazione dei dispositivi
- Serve in caso siano presenti più dispositivi che possono aver generato una interruzione
- Spesso esistono poche linee (o solo una) comuni per tutti i dispositivi
- Esistono diverse soluzioni
- Tutte le soluzioni impiegano un misto di hardware e di software
- Tutte le soluzioni dipendono fortemente sia dall’architettura del sistema che da quella del processore
- Gestione delle Interruzioni
Prossima lezione
Interruzioni e protezione nel 68000
- Organizzazione delle interruzioni nel 68000
- Interruzioni vettorizzate ed autovettorizzate
- Gestione della priorità
- Tabella delle interruzioni