You are on page 1of 48

Entrada / Salida Buses

Arquitectura de Computadores 2011-2 Escuela de Ingeniera en Bioinformtica

Recordemos
Un sistema computacional tiene tres
componentes principales:

CPU Memorias (primaria y secundaria) E/S (entrada y salida) o I/O (Input/


Output)

Buses

Estructura de PC Antiguo

Entrada y Salida
Principales funciones de un Sistema
Operativo al manejar E/S:

Comunicarse con los dispositivos Manejar las interrupciones Manejar los errores Proporcionar una interfaz sencilla y fcil
de usar

Entrada y Salida

Cada controlador est a cargo de un dispositivo especco. El controlador se encarga de mover datos entre el dispositivo perifrico que controla y el buffer de almacenamiento local. Amplia variedad de dispositivos

Entregando diferentes cantidades de datos A diferentes velocidades En formatos diferentes

Todos ms lentos que la CPU y la Memoria Necesitan mdulos de E/S.

Modulos de E/S
Funciones Control y temporizacin Comunicacin con la CPU Comunicacin entre dispositivos Buffering Deteccin de errores.

Modulos de E/S

Decisiones

Esconder o mostrar las propiedades de un dispositivo de E/S a la CPU Soportar uno o muchos dispositivos Controlar las funciones de un dispositivo o dejar que la CPU lo haga Decisiones del SO

Ejemplo: UNIX trabaja todos los dispositivos como archivos

Clasicacin de los dispositivos de E/S


Segn Stallings: 1. Dispositivos legibles por los humanos: apropiados para la comunicacin con el usuario (mouse, teclado, monitor, impresora) 2. Dispositivos legibles por mquina: adecuados para comunicarse con equipos electrnicos (discos, cintas) 3. Dispositivos de comunicaciones: apropiados para comunicarse con dispositivos lejanos (modem, tarjeta Ethernet).

Segn Tanenbaum podemos clasicarlos:


1. Dispositivos de bloques: dispositivos que almacenan la informacin en bloques de tamao jo (discos) 2. Dispositivos de caracteres: maneja la informacin mediante un ujo de caracteres sin estructurarlos en bloques (mouse, teclado, impresora)

Clasicacin de los dispositivos de E/S

Principales diferencias de los dispositivos de E/S


1. Aplicaciones (ej: disco que almacena archivos, disco que almacena pginas de memoria virtual) 2. Complejidad del control (ej: impresora vs. disco) 3. Unidad de transferencia (bytes o bloques) 4. Representacin de los errores (check sum, codicacin) 5. Condiciones de error (cmo y qu se informa) 6. Velocidad de los datos (diferencia en varios rdenes de magnitud)

Velocidades de datos de los dispositivos


Tarjeta posterior Sun Gigaplane XB: Bus PCI

1010

1011

1012

Velocidades de datos de los dispositivos

Tcnicas de Entrada/ Salida


Son posibles tres tcnicas para las
operaciones de E/S

E/S Programada E/S mediante interrupciones Por acceso directo a memoria (DMA)

Entrada y salida programada


Los datos se intercambian entre la CPU y
el mdulo de E/S.

La CPU ejecuta un programa que controla

directamente la operacin de E/S, incluyendo la comprobacin del estado del dispositivo, el envo de la orden de lectura o escritura y la transferencia del dato.

Cuando la CPU enva la orden debe

Entrada y salida programada

esperar hasta que la operacin de E/S concluya.

Si la CPU es ms rpido, sta estar ocioso. La CPU es la responsable de comprobar


peridicamente el estado del mdulo de E/S hasta que encuentre que la operacin ha nalizado.

Entrada y salida programada


E/S programada: El dispositivo E/S realiza la accin (no la CPU) colocando los bits necesarios en sus registros de status. No hay interrupciones. La CPU chequea los bits de status continuamente.

E/S mediante interrupciones



Una alternativa es que la CPU tras enviar una orden de E/S contine realizando algn trabajo til. El mdulo de E/S interrumpir al CPU para solicitar su servicio cuando est preparado para intercambiar datos. El CPU ejecuta la transferencia de datos y despus continua con el procesamiento previo.

E/S mediante interrupciones


Dos tipos:

E/S Sncrona.

Cuando la operacin de E/S naliza, el control es retornado al proceso que la gener. Retorna al programa usuario sin esperar que la operacin de E/S nalice

E/S Asncrona.

E/S mediante interrupciones


Inicio de la Operacin de E/S

Para iniciar una operacin de E/S, la CPU actualiza los registros necesarios en el mdulo de E/S. El mdulo de E/S examina el contenido de estos registros para determinar el tipo de accin a ser llevada a cabo. Por ejemplo, si encuentra un requerimiento de lectura, el mdulo de E/S empezar a transferir data desde el dispositivo a los buffers locales. Una vez terminada la transferencia, el mdulo informa al CPU que la operacin ha terminado por medio de una interrupcin.

E/S mediante interrupciones


Procesamiento de la Interrupcin

El dispositivo enva una seal de interrupcin al procesador El procesador termina la ejecucin de la instruccin en curso antes de responder a la interrupcin. El procesador comprueba si hay alguna interrupcin. Si hay alguna, enva una seal de reconocimiento al dispositivo que la origin El procesador debe prepararse para transferir el control a la rutina de interrupcin. Debe guardar la informacin necesaria para continuar con el proceso en curso en el punto en que se interrumpi. Guarda en la pila del sistema el contenido de los registros, etc.

E/S mediante interrupciones


Procesamiento de la Interrupcin

El procesador carga en el PC la direccin de inicio del programa de gestin o servicio de interrupcin solicitada. Una vez modicado el PC, el procesador contina con el ciclo de instruccin siguiente. Es decir, se transere el control a la rutina servidora de la interrupcin. Cuando naliza el servicio de la interrupcin, se restauran los valores de los registros.

E/S mediante interrupciones



La CPU es interrumpida cuando el dispositivo E/S est listo para intercambiar datos La CPU esta libre entre la solicitud de datos e interrupcin No hay necesidad de esperar Consume mucha CPU ya que cada byte ledo/ escrito pasa por la CPU desde/hacia la memoria

Pasos de una interrupcin de E/S cuando se termina una tarea

Tabla de Estado de Dispositivos



Cuando la CPU recibe una interrupcin que indica que se ha nalizado una operacin de E/S, el sistema de operacin debe saber a cul proceso pertenece. Para esto se mantiene una tabla de estado de dispositivos. Cada entrada en la tabla contiene el tipo de dispositivo, su direccin y su estado (ocioso, ocupado, no funcionando). Si es dispositivo se encuentra ocupado, entonces el tipo de solicitud junto con otros parmetros son almacenados en la tabla (lista).

DMA (Direct Memory Access)


La E/S programada y la E/S manejada por
interrupciones requieren intervencin activa de la CPU:

La tasa de transferencia es limitada El CPU se ocupa demasiado tiempo en


transferir datos.

SOLUCION = DMA

DMA (Direct Memory Access)


Mdulo adicional en el bus (hardware) El controlador de DMA maneja la E/S en vez de la CPU. El CPU le indica al controlador de DMA

Lectura o Escritura Direccin del dispositivo Direccin inicial del bloque de memoria o datos

Cantidad de datos a ser transferidos La CPU puede ponerse a hacer otro trabajo El controlador DMA trata la transferencia El controlador DMA emite una interrupcin cuando termina,

DMA (Direct Memory Access)



Transere un bloque de datos directamente hacia/desde la memoria Se enva una interrupcin cuando los datos fueron transferidos La CPU slo participa al inicio y al nal de la accin

DMA (Direct Memory Access)

DMA (Direct Memory Access)


DMA Con UN solo BUS

DMA (Direct Memory Access)


Un solo Bus controlador de DMA
Integrado

DMA (Direct Memory Access)


Con Bus Independiente

Interconexin con Buses

Buses de un Computador
Un bus es un camino elctrico entre varios
dispositivos.

Pueden transportar datos internamente en


el CPU o en comunicacin con el exterior. comunicacin con memoria y dispositivos de E/S.

Se clasican segn su funcionalidad,

Buses de un Computador

Ancho de un bus
Es el parmetro ms obvio, mientras ms
lneas de direccin tenga un bus, ms memoria podr direccionar la CPU directamente.

Si un bus tiene n lneas de direccin, una


CPU podr usarlo para direccionar 2n localidades de memoria distintas.

Mdulos de un Computador

Tipos de transferencias

Memoria a Procesador

El procesador lee una instruccin o un dato desde la memoria. El procesador escribe un dato en la memoria. El Procesador lee datos de un dispositivo de E/S a travs de un mdulo de E/S El Procesador enva datos al dispositivo de E/S. Mdulos intercambian datos con la Memoria utilizando el acceso directo a memoria (DMA).

Procesador a Memoria E/S a Procesador

Procesador a E/S Memoria a E/S y viceversa

Esquema de Interconexin

Esquema de Interconexin Fsica

Funcionamiento del Bus



Si un mdulo desea enviar un dato a otro mdulo 1. Obtener el uso del bus 2. Transferir el dato a travs del bus. Si un mdulo desea pedir un dato a otro mdulo 1. Obtener el uso del bus 2. Transferir la peticin al otro mdulo mediante las lneas de control y direccin apropiadas

Jerarqua de Buses Mltiples

Jerarqua de Buses Mltiples

Elementos de Diseo de un Bus

Diagrama de Temporizacin Sncrona

Diagrama de Temporizacin Sncrona - Lectura

Diagrama de Temporizacin Sncrona - Escritura

Entrada / Salida Buses


Arquitectura de Computadores 2011-2 Escuela de Ingeniera en Bioinformtica

You might also like