Story Transcript
Tema 5. Subsistema de Entrada-Salida 5.1. Introducción 5.2. Tipos de dispositivos de E/S 5.3. Buses 5.4. Interfaces
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
1
Tema 5. Subsistema de Entrada-Salida 5.1. Introducción 5.2. Tipos de dispositivos de E/S 5.3. Buses 5.4. Interfaces
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
2
5.1 I N T R O
Introducción •
La Entrada/Salida (E/S) es una unidad básica de un sistema computador a través de la que se realiza la comunicación con el exterior. – Cargar programas, introducción de datos para ser procesados, visualizar resultados...
Processor
Interrupts
Cache
Memory– I/O bus
Main memory
I/O controller
Disk
•
Disk
I/O controller
I/O controller
Graphics output
Network
Tradicionalmente ignorada a favor del diseño de la CPU Æ Injusto y erróneo – La CPU es más interesante y “académica” – Los “benchmarks” (programas que miden el computador) destacan más el papel de las CPUs.
rendimiento
de
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
un
3
5.1 I N T R O
La E/S y el rendimiento de un computador •
La E/S tiene un impacto muy significativo tanto en el rendimiento como en el coste del sistema – El diseño de la E/S, además del rendimiento, ha de contemplar aspectos de expandibilidad y recuperación ante fallos. – Conforme las CPUs son más rápidas, tanto las máquinas grandes como pequeñas usan los mismos microprocesadores siendo entonces la memoria y la E/S una característica diferenciadora de las mismas. – El éxito de aplicaciones recientes (multimedia, internet,...) fuertemente relacionadas con el ancho de banda de la E/S. – Las máquinas interactúan con las personas a través de su sistema de E/S.
•
Medida del rendimiento – Difícil de medir y depende con frecuencia del entorno o aplicación • Medidas típicas: – Productividad (operaciones E/S / seg., Transacciones/seg), – Tiempo de respuesta
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
4
5.1 I N T R O
Impacto de la E/S en el rendimiento: Ejemplo •
Suponga que tenemos un programa de prueba que se ejecuta en 100 sg, correspondiendo 90 sg a tiempo de CPU y los 10 sg restantes a tiempo de E/S. Si el tiempo de CPU se reduce un 50% cada año en los próximos cinco años, pero el tiempo de Entrada/Salida permanece constante, ¿cuánto más rápido será nuestro programa al cabo de los cinco años?
Tiempo Total
=
tiempo CPU + tiempo E/S
Nuevos tiempos de CPU y tiempo total Año 0 1 2 3 4 5
T CPU 90 seg. 60 seg. 40 seg. 27 seg. 18 seg. 12 seg.
(=90/1.5) (=60/1.5) (=40/1.5) (=27/1.5) (=18/1.5)
T E/S 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.
E/S% 10% 14% 20% 27% 36% 45%
Mejora en el rendimiento de la CPU: 90/12= 7.5 Mejora en el rendimiento total: 100/22= 4.5 Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
5
5.1 I N T R O
Elementos básicos del sistema de E/S •
Interfaz o controlador del periférico – Sistema mixto hardware/software que permite la comunicación entre la CPU/memoria y el periférico
•
Periférico – Dispositivo hardware (electrónico, mecánico u óptico) que posibilita la comunicación con el exterior. Puede ser de almacenamiento o de E/S de datos.
•
Esquema básico
SISTEMA DE ENTRADA/SALIDA Buses del sistema
Bus de periférico INTERFAZ
PERIFÉRICO
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
6
Tema 5. Subsistema de Entrada-Salida 5.1. Introducción 5.2. Dispositivos de E/S
Tipos de dispositivos de E/S Características
5.3. Buses
Repaso al funcionamiento de algunos dispositivos
5.4. Interfaces
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
7
5.2 P E R I F E R I C O S
Tipos de periféricos Procesador
Dispositivos E/S
Control
Entrada Memoria
Camino de datos
•
Caché
Gran variedad de dispositivos
Salida
Características útiles para la clasificación de los periféricos – Comportamiento • Entrada (teclado, ratón,...) • Salida (impresora, pantalla, ...) • Lectura y escritura o almacenamiento (discos y cintas magnéticas) – Compañero (según quien introduzca o lea los datos en el otro extremo del periférico) • Máquina • Humano – Frecuencia de datos • Frecuencia máxima a la que pueden ser transferidos datos entre procesador y periférico o entre memoria y periférico. Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
8
5.2 P E R I F E R I C O S
Características de los dispositivos de E/S
Dispositivo Teclado Ratón Entrada de voz Escáner Salida de voz Impresora de línea Impresora láser Pantalla gráfica Red-LAN Modem Disco flexible Disco óptico Cinta magnética Disco magnético
Comportamiento Entrada Entrada Entrada Entrada Salida Salida Salida Salida Entrada/salida Entrada/salida Almacenamiento Almacenamiento Almacenamiento Almacenamiento
Compañero Humano Humano Humano Humano Humano Humano Humano Humano Máquina Máquina Máquina Máquina Máquina Máquina
Frecuencia de datos KB/seg 0.01 0.02 0.02 400 0.6 1 200 60000 500-6000 2-8 100 1000 2000 2000-10000
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
9
5.2 P E R I F E R I C O S
Algunos dispositivos: Ratón •
Dispositivo que permite controlar la posición de un cursor en pantalla
•
Construcción sencilla – Una bola al desplazar el ratón se mueve y hace contacto con ruedas ubicadas en los ejes X e Y y las hace girar. Este giro se detecta y permite actualizar unos contadores de filas y columnas. +20 in Y – 20 in X
+20 in Y
+20 in Y +20 in X
– 20 in X
Initial position of mouse
+20 in X
– 20 in Y – 20 in X
– 20 in Y
– 20 in Y +20 in X
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
10
5.2 P E R I F E R I C O S
Algunos dispositivos: Discos magnéticos (1) •
Características – Almacenamiento no volátil – Altas capacidades de almacenamiento, barato y relativa lentitud. – Nivel más bajo de la jerarquía de memoria
•
Tipos de discos – Flexibles – Duros
•
Partes fundamentales – Plato giratorio revestido de una superficie magnética • Disco duro: Plato rígido (aluminio o vidrio) • Disco flexible: Plato flexible (plástico)
•
Ventajas del disco duro frente al flexible – Puede ser mayor porque es rígido – Permite una mayor densidad de almacenamiento – Gira más rápido (5000-7000 rpm) Æ Mayor velocidad de transferencia – Pueden incorporar más de un plato Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
11
5.2 P E R I F E R I C O S
Algunos dispositivos: Discos magnéticos (2) •
Organización del disco duro Platters
– Platos (platters) • Diámetro en 1 y 8 pulgadas (entre 2,54 cm y 20,32 cm) • Cada uno tiene 2 caras
Tracks
Platter Sectors
– Pistas (tracks) • 1000 - 5000 pistas por superficie Track
– Sectores (sectors) • Mínima unidad que se puede leer (64200 sectores por pista). • Todas las pistas tienen igual número de sectores e igual número de bits Æ densidad de bits variable – Cabezas (heads) • 2 por c/ plato • Todas unidas. Se mueven al unísono – Cilindros (cilinders) • Conjunto de pistas bajo las cabezas en un punto determinado de todas las superficies Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
12
5.2 P E R I F E R I C O S
Algunos dispositivos: Discos magnéticos (3) •
Organización de los datos Nº sector – espacio – información del sector+CRC – espacio – nº sector -.......
•
Acceso a los datos. Pasos necesarios: 1.
Posicionado: posicionar la cabeza sobre la pista correcta –
2.
Esperar que el plato rote y el sector deseado llegue a la cabeza de lectura/escritura –
3.
(tiempo de posicionado o seek)
(latencia rotacional)
Transferencia de los datos: transferir un bloque de bits (sector) –
(tiempo de transferencia)
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
13
5.2 P E R I F E R I C O S
Algunos dispositivos: Discos magnéticos (4) •
Tiempo necesario para realizar una transferencia: – Tiempo de posicionado • Tiempo para posicionar la cabeza sobre la pista deseada – Latencia rotacional • Tiempo necesario para que el sector deseado pase por debajo de la cabeza una vez está posicionada en la pista correcta (latencia media: tiempo para girar 0.5 vuelta) – Tiempo de transferencia • Tiempo para la transferencia de un bloque de bits (un sector). – Tiempo de controlador • Tiempo que añade el controlador del dispositivo para realizar la E/S. – Tiempo de espera, si existen otros procesos accediendo al disco
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
14
5.2 P E R I F E R I C O S
Algunos dispositivos: Discos magnéticos (5) •
Valores típicos – Latencia rotacional • Velocidad de giro : 3600 - 7200 rpm • Latencia rotacional media (0.5 vuelta): 8.3 ms (0.5/3600 rpm) – 4.2 ms (0.5/7200 rpm). – Tiempo de transferencia depende de: • Tamaño del sector, Velocidad de giro, Densidad de almacenamiento, Diámetro de los discos • Valores típicos de velocidad de transferencia: 2 - 15 MB/seg • Usando cache de disco se aumenta la velocidad de transferencia hasta los 40 MB/sg o más.
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
15
5.2 P E R I F E R I C O S
Algunos dispositivos: Discos magnéticos (5) •
Tiempo de acceso al disco – Ejemplo • Tamaño del sector: 512 bytes • Velocidad: 5400 rpm • Tiempo de posicionado: 12 ms • Velocidad de transferencia: 4 MB/seg • Tiempo de controlador: 1 ms – ¿Tiempo de acceso al disco? • TACC= T. posicionado + latencia rotacional + T. de transferencia + T. Controlador • TACC= 12 ms + 0.5*60/5400 + 512/(4*1024*1024) + 1 • TACC= 12 ms + 5.5 ms + 0.1 ms + 1 ms = 18.6 ms – EXTENSIÓN: Normalmente las pistas exteriores se graban con densidad menor. • Densidad de bits constante Æ se graban más sectores en las pistas exteriores. • Si número de bits/pulgada es cte Æ implica leer y escribir a velocidad variable Æ necesaria interfaz inteligente.
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
16
Tema 5. Subsistema de Entrada-Salida 5.1. Introducción 5.2. Dispositivos de E/S 5.3. Buses
Introducción
5.4. Interfaces
Tipos de buses Arbitraje del bus Buses estándar
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
17
5.3 B U S E S
Buses: Conexión del dispositivo al procesador y la memoria •
Un Bus es un enlace o vía de comunicación compartido. – Múltiples orígenes y múltiples destinos
•
Utiliza un conjunto de cables para interconectar los múltiples subsistemas (procesador, memoria, entrada/salida)
•
Diferentes usos: – Datos – Direcciones – Control
Processor
Interrupts
Cache
Memory– I/O bus
Main memory
I/O controller
Disk
Disk
I/O controller
I/O controller
Graphics output
Network
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
18
5.3 B U S E S
Ventajas y desventajas de los buses
Procesador
•
Memoria
Dispositivo E/S
Dispositivo E/S
Ventajas – Versatilidad • Fácil adición de nuevos dispositivos o subsistemas. • Permite compartir periféricos que usan el mismo bus entre sistemas de computadores. – Coste reducido o rentable ya que el bus es un camino compartido
•
Desventajas – Un bus crea un cuello de botella en las comunicaciones – Velocidad limitada por • Longitud del bus • Número de dispositivos en el bus • La necesidad de soportar un rango amplio de dispositivos (diferentes tipos) – Tiempos de respuestas y velocidades de transferencia diferentes
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
19
5.3 B U S E S
Organización general del bus •
Clasificación de las señales – Líneas de control • Indican el tipo de operación a realizar así como todas las señales necesarias para realizar las peticiones y reconocimientos (implementación de un protocolo). • Indican el tipo de información que está sobre las líneas de datos.
– Líneas de datos • Para la transferencia de los datos en su más amplio sentido
– Líneas de direcciones • Utilizadas para el direccionamiento de los dispositivos que intervienen en una determinada transacción. • En ocasiones las líneas de dirección coinciden con las de datos (multiplexación)
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
20
5.3 B U S E S
Transacciones •
Una transacción en el bus incluye dos partes – Enviar la dirección – Recibir o enviar el dato (según el procesador o dispositivo de E/S lea o escriba en memoria).
•
Tipos de transacciones (desde el punto de vista del procesador) – Salida: salida de datos hacia un dispositivo desde la memoria, donde el procesador los ha depositado – Entrada: entrada de datos desde un dispositivo a la memoria, donde el procesador puede leerlos
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
21
5.3 B U S E S
Transacción de salida (output) •
Salida: envío de datos desde memoria hacia un dispositivo de E/S Paso 1: solicitud de los datos a memoria
Paso 2: lectura de la memoria
Paso 3: envío de datos de memoria al dispositivo de E/S
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
22
5.3 B U S E S
Transacción de entrada (input) •
Entrada: envío de datos desde un dispositivo de E/S hacia memoria Paso 1: solicitud de escritura en memoria
Paso 2: escritura en memoria
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
23
5.3 B U S E S
Tipos de buses (según qué partes comunican) •
Bus Procesador-Memoria (diseño específico) – Corto y de alta velocidad – Sólo necesita adaptarse al sistema de memoria • Su objetivo es maximizar el ancho de banda procesador-memoria – Conecta directamente al procesador
•
Bus de Entrada/Salida (estándar de la industria) – Normalmente más largo y lento – Necesita adaptarse a un rango variado de dispositivos de E/S – Se conecta al bus procesador-memoria o un bus backplane
•
Bus Backplane (estándar de la industria) – Backplane: Estructura de interconexión (conectores) sobre un chasis. – Permite la coexistencia de procesador, memoria y E/S – Ventajas en el coste: Un único bus para todos los componentes.
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
24
5.3 B U S E S
Un sistema computador con un solo bus: bus backplane Bus Backplane
Procesador
Memoria
Dispositivo E/S
Dispositivo E/S
Dispositivo E/S
•
Un único bus (backplane) utilizado para – Comunicación procesador-memoria – Comunicación entre los dispositivos
•
Ventajas: Simple y de bajo coste
•
Desventajas: Lento y puede ser un cuello de botella para las comunicaciones
•
Ejemplo: PCI
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
5.3 B U S E S
25
Un sistema computador con dos buses: procesador-memoria y E/S Bus procesador-memoria
Procesador
Memoria
Adaptador de bus
Adaptador de bus
Bus de E/S
Bus de E/S
Adaptador de bus
Bus de E/S
•
Los buses de E/S se conectan al bus procesador-memoria a través de adaptadores. – Bus procesador-memoria: Para soportar principalmente el tráfico procesador-memoria – Buses de E/S: Proporcionan conectores de expansión para conectar más periféricos
•
Ejemplos: Apple Macintosh-II – NuBus : procesador, memoria y algunos dispositivos seleccionados – Adaptador de bus SCSI: Resto de los periféricos SCSI (discos, CD-ROM ...). Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
26
5.3 B U S E S
Un sistema computador con tres buses: procesador-memoria, backplane y E/S Bus procesador-memoria
Procesador
Memoria
Puente (Bridge)
Bus backplane
Adaptador de bus Buses de E/S Adaptador de bus
•
Bus backplane dotado de varios conectores (slots) se conecta a través de un puente (bridge) al bus procesador-memoria. – Bus procesador-memoria para el tráfico entre procesador-memoria. – Los buses de E/S conectados a través de los adaptadores al backplane.
•
Ventaja: La carga o tráfico sobre el bus procesador-memoria fuertemente reducida (disminución del cuello de botella). Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
27
5.3 B U S E S
Buses síncronos y asíncronos (1) •
Bus síncrono – Incluye una señal de reloj en las líneas de control – El protocolo de comunicación está gobernado por la línea de reloj – Ventajas: • Fácil de implementar • Alcanza grandes velocidades – Desventajas: • Todos los dispositivos conectados al bus deben trabajar a la misma velocidad • Deben ser buses cortos – Normalmente los buses procesador-memoria son síncronos
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
28
5.3 B U S E S
Buses síncronos y asíncronos (2) •
Bus asíncrono – – – –
No tiene señal de reloj en las líneas de control Admite gran variedad de dispositivos Buses de gran longitud Desventaja: • Necesita un protocolo de handsaking para operar – coordina la transmisión de datos entre dispositivos – consiste de una serie de pasos, en los cuales el transmisor y el receptor pasan a la siguiente etapa de la transmisión tras ponerse de acuerdo. – utiliza un grupo de líneas de control adicionales – tres señales de control básicas :
» ReadReq » DataReady » Ack.
ReadReq Ack DataReady Ack
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
29
5.3 B U S E S
Buses síncronos y asíncronos (3) •
La elección entre un bus síncrono y asíncrono 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 asíncronos mejoraron con los cambios tecnológicos y pueden soportar una gran variedad de dispositivos con distintas velocidades de respuesta.
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
30
5.3 B U S E S
Acceso al bus: Maestro-Esclavo Maestro envía direcciones
Maestro (Bus Master)
Los datos pueden ir en cualquier sentido
Esclavo (Bus slave)
•
Una transacción en el bus incluye dos partes – Enviar direcciones y señales de control – Recibir o transmitir el dato
•
El maestro (Master) es el dispositivo que inicia la transacción en el bus – Envía la dirección del dispositivo y activa las señales de control que corresponda.
•
El esclavo (Slave) es quien responde a la dirección – Enviando datos al Maestro si éste se los ha pedido – Recibiendo datos del Maestro si éste quiere enviarlos
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
31
5.3 B U S E S
Arbitraje del bus (1) •
Una de las cuestiones mas importantes a la hora de diseñar un bus: – ¿qué ocurre cuando un dispositivo quiere hacer uso del bus? – ¿cómo reserva el bus para su uso?
•
Con un esquema maestro-esclavo se evita este problema – Sólo el maestro del bus inicia y controla todos los accesos al bus – El esclavo responde a las peticiones de lectura o escritura
•
Los sistemas mas simples tienen al procesador como el maestro del bus – Todas las peticiones están controladas por el procesador – Principal desventaja: todas las transacciones involucran al procesador
•
La solución es permitir mas de un maestro en el bus
•
Cuando en potencia pueden haber varios maestros del bus se necesita de un esquema de arbitraje.
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
32
5.3 B U S E S
Arbitraje del bus (2) •
Esquema de arbitraje – Un maestro que quiera hacer uso del bus activa la señal de requerimiento de bus (bus request) – El maestro no puede hacer uso del bus hasta que se lo concedan (bus grant) – Un maestro debe indicar al árbitro cuando finaliza el uso del bus
•
Los esquemas de arbitraje tratan de equilibrar dos factores – Prioridad: El dispositivo más prioritario debe ser atendido antes – Imparcialidad: El dispositivo de más baja prioridad también debe ser atendido garantizando el acceso eventual al bus. Highest priority Device 1
Device 2
Grant Bus arbiter
Grant
Lowest priority Device n Grant Release
Request
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
33
5.3 B U S E S
Arbitraje del bus (3) •
Clasificación de los esquemas de arbitraje – Serie (daisy chain) • • • •
Las prioridades se determinan en función de la posición en el bus Un dispositivo de alta prioridad intercepta la señal de concesión del bus Simple pero no garantiza la imparcialidad Ejemplo: bus SCSI
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
34
5.3 B U S E S
Arbitraje del bus (4) •
Clasificación de los esquemas de arbitraje – Paralelo centralizado • Se selecciona un dispositivo como árbitro del bus • Cada dispositivo solicita de manera independiente el acceso al bus • El arbitro selecciona el dispositivo al cual se le dará acceso y le notifica que pasa a ser el maestro del bus • Ejemplo: bus PCI
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
35
5.3 B U S E S
Arbitraje del bus (5) •
Clasificación de los esquemas de arbitraje – Distribuida por autoselección • No se utiliza ningún árbitro • Los dispositivos solicitan el bus enviando una señal • Cada dispositivo es capaz de determinar si es el solicitante de mas alta prioridad y se hace con el bus • Ejemplo: bus NuBus
– Distribuida con detección de colisiones • No se utiliza ningún árbitro • Pueden producirse colisiones si mas de un dispositivo intenta acceder al bus simultaneamente • Las colisiones se solucionan aplicando algún algoritmo • Ejemplo: Ethernet
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
36
5.3 B U S E S
Alternativas de diseño de un bus
Opción Ancho del bus
Alto rendimiento Bajo coste Líneas de datos y direcciones Líneas de datos y direcciones separadas multiplexadas
Ancho de los Más ancho es más rápido datos Tamaño de la Múltiples palabras transferencia Múltiple (requiere arbitraje del bus) x Daisy Chain x Paralelo centralizado Amos (master) del bus x Distribuido por autoselección x Distribuido con detección de colisiones Reloj Síncrono
Más estrecho es más barato Una sola palabra
Un master arbitraje)
(no
necesita
Asíncrono
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
37
5.3 B U S E S
Buses estándar •
Los buses de E/S sirven como vía de expansión de la máquina y conexión de nuevos periféricos.
•
Estandarización de los buses – Un estándar proporciona especificaciones tanto al fabricante del computador como al fabricante del periférico asegurando la compatibilidad. – Propuestas de buses, ¿quién las realiza? • Organismos e instituciones como ANSI o IEEE aprueban estándares. • Fabricantes que hacen muy populares algunos de sus diseños y que luego son aprobados por los organismos anteriores (buses PC-AT bus, HP-IB) • Grupos de personas que tratan un aspecto común (buses SCSI, Ethernet)
•
Ejemplos de buses estándar – PCI (Periheral Component Interconnect) • Bus tipo backplane de propósito general
– SCSI (Small Computer Systems Interface) • Bus tipo E/S paralelo para diferentes periféricos, fruto de la cooperación de varios fabricantes
– ATA-IDE (Integrated Device Electrónics) • Bus tipo E/S paralelo para discos duros
– USB (Universal Serial Bus) • Bus tipo E/S serie para diferentes periféricos
– Firewire – IE31394 • Bus tipo E/S serie para diferentes periféricos Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
38
5.3 B U S E S
Características de los buses estándar
Características
PCI
SCSI
Tipo de bus
Backplane
Entrada/Salida
Ancho del bus de datos
32-64
8-32
Multiplexado datos/direcciones
Multiplexado
Multiplexado
Número de amos
Múltiples
Múltiples
Arbitraje
Paralela centralizada
Autoselección
Reloj
Síncrono 33-66 MHz
Ancho de banda (pico)
133-512 MB/seg
Ancho de banda (típico)
80 MB/seg
Número máximo de dispositivos
1024
7-31 (ancho de bus-1)
Longitud máxima
0.5 metros
25 metros
Nombre estándar
PCI
ANSI X3.131
Asíncrono o síncrono (5-10 MHz 5-40 MB/seg 2.5-40 MB/seg (síncrono) 1.5 MB/seg (asíncrono)
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
39
5.3 B U S E S
Diferentes buses en un PC reciente
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
40
Tema 5. Subsistema de Entrada-Salida 5.1. Introducción 5.2. Dispositivos de E/S 5.3. Buses
Introducción
5.4. Interfaces
Responsabilidades del SO Direccionamiento Sincronización y Prioridades Métodos de transferencia de datos
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
41
5.4
Estructura típica de un interfaz de E/S Lógica de interface a dispositivo externo . . .
Registro de datos Líneas de control
Líneas de datos
Status
Líneas de direcciones
I N T E R F A C E S
Registro control/estado
Control Datos
Interface a periférico (Ej.: Disco)
Status
Lógica de control E/S
Lógica de interface a dispositivo externo
Control Datos
Interface a periférico (Ej.: CD-ROM)
Controlador de E/S Interface al Bus del Sistema
Interface a periféricos
• Controlador de E/S • Registros para la entrada y salida de datos • Registro de control y estado • Funciones del controlador: • Adaptación de longitud y formato de los datos. • Adaptación de señales eléctricas para la conexión de uno o varios periféricos • Adaptación de los tiempos de transferencia de CPU y periférico. • Una operación de E/S consiste en: • Comprobar si el dispositivo está listo (leer registro de estado) • Enviar parámetros de la operación (registro de control) • Transferir el dato (registro de datos) • Terminación (registro de control)
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
42
5.4 I N T E R F A C E S
Características de los sistemas de E/S •
El SO actúa como interface entre el hardware de E/S y los programas que realizan peticiones de E/S
•
Las responsabilidades del SO surgen de tres características de los sistemas de E/S: – El sistema de E/S está compartido por múltiples programas que utilizan el procesador. – Los sistemas de E/S utilizan, con frecuencia, interrupciones para solicitar la atención del procesador (sincronización). • Las interrupciones deben ser tratadas por el SO, ya que éstas provocan el cambio del procesador al modo supervisor o kernel. – El control a bajo nivel de un dispositivo de E/S es complejo
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
43
5.4 I N T E R F A C E S
Funciones del SO •
Proporcionar protección a los recursos de E/S compartidos – Garantiza que un programa de usuario solo pueda acceder a partes de un dispositivo de E/S en las que el usuario tiene permiso.
•
Proporcionar abstracciones (capas de software) para acceder a los dispositivos suministrando rutinas que tratan las operaciones de bajo nivel de los dispositivos.
•
Manejar las interrupciones generadas por dispositivos de E/S, igual que trata las excepciones generadas por un programa.
•
Proporcionar acceso equitativo a los recursos de E/S compartidos.
•
Planificar los accesos con el fin de mejorar la productividad del sistema.
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
44
5.4 I N T E R F A C E S
Comunicaciones entre el SO y los dispositivos de E/S •
El sistema operativo debe ser capaz de: – Comunicarse con los dispositivos de E/S. – Evitar que el programa de usuario se comunique directamente con los dispositivos de E/S para garantizar la protección de los recursos compartidos.
•
Se necesitan tres tipos de comunicaciones: – El SO debe poder dar órdenes a los dispositivos de E/S • Direccionamiento de los dispositivos de E/S: Espacios de E/S y memoria separados ó E/S mapeada en memoria. – El dispositivo de E/S debe notificar el SO cuando ha completado una operación o ha encontrado un error • Métodos de sincronización: Consulta (polling) o Interrupciones – Los datos deben ser transferidos entre memoria y un dispositivo de E/S • Métodos de transferencia: Por programa, por Acceso directo a memoria (DMA) o por Procesadores especializados de E/S
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
45
5.4 I N T E R F A C E S
Ordenes para los dispositivos de E/S. Direccionamiento •
Para dar una orden a un dispositivo es necesario direccionarlo y luego, transferir una o más palabras de órdenes.
•
Métodos de direccionamiento de dispositivos – Instrucciones especiales de E/S • Espacios de memoria y E/S separados. – El procesador tiene señales de control adicionales (M/IO’) que indican cuándo una dirección se refiere a un dispositivo de E/S o a una posición de memoria. – Instrucciones Load y Store: Para acceder a memoria – Instrucciones Input y output: Para acceder a los registros de los controladores de E/S.
Espacio de E/S (64 KB)
Espacio de memoria (4 GB)1
– Entrada/salida mapeada en memoria (memory-mapped I/O) • No se distingue entre los espacios de memoria y de E/S – Las instrucciones que sirven para escribir/leer en memoria también sirven para escribir/leer en el controlador del dispositivo (registros del controlador) – Los registros de los controladores de E/S se direccionan como posiciones de memoria. – Instrucciones Load y Store: Para acceder a memoria y a los registros de los controladores 0
4 GB
Memoria
E/S
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
46
5.4 I N T E R F A C E S
Métodos de sincronización (1). Consulta o polling •
Básicamente existen 2 métodos de sincronización: – Sincronización por consulta o escrutinio (polling) – Sincronización por interrupciones
•
Sincronización por consulta – – – –
Forma más simple de sincronización El dispositivo pone la información en el registro de Estado y el procesador la lee El procesador hace todo el trabajo Desventaja: Se necesita mucho tiempo de procesador (overhead) dedicado a comprobar el estado del periférico y transferir el dato.
CPU
¿Está el dato listo? Si
Bucle de estado de espera: No es una forma eficiente de usar el procesador a no ser que el dispositivo sea muy rápido.
No
Leer el dato Memoria
Controlador E/S Almacenar dato ¿Fin? Dispositivo
No Si
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
47
5.4 I N T E R F A C E S
Métodos de sincronización (2). Interrupciones •
Sincronización por interrupciones – Las interrupciones tienen su origen en los controladores de los periféricos que activan la señal de interrupción de la CPU (ej. INTR) para demandar su atención. – Al final de la ejecución de una instrucción la CPU comprueba si hay interrupciones pendientes. En caso afirmativo y si están permitidas (bit de habilitación de interrupciones activo en el registro de estado) Æ el procesador inicia un ciclo de reconocimiento de interrupción que tiene como fin bifurcar a una rutina de servicio de interrupción para atender al periférico que interrumpió y, finalmente, volver al programa interrumpido. Memoria Reconocimiento de Interrupción
add
CPU
Ejecución secuencial de un programa de usuario
and
Interrupción
(1) Interrupción
sub nop
Memoria
Controlador E/S
Dispositivo
.
(2) Salva registros (pila): PC y estado (3) Obtiene dirección de la rutina de servicio y salta a ella.
. load mul
(4) Ejecución rutina de servicio.
store rti
(5) rti: instrucción especial de retorno de interrupción. Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
48
5.4 I N T E R F A C E S
Aspectos de implementación del sistema de interrupciones •
Dos aspectos de diseño: – –
•
¿Qué dispositivo de E/S generó la interrupción? • Identificación del dispositivo Si hay múltiples interrupciones, ¿Cuál de ellas se trata en primer lugar? • Asignación de prioridades
Ambas cuestiones dependen directamente del diseño del procesador:
C P U
INT
C P U
1 . CPU con una sola línea de interrupción
INT0
C P U
INT1 INTn
2 . CPU con múltiples líneas de interrupción
INT INTA
3 . CPU con una línea de interrupción y una línea de aceptación de interrupción
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
49
5.4 I N T E R F A C E S
Identificación del dispositivo (1) •
1) CPU con una sola línea de interrupción – Una sola línea para peticiones de interrupción – Cuando algún dispositivo activa la señal INT, la CPU inicia un ciclo de consulta de los registros de estado de cada dispositivo para detectar cuál de ellos necesita servicio. CPU
? Dispositivo 1
? Dispositivo 2
? Dispositivo 3
INT
– La prioridad viene determinada por el orden en el que se consulta el registro de estado de los periféricos para averiguar el origen de la interrupción
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
50
5.4 I N T E R F A C E S
Identificación del dispositivo (2) •
2) CPU con múltiples líneas de interrupción – Cada dispositivo tiene asignada una línea de interrupción separada
CPU
Dispositivo 1
Dispositivo 2
Dispositivo 3
INT0 INT1 . INTn
– La prioridad está establecida en el diseño del procesador
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
51
5.4 I N T E R F A C E S
Identificación del dispositivo (3) •
3) CPU con líneas de interrupción y aceptación – 3.1) Encadenamiento de periféricos o daisy chain (por consulta, no vectorizado) – El dispositivo que interrumpe activa la señal INT. La CPU, inicia un ciclo de reconocimiento de interrupción activando la señal INTA. El dispositivo que interrumpió bloquea la propagación de la señal INTA y activa un bit de su registro de estado. La CPU, por software, identifica a través del registro de estado de los dispositivos cuál ha interrumpido.
CPU INTA
Dispositivo 1
Dispositivo 2
Dispositivo 3
INT
– La prioridad la tiene el dispositivo mas cercano al procesador
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
52
5.4 I N T E R F A C E S
Identificación del dispositivo (4) 3) CPU con líneas de interrupción y aceptación
•
– 3.2) Encadenamiento de periféricos o daisy chain (vectorizado) – Similar al anterior pero el dispositivo que interrumpió, en vez de activar un bit de su registro de estado, deposita un identificador o vector que la CPU lee y a partir del cual se calcula la dirección de la rutina de servicio de dicho dispositivo.
CPU Bus de datos
INTA
Dispositivo 1
Dispositivo 2
Dispositivo 3
INT
– La prioridad la tiene el dispositivo mas cercano al procesador Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
53
5.4 I N T E R F A C E S
Identificación del dispositivo (5) •
3) CPU con líneas de interrupción y aceptación – c.3) Gestión centralizada de interrupciones mediante controlador – La gestión de interrupciones la realiza un controlador específico que tiene diversas funciones. Cuando un dispositivo quiere interrumpir, activa la línea de interrupción que proceda (IR0-IR7). La CPU, inicia un ciclo de reconocimiento de interrupción activando la señal INTA. Esta señal llega al controlador y en función del dispositivo y su prioridad, éste deposita en el bus de datos un identificador o vector que leerá la CPU y a partir del cual se calcula la dirección de rutina de servicio de dicho periférico. CPU Bus de datos
INTA
INT
Controlador de Interrupciones (Ej: PIC 8259A)
Dispositivo 1
Dispositivo 2
Dispositivo 3
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
Petición de interrupción
– El controlador de interrupciones permite establecer diversos esquemas de prioridad mediante programación. Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
54
5.4 I N T E R F A C E S
Sobrecarga de la encuesta en un sistema de E/S. Ejercicio •
Determinación del impacto de la sobrecarga de la encuesta para el caso de tres dispositivos diferente. Suponga que el número de ciclos que requiere una operación de encuesta, incluidos el salto a la rutina de encuesta, el acceso al dispositivo y el retorno al programa de usuario, es 400 y que el procesador trabaja con un reloj de 500 MHz. Determine la proporción del tiempo de CPU que se consume en cada uno de los tres casos siguientes, suponiendo que se puede realizar la encuesta con la frecuencia necesaria para que no se pierda ningún dato y que los dispositivos están potencialmente siempre ocupados: –
El ratón debe ser encuestado 30 veces por segundo para asegurar que no se pierde ningún movimiento realizado por el usuario.
–
El disco flexible transfiere datos al procesador en unidades de 16 bits, a una velocidad de 50 KB/sg. No debe perderse ningún dato.
–
El disco duro transfiere datos en bloques de 4 palabras, y puede transferir a una velocidad de 4MB/sg. De nuevo, no debe perderse ningún dato.
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
55
5.4 I N T E R F A C E S
Sobrecarga de las interrupciones en un sistema de E/S. Ejercicio •
Determinación del impacto de la sobrecarga de las interrupciones. Suponga que tiene el mismo disco duro y el mismo procesador que en el ejercicio anterior, pero que ahora se utiliza E/S por interrupciones. La sobrecarga para cada transferencia, incluida la interrupción, es de 500 ciclos de reloj. Encuentre la proporción de tiempo de procesador consumida si cada disco duro transfiere datos solo el 5% del tiempo.
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
56
5.4 I N T E R F A C E S
Métodos de transferencia de datos en las operaciones de E/S •
Atendiendo al grado de intervención de la CPU las transferencias entre los dispositivos y la memoria pueden clasificarse en: – Entradas/Salidas por programa • El procesador es utilizado para transferir los datos. • Ventaja – Simple: El procesador hace todo el trabajo – Barato: No es necesario hardware adicional • Desventajas – Consumen de mucho tiempo de CPU
– Acceso directo a memoria (DMA) • Útil cuando es necesario transferir grandes bloques de datos (disco, cinta, etc.) mejorando el tiempo de respuesta. • Un controlador es capaz de tomar el control de los buses (amo) para controlar las transferencias sin intervención de la CPU (menor sobrecarga). • Los datos se transfieran directamente a la memoria
– Procesadores especializados de Entrada/Salida • Procesadores con su propio repertorio de instrucciones orientado a las operaciones de E/S. Ejecutan un programa para la transferencia de datos con mínima intervención de la CPU. Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
57
5.4 I N T E R F A C E S
Métodos de transferencia. E/S por programa •
Las transferencias de datos se realizan mediante la ejecución de instrucciones por parte de la CPU – La transferencia de datos entre procesador/memoria y el periférico de E/S la realiza un programa que contiene instrucciones especiales de E/S (IN/OUT) o de acceso a memoria (lw/sw) dependiendo del modo de direccionamiento de los dispositivos de E/S – La sincronización entre CPU y periférico puede realizarse por • Consulta de estado o polling • Interrupciones
•
Características – Se suele utilizar con dispositivos lentos – Consumo de tiempo de CPU: Consultas de estado + operaciones relacionadas con las transferencias (manejo de punteros, contadores, ...) – Bajas velocidades de transferencias de datos. No es útil para periféricos rápidos que transfieren bloques de datos (ej. disco)
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
58
5.4 I N T E R F A C E S
Métodos de transferencia. Acceso directo a memoria (1) •
Método de transferencia de datos orientado a dispositivos periféricos rápidos – Periféricos que transfieren bloque de datos (disco, CD-ROM, ..) – Dispositivos que requieren rápidas transferencias de datos
•
Controlador de acceso directo a memoria (DMA) – Para realizar estas transferencias se utiliza un hardware especializado o controlador de DMA (Direct Memory Access) que es el encargado de realizar las transferencias – La CPU no interviene en la transferencia de información – El controlador DMA actua como maestro del bus y dirige las lecturas/escrituras entre el mismo y la memoria
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
59
5.4 I N T E R F A C E S
Métodos de transferencia. Acceso directo a memoria (2) •
Funcionamiento básico. Pasos generales para la transferencia por DMA –
1) El procesador inicializa los registros del controlador de DMA para indicar las características de la transferencia a realizar: • • •
–
2) Solicitud del controlador de DMA para controlar los buses • •
–
Selección del dispositivo y dirección de memoria a o desde donde se vuelcan los datos Tamaño del bloque a transferir. Tipo de operación (lectura/escritura).
Cuando los datos estan disponibles los transfiere El controlador DMA proporciona la dirección de memoria para las lecturas y escrituras
3) Fin de la operación •
Una vez terminada la transferencia de datos el controlador avisa a la CPU mediante una interrupción, que podrá determinar el estado de la transferencia realizada (si la operación terminó satisfactoriamente o no, etc.) y tomar las acciones oportunas. Petición del control (BR) y concesión (BG) de los buses
CPU Interrupción
bus DRQ Memoria
Controlador E/S
Controlador DMA DACK
Periférico
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
60
5.4 I N T E R F A C E S
Métodos de transferencia. Procesadores de E/S •
Incrementando la inteligencia del controlador de DMA, llegamos a los controladores inteligentes, llamados procesadores de E/S.
•
Posibilitan la transferencia de datos sin apenas intervención de la CPU
•
El procesador de E/S es capaz de ejecutar un repertorio de instrucciones específico orientado a la transferencia de datos.
•
La CPU indica al procesador de E/S el programa que ha de ejecutar para la transferencia de datos. Cuando ésta termina el procesador de E/S interrumpe a la CPU.
•
Un sistema dotado de procesador de E/S (más costoso) puede compararse a un multiprocesador en el sentido que se pueden ejecutar varios programas simultáneamente. 4 1 CPU
2 Procesador E/S
Memoria
3 Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
61
5.4 I N T E R F A C E S
Sobrecarga del DMA en un sistema de E/S. Ejercicio •
Determinación del impacto de la sobrecarga del acceso directo a memoria. Suponga el mismo disco duro que en los ejercicios anteriores y el mismo procesador. Suponga también que la inicialización de una transferencia por DMA requiere 1000 ciclos de procesador y suponga que el tratamiento de la interrupción, al finalizar la transferencia por DMA, requiere 500 ciclos de procesador. El disco duro tiene una velocidad de transferencia de 4MB/sg y usa DMA. Si el tamaño medio de las transferencias de disco es de 8KB, ¿cuál es la proporción de tiempo de procesador (que funciona a 500 MHz) que se consume si el disco está transfiriendo el 100% del tiempo? Ignore el impacto de la competencia entre el procesador y el controlador de DMA en los accesos al bus.
Fundamentos de Computadores 2 - ITIG 2004/2005 – Tema 5. Subsistema de E/S
62