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 |