Aspectos de Entrada/Salida (Input/Output) Gran variedad de periféricos Entregan diferentes cantidades de datos A diferentes velocidades En diferentes formatos Más lentos que la CPU Se necesitan módulos de I/O
Dispositivos Externos Leibles por Humano Pantalla, impresora, teclado Leibles por Máquina Discos,cintas Comunicación Modem Tarjeta de Red, Network Interface Card (NIC)
Velocidades Típicas I/O
Módulo de Entrada/salida Interface con la CPU y Memoria Interface a uno o más periféricos
CPU Memoria Módulo de I/O Periférico Periférico . . .
Modelo Genérico de Módulo de I/O Módulo de I/O Dirección Datos Control Bus del Sistema Líneas a los periféricos . . .
Función de Módulo de E/S Comunicación con la CPU Comunicación con el dispositivo Buffering de datos Control & Timing Detección de error
Diagrama en Bloques de un Módulo E/S
Diagrama en Bloques de Dispositivo Externo
Técnicas de Entrada Salida
Programada
Por Interrupciones
Acceso Directo a Memoria (DMA)
Entrada Salida Programada La CPU tiene control directo sobre la E/S Sensado de estado Comandos de Lectura/Escritura Transferencia de datos La CPU espera que el módulo de E/S complete la operación Se desperdicia tiempo de CPU
Detalle de E/S programada La CPU pide una operación de E/S El módulo de E/S realiza la operación El módulo E/S setea los bits de status La CPU chequea los bits de status periodicamente El módulo de E/S no informa a la CPU directamente El módulo de E/S no interrumpe a la CPU La CPU debe esperar o volver más tarde
Entrada/salida Programada Ejemplo periférico lento
Procesador a 200 MHz (tiempo ciclo = 5 ns) Ciclos por instrucción promedio: CPI = 2 Una instrucción 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 láser de 20 páginas por minuto 1 página @ 3.000 caracteres (1 carácter = 1 byte) La impresora imprime 60.000 caracteres por minuto = 1 Kbyte/seg
Entrada/Salida Programada E/S con espera de respuesta
La CPU entra en un bucle y envía 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 operación de E/S durante 10 s (en ese tiempo la CPU podría haber ejecutado 1000 millones de instrucciones)
Comandos de Entrada/salida La CPU coloca una dirección Identifica el módulo (& dispositivo si >1 por módulo) La CPU coloca un comando Control – dice al módulo que hacer e.g. Realizar un coversión AD Test – chequear status e.g. listo? Error? Read/Write El módulo transfiere datos via buffer desde/hacia el despositivo
Direccionamiento de Dispositivos de E/S Con E/S programada la transferencia de datos es muy similar a acceder a memoria (desde el punto de vista de la CPU) Cada dispositivo con un único identificador
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 selección de E/S o memoria (si el bus es compartido) Instrucciones especiales de E/S Conjuto de instrucciones limitado
Página siguiente |