Interrupciones

Solo disponible en BuenasTareas
  • Páginas : 20 (4933 palabras )
  • Descarga(s) : 0
  • Publicado : 23 de abril de 2010
Leer documento completo
Vista previa del texto
Una petición de interrupción IRQ ("Interrupt Request") es una señal que se origina en un dispositivo hardware (por ejemplo, un periférico), 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.
Hemos señalado ( H2) que las interrupciones juegan un papel fundamental, en especial en la operaciónde 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. ¿Podría figurarse un sistema telefónico donde hubiera que levantar periódicamente elauricular para comprobar si alguien nos llama? [4].
Nota: Veremos que estas peticiones pueden ser generadas no solo por dispositivos hardware, también por los programas, e incluso en circunstancias especiales (errores generalmente) por el propio procesador. Resumimos que existen tres posibles orígenes de estas peticiones: Hardware, Software, y del procesador.
§2 Principio de funcionamientoCuando 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, ISR ("Interrupt service routine"). En cualquier caso 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 comovectores de interrupción, se copian en una tabla de 1024 Bytes que se carga al principio de la memoria de usuario (direcciones 0000h a 0400h) durante el proceso de inicio del sistema ( H4), 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 IDT ("Interrupt Description Table") y en sus 1024 bytes puedenalmacenarse 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 [3].
Como veremos a continuación, el diseño del PC solo permite 16 interrupciones distintas, por lo que puede parecer extraño que se hayan previsto 256 vectores para atenderlas. La razón es queademás de los servicios del BIOS propiamente dichos, se cargan las direcciones de inicio de otras rutinas del Sistema Operativo, los denominados servicios del Sistema ( Servicios del Sistema). Incluso es posible cargar direcciones para rutinas específicas de usuario.
Al diseñar el 8088, Intel estableció un reparto de estos vectores, reservando los 5 primeros para uso interno del procesador(precisamente para atender las excepciones ). A continuación estableció otros 27 de uso reservado, aunque no desveló ningún uso específico para algunos de ellos. A partir de aquí, los vectores 32 a 255 estaban disponibles. El esquema resultante se muestra en la tabla adjunta.
Vector
Dec. Hex Uso
0 0 Error: División por cero
1 1 Excepciones para depuración (ejecución paso a paso)
2 2 Interrupción noenmascarable
3 3 Punto de ruptura interrupción (Instrucción INT)
4 4 Desbordamiento ("Overflow"). Utilizado cuando un cálculo aritmético se desborda. Instrucción INTO
5 5 (reservado)
6 6 Código de instrucción no válido
7 7 Coprocesador no disponible
8 8 Fallo doble
9 9 (reservado -Rutina de atención del Teclado-)
10 A TSS no válido
11 B Segmento no disponible
12 C Excepción de pila13 D Protección general
14 E Fallo de página
15 F (reservado)
16 1A Error de coprocesador
17-31 1B-1F (reservado)
32-255 20-FF Disponibles para interrupciones enmascarables
Sin embargo, aunque teóricamente las interrupciones 0 a 31 estaban restringidas, IBM y Microsoft utilizaron algunas de ellas sin respetar las indicaciones de Intel. En concreto, IBM y Microsoft utilizaron algunas para...
tracking img