Interrupciones

Páginas: 29 (7128 palabras) Publicado: 6 de junio de 2013
Arquitectura de Computadoras

Notas de Teórico

Departamento de Arquitectura

Instituto de Computación

Universidad de la República
Montevideo - Uruguay

Notas de Teórico
Interrupciones

Arquitectura de Computadoras
(Versión 4.2 - 2011)

Instituto de Computación - Facultad de Ingeniería - UDELAR

1

Arquitectura de Computadoras

Notas de Teórico

16 INTERRUPCIONES
16.1Introducción
En este capítulo veremos el último de los componentes esenciales de la arquitectura
von Neuman: el manejo de interrupciones.
Este concepto es habitualmente difícil de entender en los cursos básicos de
computación porque se aparta de lo que “intuitivamente” pensamos de la ejecución de un
programa: siempre pensamos que la próxima instrucción (o sentencia) que se ejecuta de unprograma es la que está escrita a continuación en el código, o siendo más precisos (para
contemplar los saltos) la que está a continuación en la lógica de ejecución del programa.
Esto, que parece hasta de perogrullo, sin embargo no es cierto debido justamente al
mecanismo de interrupciones que se utiliza en todos los sistemas que se basan en los
conceptos de programa almacenado.
Primeramenteveremos una justificación de porqué es conveniente utilizar un
mecanismo de este tipo, para luego presentar una definición de lo que es una interrupción.

16.2 Justificación del Manejo de E/S por Interrupciones
16.2.1 Técnica de “Poleo”
Imaginemos la siguiente situación: tenemos un computador al que se le conecta una
“terminal tonta” mediante un puerto de comunicaciones serial. Una terminal deeste tipo
consiste en una pantalla capaz de desplegar caracteres y un teclado. En la pantalla se
despliegan los caracteres recibidos por la conexión serial, mientras que las teclas digitadas
en el teclado son enviadas como caracteres por dicha conexión.
Complementemos el cuadro diciendo que en el computador se ejecuta un programa
de edición básica de texto (que va mostrando en la pantalla dela terminal el texto que va
digitando el usuario en el teclado de la misma).
Una forma de diseño de este programa implica que el programa esté en un “loop”
(con una estructura tipo while) esperando por la aparición de un carácter en el puerto serie
del computador al que está conectado el terminal. Cuando éste aparece lo procesa para
desplegarlo en la pantalla, mueve el cursor un lugar haciadelante (eventualmente
cambiando de línea) y vuelve al bucle de espera por un nuevo carácter.
Supongamos por un momento que se necesitan 1000 instrucciones de máquina
para procesar un carácter recibido en el puerto serie. Si tenemos en cuenta que un hábil
digitador es capaz de teclear del orden de 60 palabras por minuto y considerando que una
palabra promedio tiene del orden de 5 letras,concluimos que la tasa de ingreso de
caracteres es:
60 palabras / minuto * 5 letras / palabra = 300 letras / minuto = 5 letras /
segundo
Esto significa que el tiempo entre que el usuario digita una letra y la siguiente es del
orden de 0,2 segundos (200 ms).
Supongamos que el procesador de este computador tiene una capacidad de
proceso de 1 MIPS (Millón de Instrucciones Por Segundo). Estosignifica que en 200 ms
puede ejecutar 200.000 instrucciones. De ellas requiere 1000 para procesar la tecla,
mientras que las restantes 199.000 se desperdician en el “loop” de espera.

Instituto de Computación - Facultad de Ingeniería - UDELAR

2

Arquitectura de Computadoras

Notas de Teórico

Una idea que surge casi enseguida es: ¿porqué no utilizar esas “instrucciones
muertas” paraatender los requerimientos de otros usuarios?. Podríamos, por ejemplo,
conectar múltiples terminales “tontas” con un programa de edición de texto que fuera
consultando los distintos puertos de comunicación serie de forma de detectar los caracteres
que vayan llegando y procesando los mismos.
Si bien esto es posible surge el inconveniente que el programa de edición de texto
debería ser adaptado...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Interrupciones
  • Interrupciones
  • Interrupciones
  • Interrupciones
  • Interrupciones
  • INTERRUPCIONES
  • Interrupciones
  • Interrupciones

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS