Che cos'è un interrupt: tipi e sue applicazioni

Prova Il Nostro Strumento Per Eliminare I Problemi





I PC utilizzano le richieste di interrupt per gestire varie funzioni hardware. Gli interrupt hardware furono introdotti per la prima volta dall'UNIVAC 1103 nel 1953. La prima incidenza di mascheramento degli interrupt fu incorporata da IBM 650 nel 1954. È essenziale assegnare diversi IRQ a diversi dispositivi hardware per eseguire varie funzioni. Durante l'esecuzione del programma, dispositivi come tastiere, un mouse richiedono servizi di CPU e genera un interrupt per ottenere l'attenzione dalla CPU ed elaborare il servizio richiesto. Questi sono conosciuti come interrompe . Uno dei bus del dispositivo I / O è dedicato a questo scopo è noto come Interrupt Service Routine (ISR). Questi sono utilizzati in varie applicazioni come eventi sensibili al tempo, trasferimento dati, enfasi su eventi anomali, timer watchdog, trap, ecc.

Cos'è un interrupt?

Definizione: Viene definito input segnale che ha la massima priorità per eventi hardware o software che richiedono l'elaborazione immediata di un evento. Durante i primi giorni di informatica, il processore ha dovuto attendere il segnale per elaborare eventuali eventi. Il processore dovrebbe controllare ogni programma hardware e software per capire se c'è qualche segnale da elaborare. Questo metodo consumerebbe una serie di cicli di clock e renderebbe il processore occupato. Nel caso in cui, se fosse stato generato un segnale, il processore impiegherebbe ancora un po 'di tempo per elaborare l'evento, portando a scarse prestazioni del sistema.




È stato introdotto un nuovo meccanismo per superare questo complicato processo. In questo meccanismo, l'hardware o il software invierà il segnale a un processore, piuttosto che un processore che controlla qualsiasi segnale dall'hardware o dal software. Il segnale avvisa il processore con la massima priorità e sospende le attività correnti salvando il suo stato e la sua funzione attuali, ed elabora immediatamente l'interruzione, questo è noto come ISR. Poiché non dura a lungo, il processore riavvia le normali attività non appena viene elaborato.

Interrompere

Interrompere



Tipi di interruzione

Questi sono classificati in due tipi principali.

Interrupt hardware

Un segnale elettronico inviato da un dispositivo esterno o hardware per comunicare con il processore che indica che richiede attenzione immediata. Ad esempio, i tratti di una tastiera o un'azione di un mouse richiamano interruzioni hardware che inducono la CPU a leggerle ed elaborarle. Quindi arriva in modo asincrono e in qualsiasi momento durante l'esecuzione di un'istruzione.

Gli interrupt hardware sono classificati in due tipi


  • Interruzioni mascherabili - I processori devono interrompere il registro della maschera che consente l'abilitazione e la disabilitazione degli interrupt hardware. Ogni segnale ha un bit posizionato nel registro della maschera. Se questo bit è impostato, un interrupt è abilitato e disabilitato quando un bit non è impostato, o viceversa. I segnali che interrompono i processori attraverso queste maschere sono indicati come interruzioni mascherate.
  • Interrupt non mascherabili (NMI) - Gli NMI sono le attività con la massima priorità che devono essere elaborate immediatamente e in qualsiasi situazione, come un segnale di timeout generato da un timer watchdog.

Interruzioni software

Il processore stesso richiede un interrupt del software dopo aver eseguito determinate istruzioni o se sono soddisfatte particolari condizioni. Queste possono essere un'istruzione specifica che attiva un interrupt come chiamate di subroutine e possono essere attivate in modo imprevisto a causa di errori di esecuzione del programma, noti come eccezioni o trap.

Metodi di attivazione

In genere, questi segnali sono progettati per eseguire il trigger utilizzando un livello di segnale logico o un fronte di segnale. Questi metodi sono di due tipi.

Interruzione attivata dal livello

In questo tipo, il modulo di ingresso richiama un interrupt se il livello di servizio di questo viene affermato. Se una sorgente di interrupt continua ad essere asserita quando il gestore di interrupt del firmware la gestisce, questo modulo si rigenera e attiva di nuovo il gestore per invocare. Gli input attivati ​​dal livello non sono buoni se rimangono affermati per una durata maggiore.

Interrupt attivato dal fronte

Un modulo di ingresso di interrupt attivato dal fronte richiama un interrupt non appena identifica un fronte di asserzione, un fronte di discesa o di salita. Il limite viene notato quando il livello della sorgente cambia. Questo tipo di attivazione richiede un'azione immediata, indipendentemente dall'attività della sorgente.

Trigger a livello di bordo

trigger di livello

Implementazione del sistema

Gli interrupt devono essere applicati all'hardware come un componente diverso insieme alle linee di controllo, o integrato in memoria sottosistemi. Quando l'implementazione viene eseguita nell'hardware, è necessario un PCI (Programmable Interrupt Controller) per il collegamento tra il pin di ingresso della CPU e il dispositivo di interruzione. PCI multiplexa varie fonti di interrupt alla linea CPU singola o doppia. Quando implementato in relazione al controller di memoria, lo slot dell'indirizzo di memoria del sistema viene mappato direttamente con gli interrupt.

Richieste di interrupt condivisi (IRQ)

Con interruzione edge-triggered, pull-up o pull-down resistore viene utilizzato per guidare la linea di interrupt. Questa linea trasmette ogni impulso prodotto da ogni dispositivo. Se gli impulsi di interrupt generati da diversi dispositivi avvengono vicini nel tempo, la CPU deve invocare un fronte di uscita dell'impulso per non perdere gli interrupt, dopodiché la CPU si assicura di ispezionare ogni dispositivo per le richieste di servizio. Una scheda madre ISA (Industry Standard Architecture) ben educata con resistori pull-up che condividono linee IRQ devono funzionare bene. Tuttavia, più dispositivi che condividono la linea IRQ in sistemi meno recenti con un'interfaccia di programmazione mal progettata rendono difficile elaborare gli interrupt. D'altra parte, una nuova architettura di sistema, come PCI, aiuta a fornire un notevole sollievo a questo problema.

Ibrido

Un tipo ibrido di implementazione del sistema ha una combinazione di segnalazione sia triggerata dal fronte che triggerata dal livello. L'hardware cercherà un fronte e verificherà anche che se un segnale è attivo per un certo periodo. Un tipo ibrido viene comunemente utilizzato per l'input di interrupt non mascherabile (NMI), che garantisce che i falsi interrupt non influenzino il sistema.

Messaggio - Segnalato

Una richiesta di interruzione segnalata da messaggio per il servizio che utilizza i segnali del dispositivo trasmettendo un messaggio su un file comunicazione canale, come un computer autobus . Questi non utilizzano una linea di interruzione fisica. PCI Express funge da bus seriale e viene utilizzato esclusivamente come interrupt segnalato da messaggi.

Campanello di casa

L'interruzione del campanello è comunemente usata come meccanismo da un sistema software per segnalare all'hardware del computer di completare il lavoro. Di comune accordo tra hardware e software, il software inserisce i dati nella nota posizione di memoria e suona il campanello per notificare all'hardware che i dati sono pronti e in attesa di essere elaborati. Ora, il dispositivo hardware del computer comprende che i dati sono validi e li elabora di conseguenza.

IPI multiprocessore

Nei sistemi multiprocessore, una richiesta di interrupt da un processore viene inviata a un processore diverso tramite interrupt tra processori (IPI)

Usi / applicazioni tipici

Questi sono input potenti tipicamente utilizzati

  • Timer hardware di servizio, gestisci i tratti della tastiera e le azioni del mouse
  • Rispondi rapidamente a eventi sensibili al tempo o in tempo reale
  • Trasferimento dati da e verso dispositivi periferici
  • Risponde ad attività ad alta priorità come segnali di spegnimento, trap e timer watchdog
  • Indica eventi anomali della CPU
  • L'interruzione dell'alimentazione prevede la perdita di potenza, consentendo lo spegnimento ordinato del sistema
  • Interruzioni periodiche per tenere traccia del tempo assoluto

Domande frequenti

1). Perché vengono utilizzati gli interrupt?

Questi vengono utilizzati per attirare l'attenzione della CPU per eseguire i servizi richiesti dall'hardware o dal software.

2). Cos'è l'NMI?

NMI è un interrupt non mascherabile, che non può essere ignorato o disabilitato dal processore

3). Qual è la funzione della linea di riconoscimento dell'interruzione?

Il processore invia un segnale ai dispositivi indicando che è pronto a ricevere interruzioni.

4). Descrivi l'interruzione hardware. Dare esempi

Viene generato da un dispositivo esterno o hardware come i tasti della tastiera o il movimento del mouse invoca interruzioni hardware

5). Descrivi l'interruzione del software.

È definita come un'istruzione speciale che richiama un interrupt come le chiamate di subroutine. Gli interrupt software possono essere attivati ​​in modo imprevisto a causa di errori di esecuzione del programma

6). Quale interrupt ha la priorità più alta?

  • Bordo non mascherabile e livello attivato
  • TRAP ha la massima priorità

7). Dai alcuni usi dell'interruzione

  • Rispondi rapidamente a eventi sensibili al tempo o in tempo reale
  • Trasferimento dati da e verso dispositivi periferici
  • Risponde ad attività ad alta priorità come segnali di spegnimento, trap e timer watchdog
  • Indica eventi anomali della CPU

8). Cos'è un tipo ibrido di implementazione del sistema?

Un tipo ibrido di implementazione del sistema ha una combinazione di segnalazione sia triggerata dal fronte che triggerata dal livello. L'hardware cercherà un fronte e verificherà anche che se un segnale è attivo per un certo periodo.

In questo articolo abbiamo compreso l'importanza di interrompe e come questi vengono utilizzati per eseguire i servizi richiesti. Abbiamo anche discusso quali sono i tipi, l'implementazione del sistema e i suoi usi.