Interrupciones
Qué son?
Las interrupciones son un método del que disponen los dispositivos e incluso los procesos para hacer notar a la CPU la aparición de alguna circunstancia que requiera su intervención.
De este modo, los dispositivos pueden provocar que la CPU deje por el momento la tarea que estaba realizando y atienda la interrupción. Una vez atendida, seguirá con su laboranterior.
Cuando no existían interrupciones, era el procesador el que tenía que estar continuamente comprobando el estado del dispositivo cuando lo necesitaba.
Todo ese tiempo que el procesador estaba sondeando el estado de los dispositivos era tiempo que no se podía dedicar a otros procesos, con lo que significa esto en cuanto a rendimiento.
Por todo ello se pensó que lo mejor era queexistiera una línea especial entre el procesador y los dispositivos, por la que los dispositivos indicaban al procesador que ya estaban listos. Cuando al procesador le llega una interrupción, la atiende inmediatamente dejando de hacer lo que estuviera haciendo.
Para poder atenderla de la forma correcta, debe saber con anterioridad cómo tratarla. Por ello, las computadoras tienen en un sitio conocidode memoria las distintas rutinas de tratamiento para las diferentes interrupciones. El procesador reconoce la interrupción de la que se trata y busca en memoria la rutina correspondiente.
Una vez terminado el tratamiento de la interrupción, es muy importante que el procesador siga con lo que estaba haciendo. Por eso es muy importante que antes de tratar la interrupción se guarde de algunaforma el estado del computador, y al terminar la rutina de tratamiento se restaure el estado.
Cuáles son?
Atendiendo a su origen, en el PC existen tres tipos de interrupciones: Interrupciones hardware; interrupciones software , y excepciones del procesador .
Las interrupciones hardware:
Son interrupciones que se producen como resultado de, normalmente, una operación de E/S. No sonproducidas por ninguna instrucción de un programa sino por señales que producen los dispositivos para indicarle al procesador que necesitan ser atendidos. Las interrupciones de hardware son interesantes en cuanto a que permiten mejorar la productividad del procesador ya que este último puede ordenar una operación de E/S y en lugar de tener que esperar realizando una espera activa, a que el dispositivotermine, es decir, sin hacer ningún trabajo útil, se puede dedicar a atender a otro proceso o aplicaciones y cuando el dispositivo esté de nuevo disponible será el encargado de notificarle al procesador mediante la línea de interrupción que ya está preparado para continuar/terminar la operación de E/S.
Ocurren cuando un dispositivo necesita atención del procesador y genera una señaleléctrica en la línea IRQ que tiene asignada. Esta señal es recogida y procesada por el controlador de excepciones PIC antes de ser enviada al procesador, lo que puede realizarse de dos formas, según el tipo de interrupción sea enmascarable o no enmascarable.
Interrupción enmascarable:
Significa que, bajo control del software, el procesador puede aceptar o ignorar (enmascarar) la señal deinterrupción. Para ello se envía una señal a la patilla INTR , y el procesador la atiende o la ignora en función del contenido de un bit (IF) en un registro (FLAGS) que puede estar habilitado o deshabilitado ( H3.2). En el primer caso, cuando se recibe la señal, el procesador concluye la instrucción que estuviese en proceso y a continuación responde con una combinación de señales en algunas de suspatillas componiendo una sucesión de dos señales INTA ("Interrupt Acknowledge" H3.2.1).
La primera señal es simplemente un aviso; la segunda es una petición para que el PIC coloque en el bus de datos un Byte con el número de interrupción, de forma que el procesador pueda localizar el servicio solicitado. El valor recibido (0-255) es multiplicado por 4 para calcular la dirección del vector...
Regístrate para leer el documento completo.