EntradaSalida Manejo de dispositivos - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

EntradaSalida Manejo de dispositivos

Description:

Comportamiento: entrada, salida, o almacenamiento (m ltiples entradas y salidas) ... datos de entrada o leyendo datos de salida. Velocidad de Transmisi n. ... – PowerPoint PPT presentation

Number of Views:169
Avg rating:3.0/5.0
Slides: 52
Provided by: exaUni
Category:

less

Transcript and Presenter's Notes

Title: EntradaSalida Manejo de dispositivos


1
Entrada/SalidaManejo de dispositivos
  • Arquitectura de Computadoras II
  • Fac. Cs. Exactas
  • UNCPBA

2
Introducción
Sistemas de ( I/O ) están limitados por la
tecnología
diseñadores de procesadores deben preocuparse
solo de la performance diseñadores de sistemas
de I/O deben considerar la expandibilidad
factibilidad de recuperación de errores la
performance.
3
Introducción
  • La performance depende de varios aspectos del
    sistema
  • las características del dispositivo
  • la conexión entre el dispositivo y el resto del
    sistema
  • la jerarquía de memoria
  • el sistema operativo.

La performance de un sistema de I/O es mucho mas
difícil de medir que la de un procesador En
algunos dispositivos importa la latencia de
acceso, en otros el throughput es mas importante
4
Estructura del sistema de I/O
5
Características
  • Todos los componentes, desde los dispositivos
    individuales
  • de I/O hasta el procesador, afectarán la
    performance de las
  • tareas que incluyan I/O
  • Las conexiones entre los dispositivos,
    procesador y memoria
  • son llamadas buses
  • La comunicación entre dispositivos y procesador
    usan ambos protocolos
  • Buses
  • Interrupciones

6
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 año, por 5 años seguidos
mientras que la I/O no. Cuanto más rápido
correrá nuestro programa sobre la máquina del 5to
año ? Sabemos que TiempoTotal CPUtime
I/Otime 100 90 I/Otime I/Otime 10
segundos
7
Ejemplo
Nuevos tiempos de CPU y tiempo total Año T
CPU T I/O T total I/O
0 90 seg. 10 seg. 100
seg. 10 1 60 seg. (90/1.5) 10
seg. 70 seg. 14 2 40
seg. (60/1.5) 10 seg. 50 seg.
20 3 27 seg. (40/1.5) 10 seg.
37 seg. 27 4 18 seg.
(27/1.5) 10 seg. 28 seg. 36
5 12 seg. (18/1.5) 10 seg. 22
seg. 45
8
Ejemplo
Ganancia de performance de la CPU luego de los 5
años 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.
9
Rendimiento del sistema I/O
Problema El trabajo de la CPU y de la I/O se
superponen Nuevo concepto de rendimiento
T carga de trabajo T cpu T i/o - T solapado
Si mejoramos CPU T carga de trabajo T
cpu T i/o - T solapado
mejora CPU
mejora CPU Si mejoramos I/O T carga de
trabajo T cpu T i/o - T solapado

mejora I/O mejora I/O
10
Ejemplo
Una carga de trabajo emplea 50 seg., estando la
CPU ocupada 30 seg. Y la I/O ocupada 30
seg. Cuál es la nueva carga de trabajo con una
CPU que cuadriplique el rendimiento?
T carga 30/4 30 - 10/4 35 seg.
11
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
12
Posibilidades de solapado
A) Solapado máximo (30 segundos)
T i/o
T solapado 7,5 seg.
T cpu
13
Posibilidades de solapado
B) Solapado escalado (35 segundos)
T i/o
T solapado 2,5 seg.
T cpu
14
Posibilidades de solapado
A) Solapado mínimo (37,5 segundos)
T i/o
T solapado 0 seg.
T cpu
15
Tipos y características de I/O
  • 3 características principales
  • Comportamiento entrada, salida, o
    almacenamiento
  • (múltiples entradas y salidas)
  • Involucrados humano o máquina. Quien está al
    final
  • de la línea del dispositivo de I/O, o
    alimentando
  • datos de entrada o leyendo datos de salida.
  • Velocidad de Transmisión. Velocidad en que los
    datos
  • pueden ser transferidos entre el dispositivo y
    la memoria
  • principal o el procesador

16
Dispositivos de I/O estandares
Dispositivo Comportamiento
Involucrados KB/seg. Teclado
Entrada Humano
0.01 Mouse
Entrada Humano
0.02 Entrada de voz Entrada
Humano
0.02 Scanner Entrada
Humano 200.00 Salida de
voz Salida
Humano 0.60 Impresora de
líneas Salida Humano
1.00 Impresora láser
Salida Humano
100.00 Pantalla gráfica Salida
Humano 30
000.00 Terminal Entrada o
Salida Máquina 0.05 Red
LAN Entrada o Salida
Máquina 200.00 Disketera
Almacenamiento Máquina
50.00 Disco óptico
Almacenamiento Máquina
500.00 Cinta magnética
Almacenamiento Máquina 2
000.00 Disco magnético
Almacenamiento Máquina 2
000.00
17
Buses
La comunicación entre memoria, procesador y
dispositivos de I/O es realizada por medio de un
bus Bus vínculo de comunicación compartido usa
un conjunto de cables para conectar múltiples
subsistemas.
RAM
CPU
I/O
I/O
I/O
Bus
18
Ventajas y desventajas
  • Ventajas de una organización por bus
  • versatilidad Definiendo un esquema simple de
    conexión, pueden ser agregados nuevos
    dispositivos
  • bajo costo los periféricos pueden ser
    intercambiados entre máquinas que utilicen el
    mismo tipo de bus.
  • Desventaja de un bus
  • cuello de botella en las comunicaciones
  • limita el máximo throughput de I/O, debido a que
    todo el tráfico 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

19
Tipos de buses
  • Tres categorías (según 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.

20
Tipos de buses
  • Buses backplane
  • diseñados para permitir que el procesador, la
    memoria, y los dispositivos de I/O puedan
    coexistir sobre un simple bus
  • equilibra las demandas de comunicación
  • procesador - memoria
  • dispositivo I/O - memoria.

21
Notas
Los buses procesador-memoria son diseños
específicos, mientras que los buses de I/O y
backplane son frecuentemente reutilizados en
diferentes máquinas buses backplane y de I/O
son casi siempre considerados buses estándares
(usados por distintos fabricantes de computadoras
y dispositivos) El diseñador del bus
procesador-memoria conoce todos los tipos de
dispositivos a los cuales se conectará el
bus Los diseñadores de buses backplane o de I/O
deben diseñar un bus para manejar dispositivos
desconocidos que pueden variar en características
tales como latencia y ancho de banda
22
Ejemplos de conexionado
Bus Backplane
el bus backplane requiere lógica adicional para
interface entre el bus y un dispositivo
23
Ejemplos de conexionado
Bus procesador-memoria y buses de I/O
un bus de I/O presenta una interface para
conectar dispositivos de bajo nivel directamente
24
Ejemplos de conexionado
Sistema con todos los buses
25
Buses sincrónicos y asincrónicos
Bus sincrónico
  • incluye una señal de reloj entre las líneas de
    control
  • un protocolo fijo para comunicación (relativo al
    reloj)
  • altas velocidades de ejecución
  • lógica e la interface pequeña
  • Los buses procesador-memoria son por lo general
    de tipo sincrónico, porque los dispositivos a
    comunicar son una pequeña cantidad, conocidos, y
    preparados para operar a altas frecuencias de
    reloj
  • 2 desventajas principales
  • todos los dispositivos sobre el bus deben
    ejecutar a la misma
  • frecuencia de reloj.
  • puede ocasionar problemas de detección de
    flancos del reloj si el
  • bus es muy largo y rápido.

26
Buses sincrónicos y asincrónicos
Bus asincrónico
  • no trabaja con el reloj
  • puede trabajar con una amplia gama de
    dispositivos
  • el bus puede ser alargado sin importar la señal
    de reloj
  • y los problemas de sincronismo.
  • Uso de un protocolo de handshaking
  • coordina la transmisión de datos entre
    dispositivos
  • consiste de una serie de pasos, en los cuales el
  • transmisor y el receptor, luego de acordar
    pasan a la
  • siguiente etapa de la transmisión.

27
Buses sincrónicos y asincrónicos
Protocolo de handshaking
  • utiliza un grupo de lineas de control
    adicionales
  • tres señales de control básicas
  • ReadReq
  • DataReady
  • Ack.

ReadReq
ReadReq
Mem
I/O
Ack
DataReady
DataReady
Ack
Ack
28
Más notas...
  • La elección entre un bus sincrónico y asincrónico
    afecta
  • el ancho de banda
  • la capacidad del sistema de I/O (por el largo
    del bus)
  • el número y tipo de dispositivos a los cuales
    puede
  • conectarse
  • Los buses asincrónicos mejoraron con los cambios
    tecnoló-
  • gicos y pueden soportar una gran variedad de
    dispositivos con distintas velocidades de
    respuesta.

29
Ancho de banda de un bus
  • Definido por el protocolo (sincrónico o
    asincrónico) y las características de
    temporización del bus
  • Factores que afectan el ancho de banda
  • Ancho del bus de datos incrementando el ancho
    del bus de datos, la transferencia de múltiples
    palabras requieren menos ciclos.
  • Líneas de direcciones y de datos separadas VS
    multiplexadas incluyendo líneas de dirección
    separadas provocarán un incremento en la
    performance, porque las direcciones y datos
    pueden ser transmitidos en un solo ciclo de
    reloj.
  • Transferencia de bloques permitiendo la
    transferencia de múltiples palabras encadenadas,
    evitando enviar todas las direcciones el bus
    reducirá el tiempo necesario para la
    transferencia del bloque.

30
Acceso al bus
Caos
Sin un protocolo de control cualquier dispositivo
puede tomar control del bus
Solución
  • Se define un esquema de acceso maestro -
    esclavo
  • Se introducen uno o más maestros del bus

Un maestro controla el acceso a el bus
inicializa y controla todos los pedidos al bus.
31
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 siempre maestro
Memoria siempre esclavo
I/O disco maestro o esclavo
32
Número 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 arbitración 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.

33
Esquemas de arbitración
  • Daisy Chain
  • línea de grant (acceso, permiso)
  • se recorren los dispositivos desde la mas alta
    prioridad
  • hasta la mas baja (las prioridades son
    determinadas por
  • la posición en el bus)

Ack/nak
Bus driver
grant
grant
grant
grant
grant
34
Esquemas de arbitración
  • Centralizado/paralelo
  • múltiples líneas de requerimientos
  • centralizado,
  • el arbitro selecciona el dispositivo al cual se
    le dará acceso y
  • le notifica que pasa a ser el maestro del bus
  • desventaja puede crear un cuello de botella.

request
Bus driver
ack
35
Esquemas de arbitración
  • Distribuido por selección propia (self-selection)
  • múltiples líneas de requerimientos
  • los dispositivos determinan cual tiene el acceso
  • Cada dispositivo que necesite acceder al bus,
    pone un código 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
  • no necesita arbitro, pero necesita más líneas de
  • requerimiento de acceso

Códigos de identificación
36
Esquemas de arbitración
  • Distribuido por detección de colisiones
  • cada dispositivo independientemente solicita el
  • acceso al bus
  • Múltiples accesos simultáneos producen colisión
  • una vez detectada se inicia un mecanismo para
  • solicitar nuevamente el acceso
  • Ethernet usa este esquema.

37
Estándares
Un bus estándar asegura al diseñador de la
computadora que periféricos tendrá disponible la
nueva máquina asegura al constructor de
dispositivos que los usuarios podrán incorporar
el periférico a su equipo
  • Algunos estándares
  • IBM PC-AT
  • IPI, Intelligent Peripheral Interface
    (fabricantes)
  • SCSI, Small Computer System Interface
    (fabricantes)
  • Ethernet, (fabricantes)
  • FutureBus (IEEE)

38
Notas sobre performance
Buses mas cortos pueden ser más rápidos, pero no
serán tan expandibles Buses más anchos puede
tener un ancho de banda mayor pero son más
caros Dividir una transacción de bus incrementa
el ancho de banda, pero incrementa el
costo Buses con líneas separadas de direcciones
y datos brindan una alta performance, pero
incrementa mucho el costo si lo comparamos con
las lineas de datos y direcciones multiplexadas
39
Interacción con el sistema
  • características principales del sistema de I/O
  • El sistema de I/O es compartido por los
    múltiples
  • programas que usan el procesador
  • El sistema de I/O frecuentemente usa
    interrupciones
  • para comunicar información acerca de
    operaciones de
  • I/O.
  • El control de bajo nivel de un dispositivo de
    I/O es
  • complejo, porque requiere manejar un conjunto
    de
  • eventos concurrentes y porque los
    requerimientos para
  • el correcto control del dispositivo son muchos.

40
Funciones del S.O.
  • El S.O. debe ser capaz de enviar comandos a los
  • dispositivos.
  • lectura y escritura
  • seek sobre un disco
  • etc.
  • El dispositivo debe ser capaz de informar al
    S.O.
  • cuando la operación ha sido completada o ha
  • detectado un error (seek completado).
  • Debe ser posible realizar transferencias de
    datos
  • entre el dispositivo y la memoria (si un
    bloque está
  • siendo leído, debe ser transferido a memoria).

41
Comandos a los dispositivos I/O
  • 2 tipos
  • I/O de memoria mapeada en esta técnica,
    porciones del espacio de direccionamiento es
    asignado a dispositivos de I/O. Lecturas y
    escrituras sobre esas áreas de memoria son
    interpretadas como comandos para el dispositivo.
    El procesador puede también verificar el estado
    del dispositivo.
  • Instrucciones especiales de I/O. Estas
    instrucciones dedicadas pueden especificar el
    número de dispositivo y la palabra comando (o la
    ubicación de la palabra comando en la memoria

42
Transferencia de datos
  • Tres técnicas
  • 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 pequeños grupos de
    bytes,
  • de/al dispositivo
  • como la transferencia es controlada por
    interrupciones,
  • el S.O. trabaja con otras tareas mientras los
    datos son
  • leídos o escritos de/a el dispositivo

43
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, enviándole la
    identidad del dispositivo, la operación a
    realizar, la dirección de memoria que es fuente o
    destino de los datos transferidos, y el número de
    bytes a transferir.
  • El DMA comienza la operación sobre el
    dispositivo y arbitra el acceso al bus
  • Al terminar, el controlador interrumpe al
    procesador, el cual determina interrogando al DMA
    si la operación entera fue realizada
    satisfactoriamente.

44
Bus IBM PC
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
B1 A1 B10 A10 B20
A20 B31 A31
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
A0..A19 dirección 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 inicialización i/o ch
rdy señal 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
45
Bus IBM PC
  • Características eléctricas
  • /- 12 V - 5 A
  • /- 5 V - 4 A
  • Reglas prácticas de uso
  • No conectar lógica MOS (NMOS) directo al bus
  • No conectar más de 2 cargas TTL a cada pin del
    bus
  • Evitar que las señales del bus recorran grandes
  • distancias en la placa (capacitancia,
    distorsión, retraso, etc.)

46
Conexión al IBM PC
Data bus
Bus
3-state buffer input port
3-state buffer output port
Adr bus
ioR
ioW
Chip select
Chip select
Decode logic
47
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 A7 A6 A5 200h 0
0 0 0 220h 0 0
0 1 240h 0 0 1
0 280h 0 1 0 0 300h
1 0 0 0
48
Lógica de decodificación
5 V
gnd
A5
A6
Habilitación placa
A7
A8
1
A9
49
Lógica de los buffers
D0
BD0
D0
BD0
D0
BD0
Dir 1 - salida 0 - entrada
50
Buffer comercial
74LS245
D0
BD0
D1
BD1
D2
BD2
D3
BD3
D4
BD4
D5
BD5
D6
BD6
Habilitación de placa
D7
BD7
DIR
G
IOR
IOW
74LS245 8 bit bus transeiver with tristate
51
Decodif. De A0..A4 (selección de registro)
BD0
.
BD7
W/R
enable
IOR
Registro 0
IOW
D e c o d 4 a 32
A0
A1
IOR IOW W/R
D0..D7
A2
A3
0 0 0 0 1 1 1
0 0 1 1 0
A4
enable
W/R
Registro 31
Write a Comment
User Comments (0)
About PowerShow.com