Sdfsadfa

Solo disponible en BuenasTareas
  • Páginas : 5 (1019 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de febrero de 2010
Leer documento completo
Vista previa del texto
* LAS INTERRUPCIONES

     Son señales enviadas a la CPU para que termine la ejecución de la instrucción en curso y atienda una petición determinada, continuando más tarde con lo que estaba haciendo.

     Cada interrupción lleva asociado un número que identifica el tipo de servicio a realizar. A partir de dicho número se calcula la dirección de la rutina que lo atiende y cuando se retorna secontinúa con la instrucción siguiente a la que se estaba ejecutando cuando se produjo la interrupción. La forma de calcular la dirección de la rutina es multiplicar por cuatro el valor de la interrupción para obtener un desplazamiento y, sobre el segmento 0, con dicho desplazamiento, se leen dos palabras: la primera es el desplazamiento y la segunda el segmento de la rutina deseada. Por tanto, enel primer kilobyte de memoria física del sistema, existe espacio suficiente para los 256 vectores de interrupción disponibles.

     Hay tres tipos básicos de interrupciones
Interrupciones internas o excepciones: Las genera la propia CPU cuando se produce una situación anormal o cuando llega el caso. Por desgracia, IBM se saltó olímpicamente la especificación de Intel que reserva lasinterrupciones 0-31 para el procesador.
* INT 1: paso a paso, se produce tras cada instrucción cuando el procesador está en modo traza (utilizada en depuración de programas).
* INT 2: interrupción no enmascarable, tiene prioridad absoluta y se produce incluso aunque estén inhibidas las interrupciones (con CLI) para indicar un hecho muy urgente (fallo en la alimentación o error de paridad en lamemoria).
* INT 3: utilizada para poner puntos de ruptura en la depuración de programas, debido a que es una instrucción de un solo byte muy cómoda de utilizar.
* INT 4: desbordamiento, se dispara cuando se ejecuta un INTO y había desbordamiento.
* INT 5: rango excedido en la instrucción BOUND (sólo 286 y superiores). Ha sido incorrectamente empleada por IBM para volcar la pantallapor impresora.
* INT 6: código de operación inválido (sólo a partir del 286). Se produce al ejecutar una instrucción indefinida, en la pila se almacena el CS:IP de la instrucción ilegal.
* INT 7: dispositivo no disponible (sólo a partir del 286).

* Interrupciones hardware: Son las generadas por la circuitería del ordenador en respuesta a algún evento. Las más importantes son:* INT 8: Se produce con una frecuencia periódica determinada por el canal 0 del chip temporizador 8253/8254 (en la práctica, unas 18,2 veces por segundo). Como desde esta interrupción se invoca a su vez  a INT 1Ch -porque así lo dispuso IBM-, es posible ligar un proceso a INT 1Ch para que se ejecute periódicamente.
* INT 9: generada al pulsar o soltar una tecla.
* INT 0Ah, 0Bh, 0Ch,0Dh, 0Eh, 0Fh: Puertos serie, impresora y controladores de disquete.
* INT 70h, 71h, 72h, 73h, 74h, 75h, 76h, 77h:  Generadas en los AT y máquinas superiores por el segundo chip controlador de interrupciones.

* Interrupciones software: Producidas por el propio programa (instrucción INT) para invocar ciertas subrutinas. La BIOS y el DOS utilizan algunas interrupciones a las que se puedellamar con determinados valores en los registros para que realicen ciertos servicios. También existe alguna que otra interrupción que se limita simplemente a apuntar a modo de puntero a una tabla de datos.
     Los vectores de interrupción pueden ser desviados hacia un programa propio que, además, podría quedar residente en memoria. Si se reprograma por completo una interrupción y ésta es de tipohardware, hay que realizar una serie de tareas adicionales, como enviar una señal fin de interrupción hardware al chip controlador de interrupciones. Si se trata además de la interrupción del teclado del PC o XT, hay que enviar una señal de reconocimiento al mismo ... en resumen: conviene documentarse debidamente antes de intentar hacer nada. Todos estos problemas se evitan si la nueva rutina que...
tracking img