Differenza tra polling e interrupt in informatica

Differenza tra polling e interrupt in informatica

In determinati momenti, il processore principale smette di funzionare e controlla se qualche controller ha un messaggio per esso, se lo ha, elabora il messaggio e riprende il funzionamento. Questo si chiama polling. Inoltre, è chiaro che il processore principale fa il suo lavoro e i dispositivi stanno facendo il loro lavoro. Se il dispositivo termina il suo lavoro o si verifica un errore, il dispositivo informa il processore principale con una richiesta di interruzione.

Polling

Nei sistemi in cui più circuiti logici esterni comunicano attraverso più interconnessioni U / I con un singolo microprocessore, viene utilizzato il polling U/I. Il microcomputer chiama periodicamente ogni circuito logico esterno ed esamina se ha richiesto il servizio. Se il circuito logico esterno non richiede manutenzione, il microelaboratore esamina il successivo circuito logico esterno, ecc. Se uno di essi richiede manutenzione, il microelaboratore passa all’esecuzione del programma di servizio del rispettivo circuito logico esterno. La funzione di trasferimento U/I è inclusa nel programma. In altre parole, il polling è un processo di chiamata del client (computer o terminali) che può inviare dati dopo essere stato chiamato (se ne hanno). Se il client dispone di dati, li invia dopo il sondaggio e se non ci sono dati il ​​client risponde negativamente e il server chiama il client successivo. Alcuni dispositivi potrebbero richiedere la manutenzione del controller (ad esempio, quando alcuni dispositivi terminano la misurazione o quando si verifica un errore). La richiesta viene inviata al controller impostando la linea SRQ su bassa. Dopo che il controllore ha ricevuto una richiesta di servizio, chiama tutti i dispositivi sul bus per trovare il dispositivo che ha inviato quella richiesta.

Interrupt

Durante l’esecuzione di un programma, il microprocessore può ricevere il segnale di interruzione tramite le apposite linee IRQ. L’interruzione viene più comunemente eseguita chiamando la subroutine di sistema appropriata per l’elaborazione degli interrupt: si tratta delle cosiddette elaborazioni di routine di interruzione del BIOS o DOS. Dopo l’elaborazione dell’interruzione, il processore continua a eseguire il programma interrotto. Inoltre, il programma applicativo stesso può contenere un’istruzione che richiede l’esecuzione di una routine di interrupt BIOS o DOS. Le operazioni di input-output vengono eseguite più comunemente in questo modo. Ad esempio, se un programma desidera stampare un segno sullo schermo, può farlo chiamando la routine di interrupt appropriata. Il BIOS contiene una serie di routine di input-output elementari che vengono eseguite in modo relativamente rapido, e le routine DOS corrispondenti sono più lente ma le loro capacità sono maggiori (la possibilità di sovrascrivere i canali di input-output, la possibilità di controllare gli errori e così via). Pertanto, l’interrupt hardware è il segnale ricevuto dal processore da un altro dispositivo nel computer e l’interrupt software è il processo di esecuzione di una routine BIOS o DOS (subroutine) che viene automaticamente chiamata per elaborare il segnale di interrupt ricevuto o viene chiamata per eseguire le istruzioni corrispondenti.

Differenza tra polling e interrupt in informatica

Differenza tra polling e interrupt

  1. In caso di polling viene eseguita una lettura ciclica dei dispositivi collegati ad una CPU. Se il circuito logico esterno non richiede manutenzione, il microcomputer esamina il successivo circuito logico esterno. Se uno di essi richiede manutenzione, il microelaboratore passa all’esecuzione di un programma per servire il rispettivo circuito logico esterno.
  2. In caso di interruzione, su richiesta della logica esterna, il microelaboratore interrompe l’esecuzione del programma in corso e passa all’esecuzione del programma di interruzione. La struttura interrotta permette al microprocessore di rispondere ad eventi asincroni, ovvero richieste dalla logica esterna, di non attendere nel loop per esaminare lo stato del circuito logico esterno.

Differenza tra polling e interrupt

Vantaggi del polling e dell’interrupt

Alcuni dei vantaggi del polling sono il programma relativamente semplice, l’affidabilità della trasmissione che avviene alla massima velocità, cioè non appena il dispositivo I / O è pronto e la non necessità di chip di accesso aggiuntivi. L’interruzione è vantaggiosa perché può servire più dispositivi, è più flessibile ed efficiente.

Svantaggi del polling e dell’interrupt

Gli svantaggi del polling sono il tempo di standby di alcuni dispositivi che è più breve del tempo di risposta e quindi dovrebbe essere applicato un altro metodo di trasmissione, oltre al fatto che la CPU consuma tempo non necessario per controllare i dispositivi che non hanno cercato il trasferimento dei dati. Gli svantaggi degli interrupt sono la necessità di hardware / software più complessi e la perdita di tempo fino a quando la CPU non stabilisce quali unità richiedono l’interruzione.

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 *