Descargar la presentación
La descarga está en progreso. Por favor, espere
1
INTERRUPCIONES EN LA PC
MATEO CORONEL MANUEL CORONEL INTERRUPCIONES EN LA PC
2
INTERRUPCIÓN Una interrupción es una operación que suspende la ejecución un programa cuando quiere comunicarse de modo que el sistema pueda realizar una acción especial. Una interrupción tiene una subrutina asociada que realiza lo que sea necesario para la interrupción, de este modo los dispositivos pueden provocar que la CPU deje la por el momento la tarea que estaba realizando y atienda la interrupción.
3
Es una señal que se puede originar en un dispositivo hardware o software, un componente software para indicar al procesador que algo requiere su atención inmediata; se solicita al procesador que suspenda lo que está haciendo para atender la petición. Las interrupciones juegan un papel fundamental, en especial en la operación de dispositivos E/S, ya que les permite enviar estas peticiones a la CPU, o estar en silencio mientras no requieran atención del procesador. Sin ellas el sistema debería chequear constantemente los dispositivos para comprobar su actividad.
4
FUNCIONAMIENTO Cuando un dispositivo reclama atención del procesador es para que este haga algo. Este "algo" es lo que se conoce como servicio; controlador o gestor de la interrupción. En cualquier caso se trata siempre de ejecutar un programa situado en algún lugar de la memoria RAM o en la ROM-BIOS. El diseño del PC solo permite 16 interrupciones distintas. La razón es que además de los servicios del BIOS, se cargan las direcciones de inicio de otras rutinas del Sistema Operativo, los denominados servicios del Sistema. Incluso es posible cargar direcciones para rutinas específicas de usuario.
5
¿Como se recibe la petición?
Un periférico, tarjeta o dispositivo necesita atención; a tal efecto pone en tensión baja una de las líneas IRQ del bus de control (que le había sido asignada). La señal es recogida por el PIC, que la procesa, la clasifica, y envía una señal a una de las patillas del procesador. A continuación el procesador se da por notificado y pregunta que tipo de excepción debe atender
6
«MODUS OPERANDI» Cuando se recibe la petición de interrupción, el procesador termina la instrucción que está ejecutando; guarda el contenido de los registros; deshabilita el sistema de interrupciones; ejecuta el "servicio", y vuelve a su punto de ejecución. El servicio suele terminar con una instrucción IRET ("Interrupt Return") que restituye el contenido de los registros y vuelve a habilitar el sistema de interrupciones.
7
Estas peticiones pueden ser generadas desde el software o incluso por el procesador, lo que nos conduce a que en realidad las únicas que deben recibirse (desde el exterior) son las que denominadas interrupciones hardware (que se originan en dispositivos externos al procesador). Como base para una interrupción se hace necesaria la gestión de estos 3 elementos:• (1) Ciertas líneas específicas (IRQs) en el bus de control• (2) El controlador de interrupciones (PIC). Un procesador específico que realiza cierta elaboración previa de las peticiones antes de entregar la señal a la UCP .• (3) Ciertas patillas específicas en el procesador
8
Estas peticiones pueden ser generadas desde el software o incluso por el procesador, lo que nos conduce a que en realidad las únicas que deben recibirse son las que denominadas interrupciones hardware (que se originan en dispositivos externos al procesador). Como base para una interrupción se hace necesaria la gestión de estos 3 elementos: (1) Ciertas líneas específicas en el bus de control. (2) El controlador de interrupciones. Un procesador específico que realiza cierta elaboración previa de las peticiones antes de entregar la señal. (3) Ciertas patillas específicas en el procesador
9
¿Como se recibe la petición?
Un periférico, tarjeta o dispositivo necesita atención, a tal efecto pone en tensión baja una de las líneas del bus de control (que le había sido asignada). La señal es recogida por el PIC, que la procesa, la clasifica, y envía una señal al procesador. A continuación el procesador se da por notificado y pregunta que tipo de excepción debe atender.
10
LÍNEAS DE PETICIÓN DE INTERRUPCIÓN
El bus de control dispone de líneas específicas para el sistema de interrupciones. En el PC XT existen 8, numeradas del 0 al 7. la interrupción 1 esta asignadas al temporizador y 2 al teclado, las restantes 6 líneas para otros dispositivos, que aparecen como tales en el bus de control. A partir del modelo AT se añadieron otras 8 líneas, numeradas del 8 al 15, mediante un segundo procesador PIC.
11
Nivel De prioridad El PIC dispone de 16 niveles de prioridad, numerados del 0 al 15,de forma que los de número más bajo tienen mayor prioridad a los altos, se distribuye de la siguiente manera:
12
TIPO DE REGISTROS DEL PIC
Cada PIC dispone de tres registros de 1 byte; IRR, ISR eI MR, que en conjunto toman las decisiones de las interrupciones: Registro de solicitud de interrupción IRR (Interrupt Request Register). Cada bit de este registro controla el estado de una línea IRQ. Cuando se detecta una petición en una de estas líneas, el bit correspondiente del IRR es dirigido al puerto a 1. Registro de interrupciones activas ISR (In Service Register). Cada bit indica si ya existe una interrupción activada en la línea correspondiente. Registro de máscara de interrupciones IMR (Interrupt Mask Register). También aquí cada bit corresponde a una línea IRQ, e indica si esta permitida un interrupción de ese nivel en ese momento.
13
Resumen El PIC es un dispositivo complejo que realiza tareas que se listan a continuación: Debido a que existen muchos dispositivos que pueden solicitar interrupciones, es responsabilidad del PIC priorizarlas, cuando existen varias IRQs simultáneas. Después de enviar una solicitud de interrupción y el procesador contesta que está listo para atenderla, debe enviar un número de interrupción (número de vector). Mantiene un registro de que se está procesando una interrupción. Cuando esto sucede, no envía más peticiones del mismo dispositivo al procesador hasta que este le responde con una señal EOI (End Of Interrupt), indicando que la rutina de servicio precedente ha terminado, y puede aceptar otra interrupción. Puede enmascarar de forma selectiva cualquiera de las 8 IRQs que tiene conectadas (como se verá más adelante, es la única forma de enmascarar las interrupciones no enmascarables).
14
PATILLAS DEL PROCESADOR
Otro elemento que interviene en el mecanismo de excepciones son ciertas patillas del procesador. Todos los miembros de la saga 8088 disponen de dos patillas, designadas INTR y NMI, para este servicio específico. Sirven respectivamente para atender las interrupciones enmascarables y no enmascarables (Definidas a continuación). A su vez, el procesador utiliza ciertas señales en algunas de sus patillas para generar un ciclo INTA ("Interrupt Acknowledge"), que sirve para notificar al PIC que ha recibido la interrupción.
15
TIPOS DE INTERRUPCIONES
Se clasifican en tres tipos :hardware, software y excepciones del procesador.
16
Interrupciones hardware
Ocurren cuando un dispositivo (periférico) necesita atención del procesador y genera una señal elé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.
17
Interrupción enmascarable
Esta interrupción esta bajo el control de software, el procesador puede aceptar o ignorar (enmascarar) la señal de interrupció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. el PIC asocia un número entre 0 y 255 a cada petición. Este número, que se conoce como número de interrupción, es diferente al número de línea IRQs que realizó la solicitud. El número de interrupción sirve para identificar el servicio mediante la tabla IDT . Una vez ejecutado el servicio, deben dejarse las cosas como estaban para que el programa original pueda continuar su ejecución.
18
Interrupción no enmascarable
Esta interrupción no puede ser deshabilitada por software. Este tipo de interrupciones ocurren cuando se recibe una señal en la patilla NMI ("Nonmaskable Interrupt" ) del procesador. Se reservan para casos en que es crítica la respuesta, por ejemplo que se detecte un error de paridad en la memoria. Además son de prioridad más alta que las enmascarables. Cuando el procesador recibe una de estas instrucciones no se genera ningún ciclo de reconocimiento de la instrucción (INTA), y el procesador le asigna un 2 como número de excepción.
19
Excepciones de Software
El proceso seguido es exactamente el mismo que si se recibe una interrupción hardware en la patilla INTR, salvo que en este caso se conoce el tipo de interrupción, y no se requiere ningún ciclo INTA. Este tipo de interrupciones son de prioridad más alta que las de hardware (enmascarables y no enmascarables), de forma que si se recibe una interrupción hardware mientras que se ejecuta una software, esta última tiene prioridad.
20
Este tipo de interrupciones son utilizadas tanto por el Sistema Operativo como por los programas de usuario que pueden instalar las suyas particulares (las 255 posiciones de la tabla de vectores de interrupción están desocupadas).
21
Excepción al Procesador
Durante el funcionamiento del procesador pueden ocurrir circunstancias excepcionales; es usual citar como ejemplo el caso de una división por cero. En estos casos, el procesador genera una excepción, que es tratada como si fuese una interrupción software, con la diferencia de que el número de interrupción asociado depende del tipo de excepción. En los tipos de interrupciones mencionadas con anterioridad las interrupciones tienen un orden de prioridad, de forma que si ocurren dos de forma simultánea es atendida la de prioridad más alta. El orden en que se atienden es el siguiente: 1º: Excepciones del procesador. 2º: Interrupciones software. 3º: Interrupciones hardware no enmascarables. 4º: Interrupciones hardware enmascarables.
22
Evolución PnP (Plug and play): «enchufar y usar» Es una innovación tecnológica que surge en el año 1993, como solución a los inconvenientes que se presentaban a la hora de hacer modificaciones a la CPU, ya que esta suponían cambios demasiado drásticos en la arquitectura del PC, puesto a que había que desmontar unos fastidios “jumpers” especiales para cada dispositivo y configurar manualmente el componente lógico. El PnP que se basa en varias hipotesis. La principal, que los dispositivos fueran configurables por software mediante un programa especial de "Set-up". Además tanto el hardware como el software (controladores de dispositivos cargados por el Sistema), deberían ser reconfigurables dinámicamente para adaptarse a los cambios de configuración.
23
Bibliografia A. Ayala Elizalde, Interrupciones en la PC, 2001 Disponible en: L. Leyva del Foyo, Administración de Interrupciones en Sistemas Operativos de Tiempo Real, 2008 Disponible en:
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.