You are on page 1of 26

Almacenamiento y Sistemas de E/S

Elas Todorovich Arquitectura I - Curso 2010 UNICEN

Sistemas de E/S

Introduccin
En 1946 John L. Von Neumann propuso la construccin y desarrollo de ordenadores con programa almacenado.
Instrucciones y datos se almacenan juntos en un medio uniforme: la memoria. CPU con presencia de registros internos CPU Memoria Elementos de E/S para comunicarse con el exterior Bus del Sistema Bus Buses de Sistema? 4to componente? E/S
Sistemas de E/S 2

Objetivo de diseo
Se colg la computadora Se rompi el disco?

Sistemas de E/S

Objetivo de diseo
Systema de E/S Fiabilidad Costo Compatibilidad/Diversida d de dispositivos Posibilidad de expansin Rendimiento
Latencia Throughput

Procesador y memoria Rendimiento Costo

Sistemas de E/S

Fiabilidad y disponibilidad
Fiabilidad es una medida de tiempo de servicio continuado, o el tiempo de servicio hasta una falla. Tiempo medio hasta una falla, MTTF (mean time to failure) Ejemplo: Disco Seagate 147 GB, 15k RPM: MTTF 1,4 M horas @ 25C.
Sistemas de E/S

La tasa de fallas anual, AFR (annual failure rate) es el porcentaje de dispositivos que se espera fallen en un ao dado un cierto MTTF. Mismo ejemplo: AFR 0,62%.

Fiabilidad y disponibilidad
Las interrupciones de servicio se miden en tiempo de reparacin medio, MTTR (mean time to repair). El tiempo medio entre fallas,
MTBF = MTTF + MTTR

La disponibilidad es una medida de cumplimiento de servicio relacionada con la alternancia entre el estado de cumplimiento y el de interrupcin de servicio:
Av = MTTF/(MTTF+MTTR) = = MTTF/MTBF

Sistemas de E/S

Fiabilidad y disponibilidad
Un fabricante de discos rgidos dice que el MTTF es 1.200.000 horas. Cundos aos es esto? Indagando se sabe que ese nmero se calcula en base a poner miles de discos a funcionar durante algunos meses. Se divide la cantidad de horas total por el nmero de discos que fallaron. Alguna objecin?
Sistemas de E/S 7

Los sistemas de entrada/salida


Rendimiento en las Entradas / Salidas Determinar el rendimiento en un sistema de I/O es ms complejo que en un procesador (latencia, productividad, velocidad de transferencia) Incluso la productividad puede medirse de diferentes modos
Cuntos datos pueden moverse en un tiempo dado (ancho de banda) Cuntas operaciones de E/S pueden realizarse por unidad de tiempo

En muchos sistemas el tiempo de respuesta es la principal mtrica que puede ser una mezcla de la latencia y la velocidad de transferencia.
Sistemas de E/S 8

Los sistemas de entrada/salida


Velocidades de transferencias muy dispares
Gigabit Ethernet Monitor grfico Fast ethernet Disco duro Ethernet Impresora Modem Ratn Teclado

Velocidad transferencia (bits/s)


Sistemas de E/S 9

Resumiendo
1.

2.

3.

Los tres tipos de computadoras (desktop, server, embedded) cuidan la fiabilidad y costo de los sistemas de E/S. Las PCs y los embedded systems se enfocan en tiempo de respuesta y compatibilidad en lo que hace a E/S. Los servidores se enfocan en la productividad (throughput) y capacidad de expansin en sistemas de E/S.
Sistemas de E/S 10

Controladores de E/S
Conexin de dispositivos de E/S al ordenador
Los dispositivos perifricos se conectan al ordenador a travs de un CONTROLADOR de E/S (= Interfaz = Adaptador = Tarjeta de E/S). El controlador es el responsable del control de uno o ms dispositivos externos y del intercambio de datos entre dichos perifricos con la MP o con los registros de la CPU.

Sistemas de E/S

11

Qu es un bus?
A long motor vehicle for carrying passengers, usually along a fixed route

Processor

I/O Device

I/O Device

I/O Device

Memory

Un bus es un vnculo de comunicacin compartida. Se materializa en un conjunto de cables para comunicar mltiples subsistemas.
Sistemas de E/S 12

Ventajas de los Buses


Flexibilidad del sistema
Facilidad para aadir nuevos componentes Mover perifricos entre ordenadores sistemas que comparten el mismo bus

Economa
Las mismas conexiones compartidas por mltiples componentes
I/0 Device I/0 Device I/0 Device

Processor

Memory

Manejo de la complejidad de un sistema simplificando el diseo: divide y vencers


Sistemas de E/S 13

Desventajas de los Buses


Se crea un cuello de botella
Todo pasa a travs del bus El ancho de banda del bus limita la velocidad en las transacciones entre los componentes del sistema

Processor

I/0 Device

I/0 Device

I/0 Device

Memory

La Velocidad mxima est limitada por factores fisicos


La Longitud del bus El Nmero de dispositivos que se conectan La necesidad de diferentes tipos de dispositivos (diferentes latencias, diferentes tasas de transferencias).

Ms flexible => ms lento


Sistemas de E/S 14

Tipos de buses
Buses de conexin Procesador-Memoria (generalmente a medida)
Cortos y de alta velocidad. A la medida del procesador y la memoria. Maximizan el ancho de banda. Optimizados para transferencias de bloques de cach.

Buses de entrada/salida (estndares industriales)


Tpicamente ms largos y lentos. Pensados para conectar un amplio rango de perifricos. Conectado a Buses processor-memory bus o backplane bus.

Buses Backplane (estndar o propietario)


Backplane: estructura de conexin dentro del chasis. Preparados para que coexistan CPU, memoria y dispositivos de I/O. Ventajas de coste: un bus para todos los componentes.

Sistemas de E/S

15

Tipos de buses
CPU-Memory Bus

Diferentes tipos de buses (velocidad, ancho de datos, etc..), necesitan de adaptadores (bridges).

Cache

Bus Adapter

Main Memory

CPU

I/O Bus I/O Controller I/O Controller

network
Sistemas de E/S 16

Sistemas con dos tipos de buses

Buses de I/O que conectan con el bus principal del sistema (CPU memoria) a travs de adaptadores
Un bus de alta velocidad para conectar CPU, memoria y adaptadores a otros buses Buses de I/O a la medida de los perifricos

Ejemplo: Apple Macintosh-II


NuBus: procesador, memoria y dispositivos ultrarrpidos. SCSI: resto de dispositivos Processor
Bus Adaptor

Processor Memory Bus Bus Adaptor I/O Bus


Sistemas de E/S

Memory
Bus Adaptor I/O Bus
17

I/O Bus

Sistemas con tres tipos de buses el bus de la CPU memoria del trfico y Se libera
carga de Entrada/Salida
Bus entre CPU, memoria y un slo adaptador Bus de entrada/salida de alta velocidad para conectar diferentes tipos de perifricos o adaptadores con buses de ms baja velocidad (Actualmente es el bus PCI) Diferentes bus de entrada/salida segn necesidades
Processor Memory Bus

Processor
Bus Adaptor Bus Adaptor Bus Adaptor

Memory

I/O Bus I/O Bus

Sistemas de E/S

18

Ej. Arquitectura Pentium

Processor/Memory Bus

PCI Bus

I/O Busses
Sistemas de E/S 19

Ejemplo: PC actual

Sistemas de E/S

20

Organizacin de un Bus
Lneas de control
Organizan las transferencias de datos entre los dispositivos conectados al bus Indicar qu tipo de informacin circula por el bus de datos

Lneas de datos
Llevan la informacin desde la fuente al destino. Datos y direcciones (bus de datos y bus de direcciones). Comandos complejos tambin por este canal

Control Lines

BUS

Data Lines

Sistemas de E/S

21

Transaccin de E/S
Sistema Maestro/esclavo Una transaccin de E/S es una secuencia de operaciones en el bus. Incluye dos partes: Peticin de operacin a travs de un comando (lleva asociada una direccin para indicar a qu dispositivo va dirigido). Transferencia del dato. El maestro es quien inicia la transaccin en el bus mandando el comando ( y la direccin si es necesario). El esclavo es el que responde al maestro enviando el dato al maestro o recibindolo del mismo. En los casos sencillos de entrada/salida el procesador es el maestro (El comando es simplemente la direccin, R/W y CS).
Master issues a command Bus Master Data can go either way
Sistemas de E/S

Bus Slave
22

Temporizacin en el Bus: Sncrono Asncrono


Buses sncronos
Una lnea del control es el reloj. Todo ocurre a ritmo del reloj: la temporizacin es fija. Ventajas: Muy rpido y necesita poco hardware. Desventajas: Todo dispositivo debe funcionar a la velocidad del reloj. Corto para que no haya clock skew.

Buses asncronos
No hay reloj (No hay problema de clock skew). Se puede acomodar a dispositivos de diferentes velocidades. Se necesita de un protocolo de handshaking. Maestro avisa a esclavo para realizar una operacin. Esclavo avisa a maestro que ha realizado la operacin. Ms lentos y complejos.
Sistemas de E/S 23

Bus Sncrono
Todo relativo al flanco de reloj

Sistemas de E/S

24

Bus Asncrono
Tpico ciclo de lectura asncrona
1. 2. 3. 4. 5. 6. 7.

Maestro enva ReadReq y pone la direccin Esclavo enva ack cuando captura la direccin Maestro baja ReadReq para indicar recibido el ack Esclavo enva DataRdy indicando que est el dato disponible Maestro sube ack indicando que ha recibido el dato Esclavo baja DataRdy al detectar el ack El maestro baja el ack cuando detecta que DataRdy se ha desactivado
ReadReq Data 2 Ack DataRdy
Sistemas de E/S

1 3 4 4 5 7
25

Bus Asncrono
Tanto el maestro como el esclavo de la transferencia deben poseer una mquina de estado para mantener la sincrona.

New I/Orequest I/Odevice ___ Ack ________ ReadReq Memory

Put address on data lines; assert ReadReq Ack

ReadReq ReadReq 1 Record from data lines and assert Ack ________ ReadReq ___ Ack 3, 4 Drop Ack; put memory data on data lines; assert DataRdy Ack 6 Release data lines and DataRdy New I/Orequest 26

________ DataRdy

2 Release data lines; deassert ReadReq DataRdy

DataRdy

5 Read memory data fromdata lines; assert Ack ________ DataRdy

7 Deassert Ack Sistemas de E/S

Ms sobre temporizacin: Ciclo de bus


Bus de ciclo completo
El bus est ocupado mientras dura una transferencia elemental entre dispositivos Desventaja: el bus puede estar ocupado mucho tiempo esperando a que un perifrico responda

Bus de ciclo partido (split transaction)


El tiempo del bus se divide en slots de tiempo para poder compartir varias operaciones de bus entre diferentes perifricos Ejemplo: En un slot el maestro manda un comando para un perifrico En el siguiente, en vez de esperar la respuesta del perifrico, manda un comando para otro A continuacin espera, o ya recoge el resultado del primer comando Es llevar el pipeline al bus, muy complejo de gestionar
Sistemas de E/S 27

Ms sobre temporizacin: Ciclo de bus


Bus de ciclo completo
clk Addr Data
addr0 addr1 data0

8 cycles

Bus de ciclo partido


clk Addr addr0 addr1 Data
addr2addr3 addr4 data0 data1 data2 data3

Sistemas de E/S

28

Tamao del bus: multiplexado/demultiplexado


Separado o demultiplexado
Direcciones y datos son enviados en el mismo ciclo de bus Problema del nmero de lneas

Multiplexado
Primero se envan las direcciones y despus los datos Direcciones y datos comparten el mismo bus Menor coste Ms complejo
Sistemas de E/S 29

Tamao del bus: grado de paralelismo


Paralelo
La informacin circula en grupos de bits (el esquema visto hasta ahora) Ms cerca de la CPU: mayor nmero de lneas en paralelo El ancho de banda depende de la velocidad y del nmero de lneas en paralelo Cuando la distancia es grande es complejo sincronizar muchas lneas.

Serie
La informacin circula bit a bit entre dispositivos
Sistemas de E/S 30

Transicin de paralelo a serie


Los buses paralelos enfrentan dos problemas:
Skew

Reflexin

Por eso la industria empez a usar buses serie de alta velocidad.


Sistemas de E/S 31

Arbitraje: Obtener acceso al Bus


Uno de los temas ms importantes en el diseo de un bus: Cmo reserva el bus un dispositivo que quiere utilizar? Se evita la contienda (y caos) con un arreglo maestro esclavo: Solo un bus master puede controlar el acceso al bus: El maestro controla todos las peticiones (bus requests) Un esclavo responde a las peticiones de lectura escritura El sistema ms simple: Solo el procesador es el nico maestro en el bus Todas las peticiones deben ser controladas por el procesador Mayor desventaja: El procesador esta involucrado en todas las transacciones
Master issues a command Data can go either way Bus Master Bus Slave
32

Sistemas de E/S

Arbitraje (Arbitration)
Esquemas de arbitraje del Bus:
Un maestro del bus que quiere usar el bus impone un request Un maestro no puede usar el bus hasta que se le garantiza el request (bus grant). El maestro debe informar al arbitro (arbiter) cuando termina de utilizar el bus.

Los esquemas de arbitraje intentan balancear dos factores:


Prioridad: Los dispositivos con mayor prioridad deben atenderse primero. Imparcialidad (fairness): Aun los dispositivos de menor prioridad deben poder acceder al bus y no quedar completamente bloqueados.

Sistemas de E/S

33

Arbitraje
Los esquemas de arbitraje se pueden clasificar en cuatro clases:
Arbitraje en serie (daisy chain): La lnea de grant pasa por todos los dispositivos. Centralizado, arbitraje paralelo. Arbitraje distribuido por autoseleccin: cada dispositivo que quiere el bus coloca un cdigo indicando que quiere utilizarlo. Arbitraje distribuido por deteccin de colisin: Como el caso de Ethernet.

Sistemas de E/S

34

Arbitraje en serie (daisy chain)


Ventaja: Es simple Desventaja:
No puede asumir imparcialidad: Un dispositivo de baja prioridad puede ser bloqueado indefinidamente El uso de la cadena de seales limita la velocidad del bus
Device 1 Highest Priority Grant Grant Device 2 Device n Lowest Priority Grant Release Request

Bus Arbiter

wired-OR
Sistemas de E/S 35

Esquema de arbitraje centralizado


Utilizado en la mayora de los buses CPU-memoria y en buses de I/O de alta velocidad. El arbitro centralizado elige a que dispositivo darle el bus. Desventaja: el rbitro puede convertirse en el cuello de botella. El bus PCI es un ejemplo de ste tipo de arbitraje.
Device 1 Grant Device 2 Device N

Req

Bus Arbiter

Sistemas de E/S

36

Un bus simple
Todos los componentes operan sncronamente Todas las fuentes y destinos a la misma velocidad
BusReq BusGrant R/W Addr Data
Cmd+Addr Data1 Data2

Incluso los buses de memoria son ms complejos que esto


La memoria (como esclavo) puede tardar tiempo en responder Debe controlar la velocidad de transferencia
Sistemas de E/S 37

Un tpico bus sncrono


El esclavo indica cundo est preparado para la transferencia La transferencia se lleva a cabo a la velocidad del bus
clk BusReq BusGrant R/W Addr Wait Data Data1 Data2 Cmd+Addr

Sistemas de E/S

38

Cmo incrementar el ancho de banda en un bus


Lneas de direcciones y datos separadas o multiplexadas
La direccin y datos pueden ser transmitidos en un ciclo de reloj si se tienen lneas separadas. Costes: (a) incrementa complejidad, (b) ms lneas en el bus.

Ancho del bus de datos:


Incrementando el ancho de datos en el bus de datos la transferencia de mltiples palabras requiere menos ciclos. Ejemplo: SPARCstation bus de memoria es de 128 bits de ancho. Coste: ms lneas en el bus.

Transferencias de bloques (modo burst o rfaga):


Permitir que el bus transfiera mltiples palabras en cada transaccin. Solo tiene que enviarse una direccin al comienzo. El bus no se libera hasta que la ltima palabra es transferida. Coste: incrementa complejidad, decrece el tiempo de respuesta.

Sistemas de E/S

39

Incrementar la tasa de transacciones en un Bus


Arbitraje solapado
Realizar el arbitraje de la siguiente transaccin durante la actual.

Retener el Bus (bus parking)


El maestro puede retener el bus y realizar mltiples transacciones mientras ningn otro maestro realice un request.

Solapar fases de direcciones y datos


Por ejemplo utilizar segmentacin (pipeline) en las trasferencias y arbitraje.

Buses tipo packet switching


Fases de direccin y datos totalmente separadas. El arbitraje para cada direccin tiene que ver con una etiqueta que se evala en la fase de datos.

Todo lo anterior en la mayora de los buses modernos


Sistemas de E/S 40

Comparacin opciones de buses


Opcin Ancho del bus Ancho del dato Transferencia de datos Maestros del bus Reloj Protocolo Buses de altas prestaciones
Lneas de datos y direcciones separadas Ancho mximo (32, 64, 128 256 bits) Rfaga Mltiples Sncrono Pipeline

Bajo coste
Lneas de datos y direcciones multiplexadas Ancho mnimo (menos lneas: ms barato) 1 bit, 8 bits Dato a dato Uno Asncrono Serie

Comparacin buses comerciales

Sistemas de E/S

42

Interfaz entre dispositivos de E/S y procesador


Tareas para que los datos se transfieran de un dispositivo al espacio de memoria de un programa de usuario:
Cmo se traduce una peticin de E/S en comandos del dispositivo? Cmo se transfieren los datos realmente desde o hacia una posicin de memoria? Cul es el rol del SO?

Sistemas de E/S

43

Comandos para dispositivos de E/S


E/S mapeada en memoria
Una parte del espacio de direcciones se asigna a dispositivos de E/S. Las lecturas y escrituras a estas direcciones se interpretan como comandos. Solo el SO accede a estas direcciones.

Instrucciones especiales de E/S


Solo pueden ejecutarse en modo kernel. Ej. Arquitectura Intel x86. Los programas de usuario no acceden directamente a los dispositivos de E/S. Lo hacen mediante llamadas al SO. Sistemas de E/S

44

E/S mapeada en memoria


1. 2.

3.

El procesador escribe en el bus: Ej. Sw El sistema de memoria sabe que esas direcciones son para E/S e ignora la transaccin. Uno de los controladores de E/S sabe que esta direccin en el bus le corresponde.
1. 2.

Captura el dato. Lo transmite al dispositivo


Sistemas de E/S 45

Comunicacin entre dispositivos y el procesador


Polling
Comprobacin peridica del estado del dispositivo. Tcnica sencilla. til para dispositivos lentos. Desperdicia tiempo del procesador.

Interrupciones
Cuando un dispositivo de E/S necesita atencin del procesador activa una seal conectada al procesador, una lnea de interrupcin. Similares a las excepciones. Tienen prioridades asociadas.
Sistemas de E/S 46

Comunicacin entre dispositivos y el procesador


Interrupciones: Diseo del procesador. Son similares a las excepciones (fallos de pgina, overflow en operaciones aritmticas, etc.)
Pero son asncronas. No estn asociadas a instrucciones en curso. Por eso no impide que las instrucciones en curso completen su ejecucin. La unidad de control debe mirar si hay una interrupcin pendiente a la hora de iniciar una nueva instruccin.
Sistemas de E/S 47

Comunicacin entre dispositivos y el procesador


Interrupciones: Diseo del procesador. La identidad del dispositivo de E/S se comunica mediante:
Interrupciones vectorizadas (el vector de interrupciones es la direccin de memoria de la rutina de manejo de la interrupcin) o Registro de causa de excepcin

Cuando el SO toma el control puede


Saber qu dispositivo gener la interrupcin Interrogar inmediatamente al dispositivo.
Sistemas de E/S 48

Comunicacin entre dispositivos y el procesador


DMA (Direct Memory Access) Aun utilizando interrupciones, para dispositivos con alto ancho de banda, el uso del procesador puede ser elevado. El controlador DMA se convierte en master del bus, y el procesador no interviene en las transferencias.
1.

El procesador le pasa al controlador DMA los parmetros de la transferencia:


id dispositivo, tipo de operacin, direccin de memoria y nro de bytes a transferir.

2.

3.

El controlador DMA gestiona la transferencia directamente con la memoria. Cuando se completa la transferencia el controlador DMA interrumpe al procesador.
Sistemas de E/S 49

Comunicacin entre dispositivos y el procesador


DMA (Direct Memory Access) Consideraciones avanzadas:
Puede haber muchos controladores DMA en un sistema. El procesador compite por la memoria con los controladores DMA y debe esperar si un DMA est haciendo una transferencia. Mediante el uso de caches se evita gran parte de los accesos a memoria, liberando ancho de banda para E/S. Muchos controladores DMA tienen memoria para absorber demoras en las transferencias o cuando tiene que esperar para ser el master del bus.

Sistemas de E/S

50

Interfaz Hw/Sw
Tres caractersticas de los sistemas de E/S condicionan el diseo del SO:
1.

2.

3.

Mltiples programas usando el mismo procesador comparten el sistema de E/S. Uso de interrupciones: se pasa a modo kernel y las maneja el SO. El control a nivel Hw de los dispositivos es muy detallado.

Sistemas de E/S

51

Interfaz Hw/Sw
El SO debe proveer:
Proteccin: El SO garantiza que los programas de usuario accedan a un dispositivo slo si tiene los permisos. Abstraccin: El SO provee rutinas que implementan operaciones de bajo nivel. El SO maneja interrupciones de los dispositivos de E/S y llamadas al SO de los programas. Acceso equitativo y eficiente.
Sistemas de E/S 52

You might also like