2. INTERRUPCIONES
LA ATENCIÓN DE INTERRUPCIONES DEBE SATISFACER:
− LAS INTERRUPCIONES DEBEN SER ATENDIDAS DE FORMA RÁPIDA TODA
TAREA QUE NO SEA NECESARIA SE DEBE DIFERIR PARA OTRO MOMENTO
− DEBE SER POSIBLE EJECUTARLAS EN FORMA ANIDADA
− DEBEN EJECUTAR, TODO LO QUE SEA POSIBLE, CON LAS
INTERRUPCIONES HABILITADAS
3. INTERRUPCIONES
LA ATENCIÓN DE INTERRUPCIONES DEBE SATISFACER:
UNA INTERRUPCIÓN ES UN MECANISMO QUE PERMITE EJECUTAR UN
BLOQUE DE INSTRUCCIONES INTERRUMPIENDO LA EJECUCIÓN DE UN
PROGRAMA, Y LUEGO RESTABLECER LA EJECUCIÓN DEL MISMO SIN
AFECTARLO DIRECTAMENTE. DE ESTE MODO UN PROGRAMA PUEDE SER
INTERRUMPIDO TEMPORALMENTE PARA ATENDER ALGUNA NECESIDAD
URGENTE DEL COMPUTADOR Y LUEGO CONTINUAR SU EJECUCIÓN
COMO SI NADA HUBIERA PASADO.
4. INTERRUPCIONES
GENERALMENTE SE APLICA PARA REALIZAR TAREAS ELEMENTALES
ASINCRÓNICAS EN EL COMPUTADOR TALES COMO RESPONDER AL
TECLADO, ESCRIBIR EN LA PANTALLA, LEER Y ESCRIBIR ARCHIVOS.
PODEMOS CONSIDERAR UNA TAREA ASINCRÓNICA COMO AQUELLA QUE
ES SOLICITADA SIN PREVIO AVISO Y ALEATORIAMENTE DESDE EL PUNTO
DE VISTA DEL COMPUTADOR. TOMEMOS EL CASO DE LA OPERACIÓN
CTRL-ALT-SUPR. EN WINDOWS TIENE EL EFECTO DE QUE APARECE EN
PANTALLA UNA LISTA DE LOS PROCESOS Y VENTANAS EN EJECUCIÓN EN
EL COMPUTADOR.
5. INTERRUPCIONES
EN CAMBIO EN EL SISTEMA OPERATIVO DOS CUANDO EL USUARIO PRESIONA SIMULTÁNEAMENTE DICHAS
TECLAS EL COMPUTADOR PROCEDE A REINICIALIZARSE, AUNQUE PUEDA ESTAR OCUPADO EJECUTANDO UN
PROGRAMA EN ESE INSTANTE. VALE DECIR FUERZA OBLIGADAMENTE A QUE EL COMPUTADOR SE
REINICIALICE. YA SEA EN EL SISTEMA WINDOWS O EN DOS, EL COMPUTADOR NO ESTÁ CONSTANTEMENTE
MONITOREANDO EL TECLADO PARA VER SI EL USUARIO HA SOLICITADO UN CTRL-ALT-DEL, YA QUE EN ESE
CASO CONSUMIRÍA MUCHO TIEMPO DE PROCESO EN ELLO Y POR ENDE LA CAPACIDAD DE PROCESO SE VERÍA
SIGNIFICATIVAMENTE AFECTADA. LA SOLUCIÓN EMPLEADA ES UNA INTERRUPCIÓN.
6. TIPOS DE
INTERRUPCIONES
INTERRUPCIONES DE PROGRAMA LAS INTERRUPCIONES DE PROGRAMA
SON AQUELLAS QUE SE PRODUCEN CUANDO EL CPU DETECTA UNA
CONDICIÓN EXTRAORDINARIA DURANTE LA EJECUCIÓN DE UNA
INSTRUCCIÓN E PROGRAMA.
EJEMPLOS:
DESBORDAMIENTO DE LA PILA
DESBORDAMIENTO (OVERFLOW)
DIRECCIONAMIENTO INVÁLIDO
INSTRUCCIÓN INVÁLIDA
VIOLACIÓN DE PROTECCIÓN
7. LA MAYORÍA DE LAS INTERRUPCIONES DE PROGRAMA, POR LA
NATURALEZA DE LAS MISMAS OBLIGA A
LA CANCELACIÓN DEL PROGRAMA QUE LAS PRODUJO, LO QUE SE
DENOMINA FINALIZACIÓN ANORMAL DE UN
PROGRAMA; MIENTRAS EN ALGUNOS CASOS ES POSIBLE RECUPERAR LA
CONDICIÓN PRESENTADA Y
CONTINUAR LA EJECUCIÓN DEL PROGRAMA UNA VEZ QUE SE TERMINE
LA INTERRUPCIÓN.
TIPOS DE
INTERRUPCIONES
8. INTERRUPCIONES INTERNAS DE HARDWARE
LAS INTERRUPCIONES INTERNAS SON GENERADAS POR CIERTOS
EVENTOS QUE SURGEN DURANTE LA EJECUCIÓN DE UN PROGRAMA.
ESTE TIPO DE INTERRUPCIONES SON MANEJADAS EN SU TOTALIDAD
POR EL HARDWARE Y NO ES POSIBLE MODIFICARLAS.
9. UN EJEMPLO CLARO DE ESTE TIPO DE INTERRUPCIONES ES LA QUE
ACTUALIZA EL CONTADOR DEL RELOJ INTERNO DE LA COMPUTADORA, EL
HARDWARE HACE EL LLAMADO A ESTA INTERRUPCIÓN VARIAS VECES
DURANTE UN SEGUNDO PARA MANTENER LA HORA ACTUALIZADA.
AUNQUE NO PODEMOS MANEJAR DIRECTAMENTE ESTA INTERRUPCIÓN
(NO PODEMOS CONTROLAR POR SOFTWARE LAS ACTUALIZACIONES DEL
RELOJ), ES POSIBLE UTILIZAR SUS EFECTOS EN LA COMPUTADORA PARA
NUESTRO BENEFICIO.
INTERRUPCIONES INTERNAS DE HARDWARE
10. LAS INTERRUPCIONES EXTERNAS LAS GENERAN LOS DISPOSITIVOS
PERIFÉRICOS, COMO PUEDEN SER: TECLADO, IMPRESORAS, TARJETAS DE
COMUNICACIONES, ETC. TAMBIÉN SON GENERADAS POR LOS
COPROCESADORES.
NO ES POSIBLE DESACTIVAR A LAS INTERRUPCIONES EXTERNAS.
ESTAS INTERRUPCIONES NO SON ENVIADAS DIRECTAMENTE A LA UCP, SINO
QUE SE MANDAN A UN CIRCUITO INTEGRADO CUYA FUNCIÓN ES
EXCLUSIVAMENTE MANEJAR ESTE TIPO DE INTERRUPCIONES. EL CIRCUITO,
LLAMADO PIC 8259A, SI ES CONTROLADO POR LA UCP UTILIZANDO PARA TAL
CONTROL UNA SERIE DE VIAS DE COMUNICACIÓN LLAMADAS PUERTOS.
INTERRUPCIONES INTERNAS DE HARDWARE
11. IRQ Prioridad Función
0 1 Timer
1 2 Teclado Hardware
2 Reservada
3 11 COM 2
4 12 COM 1
5 13 Tarjeta de Sonido
6 14 Controlador Floppy
7 15 Puerta Paralela
8 3 Reloj (tics)
9 4 Libre para tarjeta de red, sonido, puerta SCSI
10 5 idem
11 6 idem
12 7 PS-mouse
13 8 Co-procesador matemático
14 9 Canal IDE primario
15 10 Canal IDE secundario
INTERRUPCIONES INTERNAS DE HARDWARE
12. LAS INTERRUPCIONES DE SOFTWARE PUEDEN SER ACTIVADAS DIRECTAMENTE POR EL ENSAMBLADOR INVOCANDO AL NÚMERO DE
INTERRUPCIÓN DESEADA CON LA INSTRUCCIÓN INT. EL USO DE LAS INTERRUPCIONES NOS AYUDA EN LA CREACIÓN DE PROGRAMAS,
UTILIZANDOLAS NUESTROS PROGRAMAS SON MÁS CORTOS, ES MÁS FÁCIL ENTENDERLOS Y USUALMENTE TIENEN UN MEJOR DESEMPEÑO
DEBIDO EN GRAN PARTE A SU MENOR TAMAÑO.
ESTE TIPO DE INTERRUPCIONES PODEMOS SEPARARLAS EN DOS CATEGORIAS: LAS INTERRUPCIONES DEL SISTEMA OPERATIVO DOS Y LAS
INTERRUPCIONES DEL BIOS.
LA DIFERENCIA ENTRE AMBAS ES QUE LAS INTERRUPCIONES DEL SISTEMA OPERATIVO SON MÁS FÁCILES DE USAR PERO TAMBIÉN SON
MÁS LENTAS YA QUE ESTAS INTERRUPCIONES HACEN USO DEL BIOS PARA LOGRAR SU COMETIDO, EN CAMBIO LAS INTERRUPCIONES DEL
BIOS SON MUCHO MÁS RÁPIDAS PERO TIENEN LA DESVENTAJA QUE, COMO SON PARTE DEL HARDWARE SON MUY ESPECÍFICAS Y PUEDEN
VARIAR DEPENDIENDO INCLUSO DE LA MARCA DEL FABRICANTE DEL CIRCUITO.
LA ELECCIÓN DEL TIPO DE INTERRUPCIÓN A UTILIZAR DEPENDERÁ UNICAMENTE DE LAS CARACTERISTICAS QUE LE QUIERA DAR A SU
PROGRAMA: VELOCIDAD (UTILIZANDO LAS DEL BIOS) O PORTABILIDAD (UTILIZANDO LAS DEL DOS).
INTERRUPCIONES INTERNAS DE HARDWARE
13. LAS INTERRUPCIONES DE SOFTWARE PUEDEN SER ACTIVADAS DIRECTAMENTE POR EL ENSAMBLADOR INVOCANDO AL NÚMERO DE
INTERRUPCIÓN DESEADA CON LA INSTRUCCIÓN INT.
EL USO DE LAS INTERRUPCIONES NOS AYUDA EN LA CREACIÓN DE PROGRAMAS, UTILIZANDOLAS NUESTROS PROGRAMAS SON MÁS
CORTOS, ES MÁS FÁCIL ENTENDERLOS Y USUALMENTE TIENEN UN MEJOR DESEMPEÑO DEBIDO EN GRAN PARTE A SU MENOR TAMAÑO.
ESTE TIPO DE INTERRUPCIONES PODEMOS SEPARARLAS EN DOS CATEGORIAS: LAS INTERRUPCIONES DEL SISTEMA OPERATIVO DOS Y LAS
INTERRUPCIONES DEL BIOS.
LA DIFERENCIA ENTRE AMBAS ES QUE LAS INTERRUPCIONES DEL SISTEMA OPERATIVO SON MÁS FÁCILES DE USAR PERO TAMBIÉN SON
MÁS LENTAS YA QUE ESTAS INTERRUPCIONES HACEN USO DEL BIOS PARA LOGRAR SU COMETIDO, EN CAMBIO LAS INTERRUPCIONES DEL
BIOS SON MUCHO MÁS RÁPIDAS PERO TIENEN LA DESVENTAJA QUE, COMO SON PARTE DEL HARDWARE SON MUY ESPECÍFICAS Y PUEDEN
VARIAR DEPENDIENDO INCLUSO DE LA MARCA DEL FABRICANTE DEL CIRCUITO.
LA ELECCIÓN DEL TIPO DE INTERRUPCIÓN A UTILIZAR DEPENDERÁ UNICAMENTE DE LAS CARACTERISTICAS QUE LE QUIERA DAR A SU
PROGRAMA: VELOCIDAD (UTILIZANDO LAS DEL BIOS) O PORTABILIDAD (UTILIZANDO LAS DEL DOS).
INTERRUPCIONES INTERNAS DE HARDWARE
15. CICLO DE RECONOCIMIENTO DE
INTERRUPCIÓN
La CPU responde a una petición de interrupción con un ciclo de reconocimiento de
interrupción. En la mayoría de las CPUs la respuesta a una interrupción consta de los
siguientes pasos:
El dispositivo de hardware genera el pulso o señal de petición de interrupción.
El controlador de Interrupciones Programables prioriza la petición de interrupción en
relación con las demás peticiones que podrían haberse emitido de forma simultánea (o estar
pendientes) y emite la petición de interrupción al procesador.
Si las interrupciones están habilitadas, la CPU responde con un ciclo de bus de
reconocimiento de interrupción.
En respuesta al reconocimiento de la CPU, el dispositivo externo (o el PIC si estuviese
presente) sitúa un vector de interrupción en el bus de datos.
La CPU lee el vector y lo utiliza (posiblemente de forma indirecta) para obtener la dirección
17. NIVELES DE CONTROL DE LAS
INTERRUPCIONES
El PIC impone y hace cumplir un esquemas de prioridades a cada una
de estas líneas de petición de interrupción. Como consecuencia de este
arreglo, existen tres niveles de control de las interrupciones:
Al nivel de CPU puede inhibirse/habilitarse globalmente la capacidad
de la CPU de reconocer las interrupciones.
Al nivel del PIC es posible enmascarar (inhibir) peticiones de
interrupciones individualmente y/o sobre la base de sus prioridades.
Típicamente, existen uno o más registros de mascara de interrupción,
con bits individuales que permiten o inhiben fuentes de interrupciones
individuales.