Què és una interrupció: tipus i aplicacions

Proveu El Nostre Instrument Per Eliminar Problemes





Els ordinadors utilitzen sol·licituds d’interrupció per gestionar diverses funcions de maquinari. Les interrupcions de maquinari van ser introduïdes per primera vegada per la UNIVAC 1103 el 1953. La primera incidència d’emmascarament d’interrupcions va ser incorporada per IBM 650 el 1954. És essencial assignar diferents IRQ a diferents dispositius de maquinari per realitzar diverses funcions. Durant l'execució del programa, dispositius com els teclats, un ratolí requereixen serveis de CPU i genera una interrupció per cridar l'atenció de la CPU i processar el servei sol·licitat. Es coneixen com interromp . Un dels busos del dispositiu d'E / S dedicat a aquest propòsit es coneix com a rutina de servei d'interrupció (ISR). S'utilitzen en diverses aplicacions, com ara esdeveniments sensibles al temps, transferència de dades, èmfasi en esdeveniments anormals, temporitzadors de vigilància, trampes, etc.

Què és una interrupció?

Definició: Es coneix com a entrada senyal que té la màxima prioritat per a esdeveniments de maquinari o programari que requereixin un processament immediat d'un esdeveniment. Durant els primers dies de la informàtica, el processador va haver d’esperar al senyal per processar qualsevol esdeveniment. El processador ha de comprovar tots els programes de maquinari i programari per comprendre si hi ha cap senyal a processar. Aquest mètode consumiria diversos cicles de rellotge i ocuparia el processador. Per si de cas, si es generava algun senyal, el processador tornaria a trigar una mica a processar l’esdeveniment, cosa que provocaria un baix rendiment del sistema.




Es va introduir un nou mecanisme per superar aquest complicat procés. En aquest mecanisme, el maquinari o el programari enviaran el senyal a un processador, en lloc d’un processador que comprovi si hi ha cap senyal de maquinari o programari. El senyal avisa el processador amb la màxima prioritat i suspèn les activitats actuals guardant el seu estat i funció actuals i processa la interrupció immediatament, això es coneix com ISR. Com que dura poc, el processador reinicia les activitats normals tan bon punt es processa.

Interrompre

Interrompre



Tipus d’interrupció

Es classifiquen en dos tipus principals.

Interrupcions de maquinari

Senyal electrònic enviat des d’un dispositiu o maquinari extern per comunicar-se amb el processador que indica que requereix atenció immediata. Per exemple, els traços des d'un teclat o una acció d'un ratolí invoca interrupcions de maquinari que fan que la CPU el llegeixi i el processi. Per tant, arriba de manera asíncrona i durant qualsevol moment mentre s’executa una instrucció.

Les interrupcions de maquinari es classifiquen en dos tipus


  • Interrupcions enmascarables - Els processadors han d'interrompre el registre de màscares que permet activar i desactivar les interrupcions de maquinari. Cada senyal té una mica col·locat al registre de la màscara. Si es defineix aquest bit, s'activa i es desactiva una interrupció quan no es defineix un bit o viceversa. Els senyals que interrompen els processadors a través d’aquestes màscares s’anomenen interrupcions emmascarades.
  • Interrupcions no emmascarables (NMI) - Les MNI són les activitats de màxima prioritat que cal processar immediatament i en qualsevol situació, com ara un senyal de temps d'espera generat des d'un temporitzador de vigilància.

Interrupcions del programari

El propi processador sol·licita una interrupció del programari després d’executar determinades instruccions o si es compleixen unes condicions particulars. Aquestes poden ser una instrucció específica que provoca una interrupció, com ara trucades de subrutina, i que es pot activar inesperadament a causa d'errors d'execució del programa, coneguts com a excepcions o trampes.

Mètodes de desencadenament

En general, aquests senyals estan dissenyats per activar-se mitjançant un nivell de senyal lògic o una vora de senyal. Aquests mètodes són de dos tipus.

Interrupció activada per nivell

En aquest tipus, el mòdul d'entrada invoca una interrupció si s'afirma el nivell de servei d'aquesta. Si es continua afirmant una font d’interrupció quan el controlador d’interrupcions del firmware ho maneja, aquest mòdul es regenera i activa el controlador per tornar a invocar-lo. Les entrades activades pel nivell no són bones si es confirmen durant una major durada.

Interrupció activada per vora

Un mòdul d’entrada d’interrupcions activades per una vora invoca una interrupció tan aviat com identifica una vora que afirma: una caiguda o una vora ascendent. L’avantatge es nota quan canvia el nivell de font. Aquest tipus d’activació necessita una acció immediata, independentment de l’activitat de la font.

Activació del nivell de vora

activació de nivell de vora

Implementació del sistema

Les interrupcions s'aplicaran al maquinari com a component diferent juntament amb les línies de control, o bé integrat dins memòria subsistemes. Quan la implementació es realitza en maquinari, necessita un controlador d’interrupció programable (PCI) per connectar-se entre el pin d’entrada de la CPU i el dispositiu d’interrupció. PCI multiplexa diverses fonts d’interrupció a la línia de CPU simple o doble. Quan s’implementa el controlador de memòria, la ranura d’adreça de memòria del sistema s’assigna directament amb les interrupcions.

Sol·licituds d'interrupció compartides (IRQ)

Amb una interrupció activada per la vora, un pull-up o un pull-down resistència s'utilitza per conduir la línia d'interrupció. Aquesta línia transmet cada impuls produït per cada dispositiu. Si els impulsos d’interrupció generats des de diferents dispositius es produeixen a prop del temps, la CPU ha d’invocar una vora final del pols per no perdre les interrupcions, després de la qual la CPU s’assegura inspeccionar tots els dispositius per a les sol·licituds de servei. Les plaques base d’Industrial Architecture Architecture (ISA) amb bon comportament i resistències de tracció que comparteixen línies IRQ han de funcionar bé. No obstant això, diversos dispositius que comparteixen línia IRQ en sistemes antics amb una interfície de programació mal dissenyada fa que sigui difícil processar les interrupcions. D'altra banda, una nova arquitectura de sistema, com ara PCI, ajuda a proporcionar un alleujament considerable a aquest problema.

Híbrid

Un tipus d’implementació de sistemes híbrids té una combinació de senyalització activada per la vora i de nivell. El maquinari ha de buscar una vora i també verifica que si hi ha un senyal actiu durant un període determinat. Normalment s’utilitza un tipus híbrid per a l’entrada d’interrupció no emmascarable (NMI), que garanteix que les falses interrupcions no afectin el sistema.

Missatge - Senyalitzat

Una sol·licitud d’interrupció amb senyal de missatge per al servei que utilitza senyals del dispositiu mitjançant la transmissió d’un missatge a comunicació canal, com ara un ordinador autobús . Aquests no fan servir una línia d’interrupció física. PCI Express actua com a bus sèrie i s’utilitza exclusivament com a interrupcions amb senyal de missatge.

Timbre

La interrupció del timbre s’utilitza habitualment com a mecanisme d’un sistema de programari per senyalitzar el maquinari de l’ordinador per completar el treball. Després d’un acord mutu entre el maquinari i el programari, el programari col·loca les dades a la coneguda ubicació de memòria i fa sonar el timbre per notificar al maquinari que les dades estan preparades i esperen processar-les. Ara, el dispositiu de maquinari de l’ordinador entén que les dades són vàlides i les processa en conseqüència.

Multiprocessador IPI

Els sistemes multiprocessador, una sol·licitud d’interrupció d’un processador, s’envia a un processador diferent mitjançant interrupcions entre processadors (IPI)

Usos / Aplicacions típiques

Són entrades potents que solien utilitzar-se

  • Servei de temporitzadors de maquinari, maneig de cops de teclat i accions del ratolí
  • Respon ràpidament a esdeveniments sensibles al temps o en temps real
  • Transferència de dades a i des de dispositius perifèrics
  • Respon a tasques d'alta prioritat, com ara senyals d'apagada, paranys i temporitzadors de vigilància
  • Indica esdeveniments anormals de la CPU
  • La interrupció d’apagada preveu la pèrdua d’energia, cosa que permet l’aturada ordenada de la sistema
  • Interrupcions periòdiques per fer un seguiment del temps absolut

Preguntes freqüents

1). Per què s’utilitzen les interrupcions?

S’utilitzen per cridar l’atenció de la CPU per realitzar els serveis sol·licitats pel maquinari o pel programari.

2). Què és NMI?

NMI és una interrupció que no es pot emmascarar, que el processador no pot ignorar ni desactivar

3). Quina és la funció de la línia de confirmació d’interrupció?

El processador envia un senyal als dispositius indicant que està preparat per rebre interrupcions.

4). Descriviu la interrupció del maquinari. Posa exemples

És generat per un dispositiu o maquinari extern, com ara les tecles del teclat o el moviment del ratolí que invoca interrupcions de maquinari

5). Descriviu la interrupció del programari.

Es defineix com una instrucció especial que invoca una interrupció com ara trucades de subrutina. Les interrupcions del programari es poden activar inesperadament a causa d’errors d’execució del programa

6). Quina interrupció té la màxima prioritat?

  • S'ha activat la vora i el nivell no emmascarables
  • TRAP té la màxima prioritat

7). Doneu alguns usos de la interrupció

  • Respon ràpidament a esdeveniments sensibles al temps o en temps real
  • Transferència de dades a i des de dispositius perifèrics
  • Respon a tasques d'alta prioritat, com ara senyals d'apagada, paranys i temporitzadors de vigilància
  • Indica esdeveniments anormals de la CPU

8). Què és un tipus d’implementació de sistemes híbrids?

Un tipus d’implementació de sistemes híbrids té una combinació de senyalització activada per la vora i de nivell. El maquinari ha de buscar una vora i també verifica que si hi ha un senyal actiu durant un període determinat.

En aquest article hem entès la importància de interromp i com s’utilitzen per executar els serveis sol·licitats. També vam discutir quins són els tipus, la implementació del sistema i els seus usos.