Le interruzioni
Panoramica sul sistema delle interruzioni
L'algoritmo del processore esegue in modo strettamente sequenziale le istruzioni di un programma. Tuttavia, durante il suo ciclo possono accadere diversi eventi, che richiedono una sospensione del sistema e il processore, pertanto, innesca un meccanismo, che gli consenta di dedicarsi alla gestione di questi. Il sistema delle interruzioni è un insieme di soluzioni hardware e software, sfruttato per far fronte a evenienze di tal genere. Esso svolge un ruolo di primaria importanza anche nella sincronizzazione tra processore centrale e sistema di I/O, nel collegamento tra programmi utente e altro ancora.
bootstrap fetch operand assembly execute INT = 0 INT INT = 1 interrupt
Il modello del ciclo del processore semplificato, ormai, non è più adatto per spiegare questo meccanismo. Bisogna infatti aggiungere uno stadio, quello delle interruzioni, in cui il ciclo del processore entra se il segnale di interruzione è alto. Durante questa fase del ciclo non viene eseguito nulla; infatti, per avere l'esecuzione di un programma sarebbe necessario trovarsi tra la fase di fetch ed execute. Ciò che avviene in questo punto consiste in una serie di procedimenti, che preparano il processore alla gestione dell'interruzione.
Modello fondamentale del sistema
Il modello fondamentale del sistema delle interruzioni è provvisto delle caratteristiche che seguono, tuttavia, questo non impedisce a modelli più evoluti di esserne dotati di altri o diversi:
- Il segnale di abilitazione generale (AG) rende attivo il sistema delle interruzioni;
- Il segnale di interruzione (INT) individua la presenza di una richiesta di interruzione;
- Un unico apposito programma del sistema operativo detto interrupt service routine (ISR) è posto in memoria ad un indirizzo prefissato e contiene le istruzioni per il servizio di interruzioni;
- Il sistema hardware delle istruzioni è ridotto al minimo essendo affidata al software la gran parte della gestione.
Al termine di ciascun ciclo, se il valore del bit INT è alto, si dà avvio alla fase di interrupt, il cui scopo è quello di realizzare il salto allo speciale sottoprogramma ISR, che viene eseguito all'interno del ciclo del processore. Pertanto, le fasi che si hanno sono:
- Salvataggio del contesto corrente per consentire il ritorno al programma interrotto. All'hardware è affidato il solo salvataggio del registro PC e, quindi, tutti gli altri registri devono essere salvati mediante software, trasferendone il contenuto in apposite locazioni di memoria;
- Salto all'indirizzo della prima istruzione della ISR per servire l'interruzione.
-
Calcolatori Elettronici
-
Appunti Calcolatori elettronici I
-
Introduzione Calcolatori elettronici
-
Riassunto Calcolatori elettronici e reti di calcolatori 1