Organización de Computadoras - T11
Organización de Computadoras - T11
Organización de Computadoras - T11
LICENCIATURA EN SISTEMAS
MANEJO DE
INTERRUPCIONES
Organización de Computadoras 2
HISTORIA
IBM tomó una decisión respecto a la arquitectura de sus
computadoras personales destinada a marcar un cambio
notable en la historia de la tecnología. Adoptó una
arquitectura abierta, esto es, utilizó componentes que
estaban en el mercado en lugar de fabricar chips
propietarios. Al tomar esta resolución, Intel pasó a ser la
opción más clara como proveedor de procesadores y
periféricos: por aquél entonces acababa de salir al mercado
la línea de 16 bits 8086 y existían muchos periféricos de 8
bits de su predecesor, el 8085, tales como el controlador de
interrupciones 8259, el PPI 8255, DMA 8237, la UART 8251,
el timer 8253.
En los procesadores Intel de la línea X86, hay dos tipos de
interrupciones: por hardware y por software. En las
primeras, una señal llega a uno de los terminales de un
controlador de interrupciones 8259 y éste se lo comunica al
procesador mediante una señal LOW en su pin INT. El
procesador interroga al 8259 cuál es la fuente de la
interrupción (hay 8 posibles en un 8259) y este le muestra
en el bus de datos un vector que la identifica. Por
instrucciones de programa, se puede instruir al 8086 para
que ignore la señal en el pin INT, por lo que estas
interrupciones se denominan "enmascarables". Hay un pin
adicional llamado NMI, que se comporta como una
interrupción, pero imposible de bloquear (Non-Maskable-
Interrupt).
Organización de Computadoras 4
TIPOS
INTERRUPCIONES DE SOFTWARE
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 facilita la creación de programas;
utilizándolas los 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
categorías: 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á
únicamente de las características que le quiera dar a su
programa: velocidad (utilizando las del BIOS) o
portabilidad (utilizando las del DOS).
Organización de Computadoras 5
INTERRUPCIONES POR HARDWARE
Una interrupción (del inglés Interrupt Request, también
conocida como petición de interrupción) es una señal
recibida por el procesador de una computadora y desde
algún dispositivo periférico, indicándole que debe
“interrumpir” el curso de ejecución actual y pasar a ejecutar
código específico para tratar esta situación.
Son asíncronas a la ejecución del procesador, es decir, se
pueden producir en cualquier momento
independientemente de lo que esté haciendo la CPU en ese
momento.
Básicamente, una interrupción por hardware viene
determinada por la ocurrencia de una señal externa que
provoca la bifurcación a una dirección especifica de
memoria, interrumpiendo momentáneamente la ejecución
del programa en curso. A partir de esa dirección se
encuentra la rutina de tratamiento que se encarga de
atender la interrupción propiamente dicha, devolviendo
después el control al punto de interrupción del programa en
curso.
Organización de Computadoras 6
INTERRUPCIONES POR HARDWARE
Tipos de Interrupciones por hardware
Organización de Computadoras 7
INTERRUPCIONES POR HARDWARE
La rutina establece las acciones que debe tomar el procesador
ante la interrupción. Se ejecutan todas las instrucciones de la
rutina de atención IRQ, una a una. En algún punto de la rutina
se encuentra una instrucción tipo RTI (Retorno de Interrupción),
que hace que el procesador y sus registros internos se repongan
a la condición en que estaban antes de recibirse el pedido de
interrupción. Finalmente, continúa la ejecución del programa
normalmente.
Organización de Computadoras 8
INTERRUPCIONES POR HARDWARE
La rutina establece las acciones que debe tomar el procesadora
ante la interrupción. Se ejecutan todas las instrucciones de la
rutina de atención NMI, una a una. En algún punto de la rutina
se encuentra una instrucción tipo RTI (Retorno de Interrupción),
que hace que el procesador y sus registros internos se repongan
a la condición en que estaban antes de recibirse el pedido de
interrupción. Finalmente, continúa la ejecución del programa
normalmente.
Organización de Computadoras 9
INTERRUPCIONES POR SOFTWARE
Una interrupción por software se produce cuando un usuario
solicita una llamada del sistema.
Interrupciones de BIOS
El BIOS contiene un extenso conjunto de rutinas de
entrada/salida y tablas que indican el estado de los dispositivos
del sistema. El dos y los programas usuarios pueden solicitar
rutinas del BIOS para la comunicación con los dispositivos
conectados al sistema. El método para realizar la interfaz con el
BIOS es el de las interrupciones de software. A continuación se
listan algunas interrupciones del BIOS.
Interrupción 10H
Propósito: Llamar a diversas funciones de vídeo del BIOS.
Sintaxis: Int 10H
Interrupción 16H
Propósito: Manejar la entrada/salida del teclado.
Sintaxis: Int 16H
Interrupción 17H
Propósito: Manejar la entrada/salida de la impresora.
Sintaxis: Int 17H
Organización de Computadoras 10
INTERRUPCIONES POR SOFTWARE
Interrupciones de DOS
Las interrupciones desde la 20H hasta la 3FH están reservadas
para operaciones del DOS.
A continuación se mencionan algunas de ellas:
Organización de Computadoras 11
EXCEPCIONES
Se originan en forma automática y como acontecimientos
internos ocurridos en el procesador, cuando se detecta algún
tipo de error o condición especial.
Ejemplos: segmento no presente, violación de privilegio,
coprocesador no presente, etc.
Organización de Computadoras 12