martes, 20 de marzo de 2018

Interrupciones de Hardware



Interrupción (también conocida como interrupción de hardware o petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.
Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se reanuda la ejecución del programa.
Las interrupciones surgen de las necesidades que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema de computación. La primera técnica que se empleó fue que el propio procesador se encargara de sondear (polling) los dispositivos cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para él. Este método presentaba el inconveniente de ser muy ineficiente, ya que el procesador constantemente consumía tiempo en realizar todas las instrucciones de sondeo.
El mecanismo de interrupciones fue la solución que permitió al procesador desentenderse de esta problemática, y delegar en el dispositivo la responsabilidad de comunicarse con el procesador cuando lo necesitara. El procesador, en este caso, no sondea a ningún dispositivo, sino que queda a la espera de que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una transferencia de información, una condición de error, etc.)


  • ENMASCARABLE

Todos los microprocesadores prevén algún mecanismo para sincronizar sucesos externos, tales como los fallos de alimentación, peticiones de servicio de señales exteriores, etc. Un método sencillo es el llamado “pollin” que consiste en asociar cada posible suceso asíncrono a un indicador que permite reconocer si el suceso correspondiente necesita ser atendido o no. El microprocesador comprueba todas los indicadores siguiendo una secuencia determinada, y da servicio a aquel que lo precisa. Este método es poco eficiente ya que el microprocesador ha de dedicarse exclusivamente a verificar el estado de los indicadores y, si el número de posibles sucesos externos es grande, el tiempo que pasa hasta que los atiende puede ser excesivamente largo.

El método de interrupciones es mucho más eficaz a la hora de atender peticiones aleatorias. El principio de funcionamiento es el siguiente: un suceso asíncrono que necesita servicio genera una petición de interrupción; cuando el microprocesador la recibe suspende momentáneamente el trabajo que está ejecutando y pasa a realizar la rutina de atención a la interrupción. Una vez finalizada continúa realizando el programa por donde lo dejó. Con este método el microprocesador sólo se ocupa de los sucesos externos cuando se recibe una petición de interrupción, pudiéndose dedicar el resto del tiempo a realizar otras tareas.





  •  NO ENMASCARABLE

Una interrupción no enmascarable (o NMI) es un tipo especial de interrupción usada en la mayoría de los microordenadores como el IBM PC y el Apple II.
Una interrupción no enmascarable causa que la CPU deje lo que está haciendo, cambie el puntero de instrucción para que apunte a una dirección particular y continúe ejecutando el código de esa dirección. Se diferencia de los otros tipos de interrupción en que los programadores no pueden hacer que la CPU las ignore, aunque algunos ordenadores pueden por medios externos bloquear esa señal, dando un efecto similar al resto de las interrupciones.




No hay comentarios:

Publicar un comentario

Chipsets

¿Qué es el chipset? Es el componente más importante de la tarjeta madre, es un grupo de chips que trabajan en conjunto para realizar una...