Вы находитесь на странице: 1из 4

CUESTIONARIO DE INTERRUPCIONES

1. ¿Cuál es la diferencia entre el método “polling” y el método de


interrupciones?

El polling fue la primera técnica que se empleó esta se basaba en que el procesador se encargaba
de sondar los dispositivos para averiguar si estos tenían algún pendiente, en cambio, las
interrupciones no sondean a ningún dispositivo, sino que queda a la espera de que estos le avisen
cuando tengan algo que comunicarle.

2. ¿Qué es una petición de interrupción?

Es el mecanismo por el cual los procesos le solicitan a la CPU que "interrumpa" su actividad y
ser atiendo.
Las IRQs tienen una jerarquía de prioridades y están asignadas a cierto tipo de procesos, que a su
vez están asociados a ciertos dispositivos (reloj tiempo real, teclado, ...).

3. ¿Cuál es el papel fundamental de las interrupciones?

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 UCP. Sin ellas el sistema debería chequear
constantemente los dispositivos para comprobar su actividad, pero las interrupciones permiten
que los dispositivos puedan permanecer en silencio hasta el momento que requieren atención del
procesador.

4. ¿Cuáles pueden ser los orígenes de las peticiones de interrupción?

Estas peticiones pueden ser generadas no solo por dispositivos hardware, también por los
programas, e incluso en circunstancias especiales como errores generalmente por el propio
procesador. Básicamente existen tres posibles orígenes de estas peticiones: Hardware, Software,
y del procesador.

5. ¿Cuál es la diferencia entre el ISR y el IDT?. ¿Qué contiene cada una y


dónde están ubicadas?
La principal diferencia radica en los significados de los campos de dirección. En un IDT, la
dirección base es la dirección de ISR a la que debe llamar el procesador cuando se llama a
esta interrupción. Una entrada IDT no tiene un límite, en su lugar tiene un segmento que debe
especificarse. El segmento es el mismo que el ISR localizado. El IDT se usa para mostrar al
procesador a qué Rutina de Servicio de Interrupción (ISR) llamar para manejar una
excepción. Las entradas IDT también se denominan solicitudes de interrupción siempre que
un dispositivo haya completado una solicitud y deba ser reparado. Las entradas de IDT son
similares a las entradas de GDT. Ambos tienen dirección base, indicador de acceso y ambos
tienen una longitud de 64 bits.
6. ¿Qué ocurre cuando se recibe la petición de interrupción?

 El dispositivo envía la solicitud de interrupción mediante la línea INTR.


 El procesador termina la ejecución de la instrucción en curso y analiza la línea de petición de
interrupción, INTR. Si esta línea no está activada continuará normalmente con la ejecución
de la siguiente instrucción, en caso contrario se pasa a la etapa siguiente.
 La CPU reconoce la interrupción, para informar al dispositivo de ello, activa la línea de
reconocimiento de interrupción, INTA.
 El dispositivo que reciba la señal INTA envía el código de interrupción por el bus de datos.
 La CPU calcula la dirección de memoria donde se encuentra la rutina de servicio de
interrupción.
 El estado del procesador, y en particular el contador de programa, se salva en la pila de la
misma forma que en una llamada a procedimiento.
 La dirección de la rutina de servicio de interrupción se carga en el contador de programa, con
lo que se pasa el control a la citada rutina.
 La ejecución continúa hasta que el procesador encuentre la instrucción de retorno de
interrupción.
 Cuando se encuentre la instrucción de retorno de interrupción se restaura el estado del
procesador, en especial el contador de programa, y se devuelve el control al programa
interrumpido.

7. ¿Qué elementos de soporte intervienen en la solicitud de interrupción?

Existen tres tipos de elementos de soporte:


 Ciertas líneas específicas (IRQ's) en el bus de control.
 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 CPU.
 Ciertas patillas específicas en el procesador.

8. ¿Cómo se realiza la solicitud de interrupción?

Se trata siempre de ejecutar un programa situado en algún lugar de la memoria RAM o en la


ROM-BIOS. Ocurre que las direcciones de inicio de estos programas, que se conocen
como vectores de interrupción, se copian en una tabla de 1024 Bytes que se carga al principio
de la memoria de usuario durante el proceso de inicio del sistema, razón por la cual estas
rutinas se conocen también como servicios del BIOS.
La citada tabla se denomina tabla de vectores de interrupción y en sus 1024 bytes pueden
almacenarse 256 vectores de 4 bytes. Es decir, los vectores de interrupción son punteros de
32 bits, numerados de 0 a 255, que señalan las direcciones donde comienza la rutina que
atiende la interrupción

Anote la Tabla de IRQs y sus prioridades

IRQ 0: cronómetro del sistema. Este interruptor está reservado para el timer del sistema y
jamás está disponible para otros dispositivos.
IRQ 1: controlador del teclado.
IRQ 2: Interrupciones en cascada para las interrupciones IRQ del 8 al 15.
IRQ 3: Segundo Puerto Serie (COM2). A menudo es también para el cuarto puerto serie
(COM4).
IRQ 4: Primer Puerto Serie (COM1). También es utilizado por defecto para el COM3.
IRQ 5: Tarjeta de sonido.
IRQ 6: Controlador de disquetera.
IRQ 7: Puerto Paralelo LPT1 para impresoras o cualquier otro dispositivo que utiliza puerto
paralelo.
IRQ 8: Reloj del Sistema.
IRQ 9, 10, 11: Interrupción disponible para periféricos extras.
IRQ 12: Mouse PS/2 o Placa de Red o similares.
IRQ 13: Coprocesador/Unidad de punto flotante
IRQ 14: Canal IDE Primario. En sistemas que no se utiliza dispositivos IDE, este canal se
utiliza para otros periféricos
IRQ 15: Canal IDE Secundario

9. ¿Qué es el PIC y cómo está organizado? Ver material del PIC aparte…

Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip
Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de
microelectrónica de General Instrument.
El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000. Siendo en
general una buena CPU, ésta tenía malas prestaciones de entrada y salida, y el PIC de 8 bits
se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de entrada/salida
a la CPU. El PIC utilizaba microcódigo simple almacenado en ROM para realizar estas
tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que
ejecuta una instrucción cada 4 ciclos del oscilador.
Están organizados en gama media y gama alta, por ejemplo, el microcontrolador
PIC16F877 de gama media y los microcontroladores PIC18F452 y PIC18CXX2 de gama
alta.

10. ¿En qué orden se atienden las peticiones de interrupción?

El orden en que se atienden las peticiones de interrupción depende del registro del
controlador de interrupción allí el procesaron consulta la tabla y atiende la petición
De este modo:
- Excepciones del procesador.
- Interrupciones software.
- Interrupciones hardware no enmascarables.
- Interrupciones hardware enmascarables.

11. ¿Qué tareas realiza el PIC? Ver material teórico principal…

- Puesto que existen muchos dispositivos que pueden solicitar interrupciones, es


responsabilidad del PIC priorizarlas cuando existen varias IRQ's simultáneas.
- Después de enviar una solicitud de interrupción, debe enviar un número de interrupción
(número de vector) cuando el procesador indica que está listo para atender la petición.
- Mantiene un registro de que se está procesando una interrupción; cuando esto sucede, no
envía más peticiones al procesador hasta que este le responde con una señal EOI
("End Of Interrupt"), indicando que la rutina de servicio precedente ha
terminado o puede aceptar otra interrupción.
- Puede enmascarar de forma selectiva cualquiera de las 8 IRQ's que tiene conectadas
(como se verá más adelante, es la única forma de enmascarar las interrupciones no
enmascarables).

12. ¿Cuándo ocurre una interrupción de Hardware y de qué tipos pueden ser?

Pueden ser enmascarable o no enmascarable.

13. ¿Qué son interrupciones de Software?

Las interrupciones por software, también denominadas llamadas al sistema son aquellas
generadas por un programa mientras este está ejecutándose. En general, actúan de la
siguiente manera: Un programa en ejecución llega a una instrucción que requiere del sistema
operativo para alguna tarea, por ejemplo, para leer un archivo en el disco duro (cuando un
programa necesita un dato exterior, se detiene y pasa a cumplir con las tareas de recoger ese
dato). En ese momento por tanto llama al sistema y se interrumpe virtualmente hasta recibir
respuesta, en el ejemplo anterior hasta que no se haya leído el disco y el archivo esté en
memoria principal. Durante esa espera las instrucciones que se ejecutarán no serán del
programa, sino del sistema operativo. Una vez éste termine su rutina ordenará reanudar la
ejecución del programa auto interrumpido en espera. Por último, la ejecución del programa
se reanuda.

14. ¿Cuándo se presentan las excepciones del CPU?

Cuando se da una condición de error en el programa u ocurren circunstancias inusuales,


como por ejemplo la división entre 0.

15. Describa las prioridades de atención de las interrupciones hardware –


software

16. ¿Cuáles son las alternativas para manejar interrupciones múltiples?

1. desactivar las interrupciones mientras se está procesando una interrupción.


2. activar prioridades para las interrupciones y permitir que una interrupción con prioridad
“más alta” pueda interrumpir a un gestor de interrupción de prioridad menor.

Вам также может понравиться