Maybaygiare.org

Blog Network

GeeksforGeeks

Interrupt è un segnale emesso da hardware o software quando un processo o un evento ha bisogno di attenzione immediata. Avvisa il processore di un processo ad alta priorità che richiede l’interruzione del processo di lavoro corrente. Nei dispositivi I/O una delle linee di controllo del bus è dedicata a questo scopo e viene chiamata Interrupt Service Routine (ISR).

Quando un dispositivo solleva un interrupt al processo i, il processore completa prima l’esecuzione dell’istruzione i. Quindi carica il Program Counter (PC) con l’indirizzo della prima istruzione dell’ISR. Prima di caricare il contatore del programma con l’indirizzo, l’indirizzo dell’istruzione interrotta viene spostato in una posizione temporanea. Pertanto, dopo aver gestito l’interrupt, il processore può continuare con il processo i + 1.

Mentre il processore gestisce gli interrupt, deve informare il dispositivo che la sua richiesta è stata riconosciuta in modo che interrompa l’invio del segnale di richiesta di interrupt. Inoltre, il salvataggio dei registri in modo che il processo interrotto possa essere ripristinato in futuro, aumenta il ritardo tra il momento in cui viene ricevuto un interrupt e l’inizio dell’esecuzione dell’ISR. Questo è chiamato Interrupt Lattency.

Interrupt hardware:
In un interrupt hardware, tutti i dispositivi sono collegati alla linea di richiesta di Interrupt. Una singola riga di richiesta viene utilizzata per tutti i dispositivi n. Per richiedere un interrupt, un dispositivo chiude l’interruttore associato. Quando un dispositivo richiede un interrupt, il valore di INTR è l’OR logico delle richieste provenienti da singoli dispositivi.

Sequenza di eventi coinvolti nella gestione di un IRQ:

  1. I dispositivi generano un IRQ.
  2. Processore interrompe il programma attualmente in esecuzione.
  3. Il dispositivo viene informato che la sua richiesta è stata riconosciuta e il dispositivo disattiva il segnale di richiesta.
  4. Viene eseguita l’azione richiesta.
  5. Interrupt è abilitato e il programma interrotto viene ripreso.

Gestione di più dispositivi:
Quando più di un dispositivo genera un segnale di richiesta di interrupt, sono necessarie ulteriori informazioni per decidere quale dispositivo da considerare per primo. I seguenti metodi vengono utilizzati per decidere quale dispositivo selezionare: Polling, Interrupt vectored e Nidificazione degli interrupt. Questi sono spiegati come segue di seguito.

  1. Polling:
    Nel polling, il primo dispositivo incontrato con con IRQ bit set è il dispositivo che deve essere servito per primo. L’ISR appropriato è chiamato a servire lo stesso. È facile da implementare, ma un sacco di tempo viene sprecato interrogando il bit IRQ di tutti i dispositivi.
  2. Interrupt Vectored:
    Negli interrupt vectored, un dispositivo che richiede un interrupt si identifica direttamente inviando un codice speciale al processore sul bus. Ciò consente al processore di identificare il dispositivo che ha generato l’interrupt. Il codice speciale può essere l’indirizzo iniziale dell’ISR o dove l’ISR si trova in memoria, ed è chiamato il vettore di interrupt.
  3. Interrupt Nesting:
    In questo metodo, il dispositivo I / O è organizzato in una struttura prioritaria. Pertanto, la richiesta di interrupt da un dispositivo a priorità più alta viene riconosciuta dove come richiesta da un dispositivo a priorità più bassa non lo è. Per implementare questo ogni processo / dispositivo (anche il processore). Il processore accetta interrupt solo da dispositivi / processi con priorità maggiore di quella.

La priorità dei processori è codificata in pochi bit di PS (registro stato processo). Può essere modificato dalle istruzioni del programma che scrivono nel PS. Il processore è in modalità supervisionata solo durante l’esecuzione delle routine del sistema operativo. Passa alla modalità utente prima di eseguire programmi applicativi.

Lettore di attenzione! Non smettere di imparare ora. Entrare in possesso di tutti gli importanti concetti di Teoria CS per le interviste SDE con il corso di Teoria CS ad un prezzo studente-friendly e diventare industria pronta.

Tag articolo:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.