ARQUITECTURA DE COMPUTADORAS INTERFACES DE ENTRADASALIDA Prof Juan

  • Slides: 37
Download presentation
ARQUITECTURA DE COMPUTADORAS INTERFACES DE ENTRADA-SALIDA Prof. Juan Álvarez

ARQUITECTURA DE COMPUTADORAS INTERFACES DE ENTRADA-SALIDA Prof. Juan Álvarez

CONTENIDO DÉCIMO SEGUNDA SEMANA Interfaz de entrada-salida. Transferencia síncrona y asíncrona de datos. Modos

CONTENIDO DÉCIMO SEGUNDA SEMANA Interfaz de entrada-salida. Transferencia síncrona y asíncrona de datos. Modos de transferencia: E/S programada, E/S por interrupción y acceso directo a memoria (DMA). Controlador DMA. Procesador de entrada – salida (IOP). Stallings, William. Organización y Arquitectura de Computadores. 5 ta. Edición. Editorial Prentice Hall, 2000. Código biblioteca: 004. 22/S 78 (Capítulo 6)

INTERFAZ DE E/S Las interfaces de entrada o salida (E/S) permiten establecer la comunicación

INTERFAZ DE E/S Las interfaces de entrada o salida (E/S) permiten establecer la comunicación del computador con los periféricos que son externos al sistema. Todos los computadores deben tener un medio eficiente para recibir o entregar información al exterior. La computadora puede interactuar con seres humanos, con otras máquinas o con redes de comunicación.

INTERFAZ DE E/S Los dispositivos externos no son conectados directamente al bus del computador

INTERFAZ DE E/S Los dispositivos externos no son conectados directamente al bus del computador porque: • una amplia gama de periféricos requiere diferentes interfaces lógicas, • no es práctico que la CPU tenga que “saber” como controlar cada dispositivo, • porque los periféricos pueden tener distintas consideraciones de circuitos electrónicos que la CPU, • porque los periféricos suelen tener distintas las velocidades de transferencia de datos, • Porque pueden representar los datos de dista manera.

INTERFAZ DE E/S

INTERFAZ DE E/S

INTERFAZ DE E/S Las Interfaces de E/S proveen un circuito estándar a la CPU

INTERFAZ DE E/S Las Interfaces de E/S proveen un circuito estándar a la CPU y al bus y están diseñadas especialmente para dispositivos de E/S específicos y sus requerimientos de comunicación y control. La interfaz de E/S descarga a la CPU de la administración de los dispositivos de E/S y del control de transferencia.

INTERFAZ DE E/S Una interfaz de E/S responde a las siguientes funciones: • Controlar

INTERFAZ DE E/S Una interfaz de E/S responde a las siguientes funciones: • Controlar y temporizar la transferencia de información a los distintos dispositivos de acuerdo al programa y coordinar el trafico de los recursos internos y dispositivos externos. • Establecer la comunicación con la CPU: decodificando las órdenes, los datos de estado, reconociendo las direcciones, transfiriendo los datos. • Almacenando temporalmente datos. • Detectando errores.

INTERFAZ DE E/S En la siguiente figura se ilustra el diagrama de bloques de

INTERFAZ DE E/S En la siguiente figura se ilustra el diagrama de bloques de una interfaz de E/S genérica. Toda interfaz tiene un medio de almacenamiento de datos y puede venir con un registro de estado. Para la comunicación con los periféricos puede incluir circuitos especiales de comunicación y control de la información a transferir. Siempre está presente una unidad de control.

INTERFAZ DE E/S

INTERFAZ DE E/S

OPERACIÓN DE UNA INTERFAZ DE E/S Operación básica: Cuando se presenta un requerimiento de

OPERACIÓN DE UNA INTERFAZ DE E/S Operación básica: Cuando se presenta un requerimiento de transferencia de datos, la interfaz recibe el dato y lo almacena en su registro interno. Luego busca establecer la comunicación con el destinatario. Cuando el destinatario responde aceptando el dato, la interfaz efectúa la transferencia y termina su participación.

OPERACIÓN DE UNA INTERFAZ DE E/S Son posibles tres técnicas para las operaciones de

OPERACIÓN DE UNA INTERFAZ DE E/S Son posibles tres técnicas para las operaciones de E/S: • E/S programada: la CPU ejecuta un programa que controla directamente la operación de E/S, incluyendo la comprobación del estado del dispositivo, el envío de una orden de lectura o escritura y la transferencia del dato. La CPU está presente hasta que la operación de E/S termina. Si la CPU es más rápida que el módulo de E/S, la CPU debe esperar y desperdicia tiempo. El término de la operación se indica por un cambio en los bits del registro de estado en el cual la CPU suele sondear periódicamente. • E/S mediante interrupciones: la CPU proporciona la orden de E/S, continúa ejecutando otras instrucciones.

OPERACIÓN DE UNA INTERFAZ DE E/S La CPU es interrumpida por la interfaz de

OPERACIÓN DE UNA INTERFAZ DE E/S La CPU es interrumpida por la interfaz de E/S cuando éste ha terminado su trabajo. La CPU sigue siendo responsable de leer o escribir los datos en la memoria. • Acceso directo a memoria: la interfaz de E/S y la memoria intercambian datos directamente sin la intervención de la CPU.

E/S PROGRAMADA Cuando la CPU está ejecutando un programa y encuentra una instrucción relacionada

E/S PROGRAMADA Cuando la CPU está ejecutando un programa y encuentra una instrucción relacionada con una E/S, ejecuta dicha instrucción mandando una orden a la interfaz de E/S apropiada. La E/S programada realizará la acción solicitada y después activa los bits apropiados en el registro de estado de E/S. La CPU debe sondear este registro para continuar con el programa.

E/S MEDIANTE INTERRUPCIONES El problema con la E/S programada es que la CPU tiene

E/S MEDIANTE INTERRUPCIONES El problema con la E/S programada es que la CPU tiene que esperar un tiempo considerable a que la interfaz de E/S esté preparada para recibir y transmitir los datos. La alternativa es que tras enviar una orden de E/S a una interfaz, la CPU continúe realizando algún trabajo útil. La interfaz interrumpirá a la CPU para solicitar su servicio cuando esté preparada para intercambiar datos con ella.

E/S MEDIANTE INTERRUPCIONES Ejemplo: La interfaz de E/S procede a leer un dato desde

E/S MEDIANTE INTERRUPCIONES Ejemplo: La interfaz de E/S procede a leer un dato desde el periférico asociado al recibir una orden READ de la CPU. Una vez que el dato está en el registro de datos de la interfaz, esta envía una interrupción a la CPU y espera hasta que la CPU solicite su dato. Recibida la solicitud, la interfaz envía el dato por el bus de datos y se dispone para otra operación de E/S

E/S MEDIANTE INTERRUPCIONES Desde el punto de vista de la CPU, una vez que

E/S MEDIANTE INTERRUPCIONES Desde el punto de vista de la CPU, una vez que se envía la orden READ a la interfaz, la CPU pasa a realizar otro trabajo (ejecuta un programa). Al final de cada ciclo de instrucción, la CPU comprueba las interrupciones. Cuando la interfaz solicita una interrupción, la CPU suspende la ejecución del programa y atiende a la interfaz. Transferido el dato de E/S, este se almacena en memoria. Luego continúa con la ejecución del programa que había suspendido con la interrupción.

ACCESO DIRECTO A MEMORIA La E/S con interrupciones y la E/S programada requieren de

ACCESO DIRECTO A MEMORIA La E/S con interrupciones y la E/S programada requieren de la participación activa de la CPU para hacer la transferencia de datos entre la memoria y la E/S. Esto presenta dos inconvenientes: • La velocidad de transferencia de E/S está limitada por la velocidad a la cual la CPU puede comprobar y dar servicio a un dispositivo.

ACCESO DIRECTO A MEMORIA • La CPU debe dedicarse a la gestión de las

ACCESO DIRECTO A MEMORIA • La CPU debe dedicarse a la gestión de las transferencias de E/S, debe ejecutar cierto número de instrucciones por cada transferencia. El Acceso Directo a Memoria (DMA) permite una transferencia de datos más eficiente cuando se trata de grandes volúmenes de datos. EL DMA constituye un módulo adicional en el bus del sistema.

ACCESO DIRECTO A MEMORIA Cuando la CPU desea leer o escribir un bloque de

ACCESO DIRECTO A MEMORIA Cuando la CPU desea leer o escribir un bloque de datos, envía una orden al módulo del DMA indicando: • Si se trata de una lectura o escritura • La dirección de la interfaz de E/S • La posición inicial de memoria • El número de bytes a transferir Luego la CPU continúa con otro trabajo, delegando al módulo DMA la operación de E/S.

ACCESO DIRECTO A MEMORIA EL DMA se encarga de la transferencia de datos, byte

ACCESO DIRECTO A MEMORIA EL DMA se encarga de la transferencia de datos, byte por byte, sin que tenga que intervenir la CPU. Cuando la transferencia ha terminado, el DMA envía una señal de interrupción a la CPU. El DMA necesita tomar control del bus para transferir datos, debe utilizar el bus cuando la CPU no lo necesita o debe obligar a la CPU que no lo utilice.

ACCESO DIRECTO A MEMORIA Esta última técnica es más frecuente y recibe el nombre

ACCESO DIRECTO A MEMORIA Esta última técnica es más frecuente y recibe el nombre de “robo por ciclo”, puesto que el DMA roba un ciclo de bus. El procedimiento es como sigue: • El DMA solicita a la CPU por la patilla de control HOLD la disponibilidad de los buses para hacer la transferencia. • La CPU se desconecta de los buses y contesta al DMA por la patilla HLDA que los buses están disponibles.

ACCESO DIRECTO A MEMORIA • El DMA realiza la transferencia de datos entre la

ACCESO DIRECTO A MEMORIA • El DMA realiza la transferencia de datos entre la memoria y el periférico generando todas las señales de control que se necesiten. • Terminada la transferencia, el DMA lo comunica a la CPU, la que retoma el control de los buses.

ACCESO DIRECTO A MEMORIA

ACCESO DIRECTO A MEMORIA

UNIDADES DE E/S DE UNA PC

UNIDADES DE E/S DE UNA PC

INTERFACES BÁSICAS El dispositivo básico de entrada es un conjunto de buffers de tres

INTERFACES BÁSICAS El dispositivo básico de entrada es un conjunto de buffers de tres estados y el dispositivo básico de salida es un conjunto de registros de datos. En la siguiente figura se ilustra el diagrama simplificado de una interfaz básica de entrada. El periférico se conecta al bus de datos a través del buffer de tres estados. Este sólo se habilita si las direcciones decodificadas corresponden al puerto.

INTERFACES BÁSICAS En la segunda figura se ilustra una interfaz básica de salida. El

INTERFACES BÁSICAS En la segunda figura se ilustra una interfaz básica de salida. El periférico está conectado directamente a la salida de un registro de Flip Flops. El registro se carga con el dato proveniente del bus de datos cuando aparece un pulso por la patilla de control de los FFs. El cambio de estado ocurre cuando el decodificador de direcciones detecta la presencia de la dirección del puerto.

INTERFACES BÁSICAS DE E/S

INTERFACES BÁSICAS DE E/S

MAPA DE E/S En las Computadoras Personales, hay instrucciones que transfieren datos entre el

MAPA DE E/S En las Computadoras Personales, hay instrucciones que transfieren datos entre el acumulador o la memoria y el dispositivo de E/S. Las direcciones de los dispositivos de E/S están separadas de la memoria, de manera que el usuario puede utilizar el amplio espacio de memoria sin comprometer las direcciones para los puertos de E/S.

MAPA DE E/S Para poder establecer el uso de las direcciones para la memoria

MAPA DE E/S Para poder establecer el uso de las direcciones para la memoria o los puertos de E/S, la CPU dispone de señales de control como M/IO y W/R, IORC para indicar una lectura o IOWC para una escritura. En particular la patilla M/IO indica que una dirección es utilizada para seleccionar un dispositivo de E/S. La dirección de puerto de 8 bits se utiliza para acceder a dispositivos ubicados en la tarjeta del sistema. Las de 16 bits se utiliza para acceder a puerto serial o paralelo o controladores de video o de disco.

MAPA DE E/S La computadora personal utiliza parte del mapa de E/S para funciones

MAPA DE E/S La computadora personal utiliza parte del mapa de E/S para funciones dedicadas. El espacio entre 0000 h y 03 FFh está reservado para el sistema y el bus ISA. El espacio entre 0400 h y FFFFh está disponible para el usuario, para funciones de la tarjeta principal y el bus PCI.

INTERFACES BÁSICAS En el siguiente circuito se ilustra la conexión de una interfaz básica

INTERFACES BÁSICAS En el siguiente circuito se ilustra la conexión de una interfaz básica de salida a un conjunto de displays de siete segmentos con sus decodificadores respectivos. El puerto empleado es un conjunto de Flip Flops que actúan como registros seguidos de buffers de tres estados. Se ilustra también el decodificador de direcciones con los control de E/S.

INTERFACES BÁSICAS

INTERFACES BÁSICAS

INTERFACES BÁSICAS

INTERFACES BÁSICAS

INTERFAZ 8212 El puerto de E/S 8212 es una interfaz básica de 8 bits

INTERFAZ 8212 El puerto de E/S 8212 es una interfaz básica de 8 bits compuesta por un registro de ocho Flip Flops, ocho buffers de tres estados y un circuito de control. El circuito de habilita con DS 1 y DS 2, habilitándose los buffers y haciendo cero el FF de solicitud de servicio. Este dispositivo tiene dos estados: el de ingreso de los datos (para MD=0) y el de salida de los datos (MD=1).

INTERFAZ 8212 El strob STR actúa como control de los pulsos de reloj del

INTERFAZ 8212 El strob STR actúa como control de los pulsos de reloj del registro cuando MD=0. El clear CLR borra el contenido del registro en el momento que es cero. La señal de interrupción INT se hace cero desde el momento en que se hace una solicitud de servicio. La aplicación más importante es la servir de conexión de salida de datos al procesador.

INTERFAZ 8212

INTERFAZ 8212