Documente Academic
Documente Profesional
Documente Cultură
Programada
Por Interrupciones
La CPU espera que el mdulo de E/S complete la operacin Se desperdicia tiempo de CPU
ENTRADA/SALIDA PROGRAMADA
Ejemplo perifrico lento Procesador a 200 MHz (tiempo ciclo = 5 ns) Ciclos por instruccin promedio: CPI = 2 Una instruccin tarda en promedio 2 x 5 ns = 10 ns la CPU puede ejecutar ~100 MIPS Queremos imprimir un archivo de 10 Kbytes en una impresora lser de 20 pginas por minuto 1 pgina @3.000 caracteres (1 carcter = 1 byte) La impresora imprime 60.000 caracteres por minuto = 1 Kbyte/seg
ENTRADA/SALIDA PROGRAMADA
a) E/S con espera de respuesta
La CPU entra en un bucle y enva un nuevo byte cada vez que la impresora est preparada para recibirlo La impresora tarda 10 s en imprimir 10 Kbytes
La CPU est ocupada con la operacin de E/S durante 10 s (en ese tiempo la CPU podra haber ejecutado 1000 millones de instrucciones)
COMANDOS DE ENTRADA/SALIDA
La CPU coloca una direccin
Identifica el mdulo (& dispositivo si >1 por mdulo)
Read/Write
El mdulo transfiere datos via buffer desde/hacia el despositivo
MAPEO DE ENTRADA/SALIDA
E/S mapeada en memoria (Memory mapped I/O)
Los dispositivos y la memoria comparten un espacio de direcciones E/S es como leer/escribir en memoria No hay instrucciones especiales para E/S
Conjunto de instrucciones completo
E/S Separada
Espacios de direcciones separados Se necesitan lineas de seleccin de E/S o memoria (si el bus es compartido) Instrucciones especiales de E/S
Conjuto de instrucciones limitado
E N T R A DA S A L I DA M A N E JA DA P O R INTERRUPCIONES
La CPU coloca un comando, ej.: lectura El mdulo E/S toma el dato del perifrico, mientras tanto la CPU hace otro trabajo El mdulo de E/S interrumpe la CPU La CPU accede al dato
CICLO DE INTERRUPCIN
Agregado al ciclo de instruccin El procesador chequea si hay interrupciones Indicado por una seal de interrupcin Si no hay interrupcin, buscar la prxima instruccin Si hay interrupciones pendientes: Suspender la ejecucin del programa actual Salvar el contexto Poner en el PC la direccin de comienzo de la rutina de atencin de la interrupcin (handler) Procesar la interrupcin Reestablecer el contexto y continuar la ejecucin del programa interrumpido
E N T R A DA S A L I DA M A N E J A DA P O R I N T E R R U P C I O N E S, C O N T I N A EJEMPLO
b) E/S por interrupciones La impresora genera una interrupcin 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 perifrico la CPU tarda 0,001 s CONCLUSIN: La E/S por interrupciones reduce en 10.000 veces el tiempo que la CPU est ocupada gestionando la impresora
Ternimologa no consistente entre distintas mquinas: 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.
TPICOS DE DISEO
Como identificar al mdulo que pidi la interrpcin?
IRQ
CPU
INTA
INTERRUPCIONES MLTIPLES
Deshabilitar interrupciones
El procesador no atiende los pedidos de interrupcin mientras procesa una interrupcin Las interrupciones que permanecen pendientes son chequedas luego que haber sido procesada la primer interrupcin La interrupciones se manejan en secuencia
Definir prioridades
Las interrupciones de baja prioridad pueden ser interrunpidas por interrupciones de prioridad ms alta Cuando una interrupcin de prioridad ms alta ha sido procesada, el procesador regresa a la interrurcin previa
SECUENCIA DE EVENTOS
El 8259A accepta interrupciones El 8259A determina la prioridad El 8259A lo indica al 8086 (eleva la lnea INTR) La CPU responde con una lnea CPU de Acknowledgment El 8259A pone el vector correcto en el bus de datos La CPU procesa la interrupcin
El DMA es la solucin
Un Bus, controlador DMA separado Cada transferencia usa el bus dos veces
I/O a DMA luego DMA a memoria
Un Bus, controlador DMA integrado El controlador puede manejar >1 dispositivo Cada transferencia usa el bus una vez
DMA a memoria
Bus separado de I/O El Bus suporta todos los dispositivos habilitados para DMA Cada transferencia usa el bus una vez
DMA a memoria
CONTROLADOR DE DMA
El controlador de DMA es un dispositivo capaz de controlar una transferencia de datos entre un perifrico y memoria sin intervencin de la CPU
El DMAC debe actuar como mster del bus durante la transferencia DMA y debe ser capaz de: Solicitar el uso del bus mediante las seales y la lgica de arbitraje necesarias Especificar la direccin de memoria sobre la que se realiza la transferencia Generar las seales de control del bus Tipo de operacin (lectura/escritura) Seales de sincronizacin de la transferencia
INTEGRANTES
INSTITUTO TECNOLOGICO DE COLIMA Arquitectura de Computadoras Unidad 1 Modelo de Arquitecturas de Computo Trabajo: Entrada y Salida Maestra: Mara Elena Martnez Duran
Integrantes: Alegra Ponce de Len Ricardo Daniel (09460294) Cruz Huerta Adn (09460322) Ramos Vzquez Jonathan Yaran (09460400)
Semestre 7
REFERENCIAS
Sanchis, E. (2002). Sistemas Electrnicos Digitales (2th ed.). Valencia: Maite Simon. Da Cota, C. (1992). Fundamentos de Tecnologa Documental (1th ed.). Madrid: Complutense. Molino, E. (1973). Introduccin a la informtica (4th ed.). Mxico: trillas. Stallings, W.(2005). Organizacin y Arquitectura de Computadores (7 edicin). Madrid: Pearson Educacin Quiroga, P.(2010). Arquitectura de Computadoras (1 ed.). Buenos Aires: Alfaomega Abel, P. (1995). Lenguaje Ensamblador y Programacin para IBM PC y compatibles (1 ed.). Mxico: Pearson Educacin