Differenza tra interrupt vettoriali e non vettoriali in informatica

Differenza tra interrupt vettoriali e non vettoriali in informatica

Interruzioni vettoriali

In informatica, ai dispositivi che utilizzano interrupt vettoriali (in inglese vectored interrupt) viene assegnato un vettore di interrupt. Questo è un numero che identifica un particolare gestore di interrupt.

  • L’indirizzo ISR di questi interrupt è fisso ed è noto alla CPU.
  • Quando il dispositivo interrompe la CPU si dirama verso il particolare ISR.
  • Il microprocessore passa alla routine di servizio specifica.
  • Quando il microprocessore esegue l’istruzione di chiamata, salva l’indirizzo dell’istruzione successiva nello stack.
  • Alla fine della routine di servizio, l’istruzione RET (di ritorno) riporta l’esecuzione nel punto in cui il programma era stato interrotto.
  • Tutti gli interrupt 8051 sono interrupt vettorizzati.

Differenza tra interrupt vettoriali e non vettoriali in informatica

Interruzione non vettoriale

L’interrupt non vettoriale (in inglese non–vectored interrupt) è un interrupt che ha un ISR comune, che è comune a tutti gli interrupt non vettoriali nel sistema. L’indirizzo di questo ISR comune è noto alla CPU.

  • Gli interrupt che non hanno una posizione di memoria fissa per il trasferimento del controllo dalla normale esecuzione.
  • L’indirizzo della memoria viene inviato insieme all’interrupt.
  • La CPU in modo cruciale non sa quale dispositivo ha causato l’interrupt senza eseguire il polling di ciascuna interfaccia I/O in un loop.
  • Una volta che si verifica l’interruzione, il sistema deve determinare quale dispositivo, tra tutti i dispositivi associati, è effettivamente interrotto.

Differenza interrupt vettoriali e non vettoriali

Un interrupt vettoriale è il punto in cui la CPU conosce in anticipo l’indirizzo della routine del servizio di interrupt. Tutto ciò di cui ha bisogno è che il dispositivo di interruzione invii il suo vettore unico attraverso un bus dati e attraverso la sua interfaccia I / O alla CPU. La CPU prende questo vettore, controlla una tabella di interrupt in memoria e quindi esegue l’ISR corretto per quel dispositivo. Pertanto, l’interrupt vettoriale consente alla CPU di essere in grado di sapere che ISR deve eseguire in software (memoria).

Un interrupt non vettoriale è dove il dispositivo di interruzione non invia un vettore di interrupt. Un interrupt viene ricevuto dalla CPU e salta il contatore del programma a un indirizzo fisso nell’hardware. Questo è in genere un ISR hardcoded indipendente dal dispositivo. Fondamentalmente la CPU non sa quale dispositivo ha causato l’interrupt senza interrogare ciascuna interfaccia O / I in un loop e controllare il registro di stato di ciascuna interfaccia I/O per trovare quello con lo stato di “interrupt creato”.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *