Organización de Computadoras - T11

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

INGENIERÍA INFORMÁTICA

LICENCIATURA EN SISTEMAS

MANEJO DE
INTERRUPCIONES

TEMA: TRATAMIENTO Y TIPOS

Ing. David Sánchez Rivero


DEFINICIÓN
Una interrupción es una instrucción que detiene la ejecución
de un programa para permitir el uso de la CPU a un proceso
prioritario. Una vez concluido este último proceso se
devuelve el control a la aplicación anterior.
Por ejemplo, cuando estamos trabajando con un procesador
de palabras y en ese momento llega un aviso de uno de los
puertos de comunicaciones, se detiene temporalmente la
aplicación que estábamos utilizando para permitir el uso
del procesador al manejo de la información que está
llegando en ese momento. Una vez terminada la
transferencia de información se reanudan las funciones
normales del procesador de palabras.
Las interrupciones ocurren muy seguido, sencillamente la
interrupción que actualiza la hora del día ocurre
aproximadamente 18 veces por segundo.
Para lograr administrar todas estas interrupciones, la
computadora cuenta con un espacio de memoria donde se
almacenan las direcciones de cierta localidad de memoria
donde se encuentran un juego de instrucciones que la CPU
ejecutará para después regresar a la aplicación en proceso.

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).

Ing. David Sánchez Rivero 3


TIPOS
TIPOS DE INTERRUPCIONES
Interrupciones internas de hardware.
Interrupciones externas de hardware.
Interrupciones de software.

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.
INTERRUPCIONES EXTERNAS DE HARDWARE
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 CPU,
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 CPU
utilizando para tal control una serie de vías de
comunicación llamadas puertos.

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

IRQ: en una interrupción de TIPO ENMASCARABLE; es decir,


depende del valor presente, al momento de producirse la
petición de interrupción, de la bandera I del Registro de Estado.
Si I = 0, el procesador atenderá la interrupción y si I = 1, el
procesador rechazará la atención de dicha petición.
Si el procesador recibe una señal baja por la entrada IRQ y si la
bandera I = 0, atenderá la petición. En primer lugar completa la
ejecución de la instrucción que se está ejecutando, luego
almacena en la pila (en memoria RAM) los contenidos de los
registros IP (Puntero de Instrucción), Acumuladores, Registro de
Estado, etc., para poder recuperarlos después de ser atendida la
interrupción; estos contenidos se almacenan a partir de la
dirección indicada por el SP (Puntero de pila). Luego se coloca
en “1” el bit I del RE, para inhibir posteriores interrupciones.
Se carga la rutina que atiende este tipo de interrupción a partir
de la información proporcionada, generalmente, por un vector
de interrupciones.

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.

NMI: en una interrupción de TIPO NO ENMASCARABLE; es


decir, no depende del valor presente, al momento de producirse
la petición de interrupción, de la bandera I del Registro de
Estado. Por lo tanto, el procesador siempre atenderá a un
pedido de interrupción de tipo NMI.
Si el procesador recibe una señal baja por la entrada NMI,
atenderá la petición. En primer lugar completa la ejecución de la
instrucción que se está ejecutando, luego almacena en la pila
(en memoria RAM) los contenidos de los registros IP (Puntero
de Instrucción), Acumuladores, Registro de Estado, etc., para
poder recuperarlos después de ser atendida la interrupción;
estos contenidos se almacenan a partir de la dirección indicada
por el SP (Puntero de pila). Luego se coloca en “1” el bit I del RE,
para inhibir posteriores interrupciones.

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.

RESET: cuando esta entrada se activa con nivel bajo, el


procesador coloca la bandera I, del Registro de Estado, a 1 y
brinca a la rutina de servicios de interrupciones
correspondiente. Esta rutina se utiliza, por lo general, para
inicializar o restaurar el sistema.
Es decir, cuando se produce un Reseteo en frío o un Reseteo en
caliente, respectivamente.

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:

INT 20H: Termina programa. Finaliza la ejecución de un


programa .COM, restaura las direcciones para Cltr + Break y
errores críticos, limpia los bufer de registros y regresa el
control al DOS. La terminación preferida es por medio de la
función 4CH de la INT 21H.

INT 21H: Petición de función al DOS. La principal operación del


DOS necesita una función en el AH.
Propósito: Llamar a diversas funciones del DOS.
Sintaxis: Int 21H
Esta interrupción tiene múltiples funciones, para accesar a cada
una de ellas es necesario que el registro AH se encuentre el
número de función que se requiera al momento de llamar a
la interrupción.

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.

Se clasifican en tres tipos:


1. Faltas o errores: son excepciones que se detectan y
atienden antes de la ejecución de la instrucción causante
del error. Ej. cuando falta un segmento o página antes de
la memoria. Después e micro reanuda la ejecución de la
instrucción causante de la excepción.

2. Excepciones propiamente dichas o trampas: se detectan


inmediatamente después de la ejecución de la instrucción
que ocasiona el problema. Ej. las interrupciones
ocasionadas por el usuario.

3. Abortos: son excepciones que no permiten la localización


exacta de la instrucción que ha originado la situación
anómala. Se emplean para señalar errores graves como los
que derivan del comportamiento del equipo físico.

Organización de Computadoras 12

También podría gustarte