Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Principios de Entrada-Salida de una Computadora (página 2)




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com

Entrada Salida Manejada por Interrupciones

Soluciona la espera de la CPU

No se requiere el chequeo repetido por parte de la CPU del dispositivo

El módulo de E/S interrumpe cuando está listo

Monografias.com

Entrada Salida Manejada por Interrupciones, Operación Básica

La CPU coloca un comando, ej.: lectura

El módulo E/S toma el dato del periférico, mientras tanto la CPU hace otro trabajo

El módulo de E/S interrumpe la CPU

La CPU accede al dato

Monografias.com

Punto de vista de la CPU

Colocar el comando de lectura

Hacer otro trabajo

Chequear si hay interrupciones al final de cada ciclo de instrucción

Si es interrunpida:
Salvar contexto (registros)
Procesar interrupción
Buscar el dato & alamacenarlo

Monografias.com

Ciclo de Interrupción
Agregado al ciclo de instrucción
El procesador chequea si hay interrupciones
Indicado por una señal de interrupción
Si no hay interrupción, buscar la próxima instrucción
Si hay interrupciones pendientes:
Suspender la ejecución del programa actual
Salvar el contexto
Poner en el PC la dirección de comienzo de la rutina de atención de la interrupción (handler)
Procesar la interrupción
Reestablecer el contexto y continuar la ejecución del programa interrumpido

Monografias.com

Transferencia de Control via Interrupciones

Monografias.com

Entrada Salida Manejada por Interrupciones, continúa ejemplo
b) E/S por interrupciones

La impresora genera una interrupción cada vez que está preparada
para recibir un nuevo byte
ð Suponemos que son necesarias 10 instrucciones para
ejecutar el handler (salvar contexto, comprobar estado,
transferir byte, restaurar contexto)
ð Para transferir 10 Kbyte tenemos repetir el proceso 10.000 veces
Þ hay ejecutar 100.000 instrucciones para atender al periférico
Þ la CPU tarda 0,001 s

CONCLUSIÓN:

Ø La E/S por interrupciones reduce en 10.000 veces el tiempo que la CPU está ocupada gestionando la impresora

Monografias.com

Interrupciones, en forma más amplia
Mecanismo por el cual los distintos módulos (e.g. E/S) pueden interrumpir la secuencia de procesamiento normal.
Excepción de Programa
e.g. overflow, división por cero
Timer
Generada por timer interno del procesador
Usada en “pre-emptive” multi-tasking
E/S
de controlador de I/O
Falla de Hardware
e.g. error de paridad en memoria

Monografias.com

Una clasificación de las interrupciones

Internas (excepciones)

Externas

De Software

Ternimología no consistente entre distintas máquinas: interrupciones, faults, traps, excepciones, cubren todos los posibles aspectos: Pedido de dispositovo de E/S, breakpoint, overflow, underflow, page fault, memory access violation, power failure, etc.

Monografias.com

Tópicos de Diseño

Como identificar al módulo que pidió la interrpción?

Como tratar con múltiples interrpciones?
i.e. un handler de interrupciones siendo interrunpido

Monografias.com

Identificando el Módulo que Interrumpe (1)
Una línea de interrupción diferente para cada módulo (vectorizada)
Ejemplo: PC
Limita el número de dispositivos
Una sola línea de interrupción compartida entre todos los módulos
Software Poll
La CPU le pregunta a cada módulo uno a la vez
Lento

Monografias.com

Identificando el Módulo que Interrumpe (2)

Daisy Chain o Hardware poll
Un “Interrupt Acknowledge” se envía a la cadena
El Módulo responsable ubica un “vector” en el bus
La CPU usa el vector para identificar el handler a usarse
CPU
IRQ
INTA

Monografias.com

Interrupciones Múltiples
Deshabilitar interrupciones
El procesador no atiende los pedidos de interrupción mientras procesa una interrupción
Las interrupciones que permanecen pendientes son chequedas luego que haber sido procesada la primer interrupción
La interrupciones se manejan en secuencia
Definir prioridades
Las interrupciones de baja prioridad pueden ser interrunpidas por interrupciones de prioridad más alta
Cuando una interrupción de prioridad más alta ha sido procesada, el procesador regresa a la interrurción previa

Monografias.com

Múltiples Interrupciones – Secuencial

Monografias.com

Múltiples Interrupciones – Anidadas

Monografias.com

Ejemplo – Bus ISA PC
80×86 tiene una línea de interrupción
Los sistemas basados en el 8086 tienen un contolador de interrpciones 8259A
El 8259A tiene 8 líneas de interrupción

Monografias.com

Secuencia de Eventos
El 8259A accepta interrupciones
El 8259A determina la prioridad
El 8259A lo indica al 8086 (eleva la línea INTR)
La CPU responde con una línea CPU de Acknowledgment
El 8259A pone el vector correcto en el bus de datos
La CPU procesa la interrupción

Monografias.com

Sistema de Interrupción del Bus ISA
Se encadenan dos 8259As juntos
Link via interrupción 2
Se tienen 15 líneas
16 líneas menos una para el link
Se usa la IRQ 9 para re-rutear la IRQ 2
Compatibilidad hacia atrás
Incorporada en el chip set

Monografias.com

Parallel
I/O ports
Serial
I/O ports
Counter/Timer
Processor
core
Internal
memory
To external
memory
A-to-D conversion
D-to-A conversion
Procesador Embarcado

Monografias.com

Horno a Microondas

Monografias.com

Cámara Digital

Monografias.com

Acceso Directo a Memoria (Direct Memory Access o DMA)
La entrada salida programada o por interrupciones requiere una activa intervención de la CPU
la tasa de transferencia se ve limitada
la CPU se ve atada al proceso
El DMA es la solución

Monografias.com

Ejemplo periférico rápido
Ø Procesador a 200 MHz (tiempo ciclo = 5 ns.; Ciclo medio por instrucción: CPI = 2 ciclos
ð Una instrucción tarda en promedio 2 x 5 ns = 10 nsÞ ~100 MIPS
Ø Disco con velocidad de transferencia de 10 Mbytes/s (1 byte cada 2*10-7 seg)
Ø Queremos transferir un archivo de memoria a disco de 10 Mbytes

a) E/S con espera de respuesta
La CPU entra en un lazo y envía un nuevo byte cada vez que el disco está preparado
para recibirlo
ð El disco tarda 1 seg en recibir un archivo de 10 Mbytes
ð La CPU está ocupada con la operación de E/S durante 1 s
(en ese tiempo la CPU podría haber ejecutado 200 millones de instrucciones)

b) E/S por interrupciones
El disco genera una interrupción cada vez que está preparado par a recibir un nuevo byte
ð Suponemos que la RTI tiene 10 instrucciones ( salvar contexto, comprobar estado,
transferir byte, restaurar contexto, RTE)
ð Para transferir 10 Mbytes tenemos que ejecutar 107 veces la RTI
Þ hay que ejecutar 100 millones de instrucciones para atender al periférico Þ la CPU
tarda 1 s
ð La CPU está ocupada con la operación de E/S durante 1 s
CONCLUSIÓN: La E/S por interrupciones no mejora el tiempo que la CPU está ocupada en atender al periférico

Acceso Directo a Memoria (DMA)

Monografias.com

Función del DMA
La técnica de DMA permite la transferencia de datos entre un periférico y la memoria sin intervención de la CPU (salvo en la fase de inicialización de los parámetros de la transferencia)

Monografias.com

Configuraciones DMA (1)
Un Bus, controlador DMA separado
Cada transferencia usa el bus dos veces
I/O a DMA luego DMA a memoria
La CPU es suspendida dos veces

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter