Manejo de dispositivos
Arquitectura de Computadoras II Fac. Cs. Exactas UNCPBA
Introduccin
Sistemas de ( I/O ) estn limitados por la tecnologa diseadores de procesadores deben preocuparse solo de la performance diseadores de sistemas de I/O deben considerar la expandibilidad factibilidad de recuperacin de errores la performance.
Introduccin
La performance depende de varios aspectos del sistema : las caractersticas del dispositivo la conexin entre el dispositivo y el resto del sistema la jerarqua de memoria el sistema operativo. La performance de un sistema de I/O es mucho mas difcil de medir que la de un procesador En algunos dispositivos importa la latencia de acceso, en otros el throughput es mas importante
Arquitectura de Computadoras II Entrada / Salida 3 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Memoria principal
Controladora de I/O
Controladora de I/O
Controladora de I/O
Disco
Caractersticas
Todos los componentes, desde los dispositivos individuales de I/O hasta el procesador, afectarn la performance de las tareas que incluyan I/O Las conexiones entre los dispositivos, procesador y memoria son llamadas buses La comunicacin entre dispositivos y procesador usan ambos protocolos Buses Interrupciones
Arquitectura de Computadoras II Entrada / Salida 5 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Ejemplo
Supongamos un benchmark que ejecuta en 100 segundos, usa 90 segundos de tiempo de CPU y el resto es tiempo de I/O. Si el tiempo de CPU es mejorado en un 50% por ao, por 5 aos seguidos; mientras que la I/O no. Cuanto ms rpido correr nuestro programa sobre la mquina del 5to ao ? Sabemos que: TiempoTotal 100 I/Otime
Arquitectura de Computadoras II Entrada / Salida
= = =
6
Ejemplo
Nuevos tiempos de CPU y tiempo total Ao 0 1 2 3 4 5 T CPU 90 seg. 60 seg. (=90/1.5) 40 seg. (=60/1.5) 27 seg. (=40/1.5) 18 seg. (=27/1.5) 12 seg. (=18/1.5) T I/O 10 seg. 10 seg. 10 seg. 10 seg. 10 seg. 10 seg. T total 100 seg. 70 seg. 50 seg. 37 seg. 28 seg. 22 seg. I/O% 10% 14% 20% 27% 36% 45%
Ejemplo
Ganancia de performance de la CPU luego de los 5 aos : 7.5 = 90 / 12 Ganancia real de todo el sistema, considerando la I/O : 4.5 = 100 / 22 Incremento del porcentaje de tiempo de I/O : 10% a 45%.
T cargadetrabajo
= T cpu + T
= T cpu
m raC U ejo P
i/o
- T solapado
+ T i/o - T solapado
m raC U ejo P
Ejemplo
Una carga de trabajo emplea 50 seg., estando la CPU ocupada 30 seg. Y la I/O ocupada 30 seg. Cul es la nueva carga de trabajo con una CPU que cuadriplique el rendimiento? T carga = 30/4 + 30 - 10/4 = 35 seg.
10
Problema
Qu parte del nuevo tiempo de carga en que se usa la CPU nueva se solapa con I/O? Original : T i/o T cpu
T solapado
Arquitectura de Computadoras II Entrada / Salida 11 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Posibilidades de solapado
A) Solapado mximo (30 segundos)
T i/o
T cpu
12
Posibilidades de solapado
B) Solapado escalado (35 segundos)
T i/o T cpu
13
Posibilidades de solapado
A) Solapado mnimo (37,5 segundos)
T i/o T cpu
T solapado = 0 seg.
14
Comportamiento
Entrada Entrada Entrada Entrada Salida Salida Salida Salida Entrada o Salida Entrada o Salida Almacenamiento Almacenamiento Almacenamiento Almacenamiento
16
Involucrados
Humano Humano Humano Humano Humano Humano Humano Humano Mquina Mquina Mquina Mquina Mquina Mquina
KB/seg.
0.01 0.02 0.02 200.00 0.60 1.00 100.00 30 000.00 0.05 200.00 50.00 500.00 2 000.00 2 000.00
Buses
La comunicacin entre memoria, procesador y dispositivos de I/O es realizada por medio de un bus Bus vnculo de comunicacin compartido usa un conjunto de cables para conectar mltiples subsistemas.
CPU
RAM
I/O
I/O
I/O Bus
17
Ventajas y desventajas
Ventajas de una organizacin por bus versatilidad : Definiendo un esquema simple de conexin, pueden ser agregados nuevos dispositivos bajo costo : los perifricos pueden ser intercambiados entre mquinas que utilicen el mismo tipo de bus. Desventaja de un bus cuello de botella en las comunicaciones limita el mximo throughput de I/O, debido a que todo el trfico debe pasar por un simple bus
sistemas donde las operaciones de I/O son muy frecuentes, como en supercomputadoras y sistemas comerciales de alta performance
Arquitectura de Computadoras II Entrada / Salida 18 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Tipos de buses
Tres categoras (segn que partes comunican) : Buses procesador-memoria cortos de alta velocidad cercanos al sistema de memoria
(para maximizar el ancho de banda procesador-memoria)
Buses de I/O largos pueden conectarse varios tipos de dispositivos pueden trabajar en un amplio rango de anchos de banda
Por lo general no se comunica directamente con la memoria, lo hace por medio del bus procesador-memoria o del bus backplane.
Arquitectura de Computadoras II Entrada / Salida 19 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Tipos de buses
Buses backplane diseados para permitir que el procesador, la memoria, y los dispositivos de I/O puedan coexistir sobre un simple bus equilibra las demandas de comunicacin procesador - memoria dispositivo I/O - memoria.
20
Notas
Los buses procesador-memoria son diseos especficos, mientras que los buses de I/O y backplane son frecuentemente reutilizados en diferentes mquinas buses backplane y de I/O son casi siempre considerados buses estndares (usados por distintos fabricantes de computadoras y dispositivos) El diseador del bus procesador-memoria conoce todos los tipos de dispositivos a los cuales se conectar el bus Los diseadores de buses backplane o de I/O deben disear un bus para manejar dispositivos desconocidos que pueden variar en caractersticas tales como latencia y ancho de banda
Arquitectura de Computadoras II Entrada / Salida 21 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Ejemplos de conexionado
Bus Backplane
Bus backplane Procesador adap. adap. adap. adap. Memoria
Dispositivos de I/O
el bus backplane requiere lgica adicional para interface entre el bus y un dispositivo
Arquitectura de Computadoras II Entrada / Salida 22 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Ejemplos de conexionado
Bus procesador-memoria y buses de I/O
Bus procesador-memoria Procesador Adaptador de bus Adaptador de bus Memoria
Bus de I/O
Bus de I/O
un bus de I/O presenta una interface para conectar dispositivos de bajo nivel directamente
23
Ejemplos de conexionado
Sistema con todos los buses
Bus procesador-memoria Procesador Adaptador de bus Bus backplane Adaptador de bus Bus de I/O Memoria
Adaptador de bus
Bus de I/O
24
2 desventajas principales:
todos los dispositivos sobre el bus deben ejecutar a la misma frecuencia de reloj. puede ocasionar problemas de deteccin de flancos del reloj si el bus es muy largo y rpido.
Arquitectura de Computadoras II Entrada / Salida 25 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Mem
DataReady Ack
I/O
27
Ms notas...
La eleccin entre un bus sincrnico y asincrnico afecta el ancho de banda la capacidad del sistema de I/O (por el largo del bus) el nmero y tipo de dispositivos a los cuales puede conectarse Los buses asincrnicos mejoraron con los cambios tecnolgicos y pueden soportar una gran variedad de dispositivos con distintas velocidades de respuesta.
28
Acceso al bus
Sin un protocolo de control cualquier dispositivo puede tomar control del bus Solucin Se define un esquema de acceso maestro - esclavo Se introducen uno o ms maestros del bus Un maestro controla el acceso a el bus: inicializa y controla todos los pedidos al bus.
Arquitectura de Computadoras II Entrada / Salida 30 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Acceso al bus
Maestro : entidad activa capaz de iniciar un requerimiento a la memoria o I/O Esclavo : entidad activa o pasiva responde a los requerimiento de un maestro CPU Memoria I/O disco siempre maestro siempre esclavo maestro o esclavo
31
Nmero de masters
1 maestro de bus : procesador desventaja : todo requerimiento debe ser controlado por el procesador. varios maestros : procesador, DMA, discos, etc debe existir un mecanismo que decida quien accede al bus trabajo en forma cooperativa se definen diferentes esquemas de arbitracin de bus.
cada dispositivo debe tener una prioridad de acceso al bus, donde el dispositivo con prioridad mas alta accede primero. cualquier dispositivo, incluso uno con baja prioridad, nunca debe ser privado del acceso al bus.
Arquitectura de Computadoras II Entrada / Salida 32 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Esquemas de arbitracin
Daisy Chain lnea de grant (acceso, permiso) se recorren los dispositivos desde la mas alta prioridad hasta la mas baja (las prioridades son determinadas por la posicin en el bus)
Ack/nak
Bus driver
I/O
grant grant
I/O
grant grant
I/O
grant
I/O
33
Esquemas de arbitracin
Centralizado/paralelo mltiples lneas de requerimientos centralizado, el arbitro selecciona el dispositivo al cual se le dar acceso y desventaja: puede crear un cuello de botella.
request
Bus driver
I/O
ack
I/O
I/O
I/O
34
Esquemas de arbitracin
Distribuido por seleccin propia (self-selection) mltiples lneas de requerimientos los dispositivos determinan cual tiene el acceso Cada dispositivo que necesite acceder al bus, pone un cdigo que
lo identifica en el bus, y luego al examinar el bus, el dispositivo puede determinar cual es el dispositivo de prioridad mas alta que solicit acceso
I/O
Arquitectura de Computadoras II Entrada / Salida 35 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Esquemas de arbitracin
Distribuido por deteccin de colisiones cada dispositivo independientemente solicita el acceso al bus Mltiples accesos simultneos producen colisin una vez detectada se inicia un mecanismo para solicitar nuevamente el acceso Ethernet usa este esquema.
36
Estndares
Un bus estndar asegura al diseador de la computadora que perifricos tendr disponible la nueva mquina asegura al constructor de dispositivos que los usuarios podrn incorporar el perifrico a su equipo Algunos estndares : IBM PC-AT IPI, Intelligent Peripheral Interface (fabricantes) SCSI, Small Computer System Interface (fabricantes) Ethernet, (fabricantes) FutureBus (IEEE)
Arquitectura de Computadoras II Entrada / Salida 37 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Transferencia de datos
Tres tcnicas : Polling El procesador realiza la transferencia de datos entre el dispositivo y la memoria El procesador debe efectuar lecturas de los registros para obtener los datos a almacenar Controlado por interrupciones El S.O. transfiere datos, en pequeos grupos de bytes, de/al dispositivo como la transferencia es controlada por interrupciones, el S.O. trabaja con otras tareas mientras los datos son ledos o escritos de/a el dispositivo
Arquitectura de Computadoras II Entrada / Salida 42 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Transferencia de datos
Acceso directo a memoria (DMA Direct Memory Access) controlador especializado que transfiere los datos entre el dispositivo de I/O y la memoria independiente del procesador. el controlador de DMA es el maestro y dirige las lecturas o escrituras sobre s mismo y sobre la memoria. 3 pasos en una transferencia DMA :
El procesador configura el DMA, envindole la identidad del dispositivo, la operacin a realizar, la direccin de memoria que es fuente o destino de los datos transferidos, y el nmero de bytes a transferir. El DMA comienza la operacin sobre el dispositivo y arbitra el acceso al bus Al terminar, el controlador interrumpe al procesador, el cual determina interrogando al DMA si la operacin entera fue realizada satisfactoriamente.
Arquitectura de Computadoras II Entrada / Salida 43 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Bus IBM PC
Gnd reset drv +5 V irq 2 -5 V drq 2 -12 V reserved +12 V gnd memW memR ioW ioR dack3 drq 3 dack1 drq 1 dack0 clock irq 7 irq 5 irq 4 irq 3 dack2 T/C ALE +5 V Osc Gnd B1 A1 I/o ch ck d7 d6 d5 d4 d3 d2 d1 d0 i/o ch rdy AEN A19 A18 A17 A16 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
B10
A10
B20
A20
A0..A19: direccin D0..D7: datos irq0..irq7: interrupciones drq1..drq3: DMA dack0..dack3: DMA ACK memW, memR: requerimiento de memoria ioW, ioR: requerimiento de I/O ALE: address latch enable (80x86) AEN: address enable Osc: reloj 14 Mhz (70 ns) clock: reloj de 4,77 Mhz (210 ns) reset drv: reset de inicializacin i/o ch rdy: seal usada para generar wait states (para i/o lentas) i/o ch ck: error de paridad en i/o o memoria T/C: fin de ciclo de DMA
B31
A31
44
Bus IBM PC
Caractersticas elctricas : +/- 12 V - 5 A +/- 5 V - 4 A Reglas prcticas de uso: No conectar lgica MOS (NMOS) directo al bus No conectar ms de 2 cargas TTL a cada pin del bus Evitar que las seales del bus recorran grandes distancias en la placa (capacitancia, distorsin, retraso, etc.)
Arquitectura de Computadoras II Entrada / Salida 45 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Conexin al IBM PC
Data bus
Bus
Adr bus ioW
Decode logic
46
Ejemplo
A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
32 posibles puertos a usar A9 = 1 : Dir a partir de 200 h
A8 0 0 0 0 1
A7 0 0 0 1 0
47
A6 0 0 1 0 0
A5 0 1 0 0 0
Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
Lgica de decodificacin
5V gnd A5
A6 Habilitacin placa
A7
A8 1
A9
48
D0
BD0
BD0
Buffer comercial
D0 D1 D2 D3 D4 D5 D6 D7 BD0 BD1 BD2 BD3 BD4 BD5 BD6 BD7
74LS245
G DIR
Habilitacin de placa
IOR IOW 74LS245 : 8 bit bus transeiver with tristate Arquitectura de Computadoras II Entrada / Salida 50 Marcelo A. Tosini Fac. Cs. Exactas - UNCPBA
.
enable
D e c o d 4 a 32
Registro 0
W/R
IOR IOW
A0 A1 A2 A3 A4
D0..D7
enable
Registro 31
51
W/R