1 / 98

1. El sistema de entrada/salida

1. El sistema de entrada/salida. Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008. Estructura del tema. Introducción La entrada/salida en el procesador Definición de periférico e interfaz Controladores de entrada/salida

irving
Download Presentation

1. El sistema de entrada/salida

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1. El sistema de entrada/salida Oliverio J. Santana Jaria Periféricos e Interfaces Ingeniería en Informática Curso 2007 – 2008

  2. Estructura del tema • Introducción • La entrada/salida en el procesador • Definición de periférico e interfaz • Controladores de entrada/salida • Funciones de un controlador • Estructura de un controlador • Técnicas para las operaciones de entrada/salida • Entrada/salida programada • Entrada/salida mediante interrupciones • Acceso directo a memoria • Evolución de la entrada/salida

  3. Componentes de un computador • Los componentes de un computador son: • Unidad Central de Proceso (CPU – Procesador) • Procesa los datos • Controla el funcionamiento del computador • Memoria • Almacenamiento de datos • Entrada/Salida • Transfiere datos entre el computador y el entorno externo • Sistema de interconexión • Proporciona la comunicación necesaria entre los tres componentes anteriores [STALLINGS 1.2]

  4. Interacción entre los componentes • El procesador controla el computador • Registros de dirección: indican donde leer/escribir • Registros de almacenamiento temporal [STALLINGS 3.1]

  5. Interacción entre los componentes • La memoria es un conjunto de posiciones secuenciales • Instrucciones • Datos [STALLINGS 3.1]

  6. Interacción entre los componentes • La entrada/salida gestiona las transferencias con el exterior • A/desde el procesador • A/desde memoria • Utiliza registros internos para almacenamiento temporal [STALLINGS 3.1]

  7. Importancia de la entrada/salida [PATTERSON 8.1]

  8. Periféricos e interfaces • Un periférico es un dispositivo físico que permite al computador comunicarse con su entorno • Adquirir información del exterior • Proporcionar información al exterior • Transformar información del formato interno al formato externo y/o viceversa • Una interfaz es una conexión entre dos dispositivos que permite el intercambio de información entre ellos

  9. Clasificación de los periféricos • Las características principales que nos permiten clasificar los periféricos son: • Comportamiento • Entrada (lectura) • Salida (escritura) • Almacenamiento • Interlocutor: ¿quién está al otro lado de la comunicación? • Humano • Máquina • Velocidad: ¿cómo de rápido se transmiten los datos? [PATTERSON 8.3]

  10. Clasificación de los periféricos [PATTERSON 8.3]

  11. Estructura del tema • Introducción • La entrada/salida en el procesador • Definición de periférico e interfaz • Controladores de entrada/salida • Funciones de un controlador • Estructura de un controlador • Técnicas para las operaciones de entrada/salida • Entrada/salida programada • Entrada/salida mediante interrupciones • Acceso directo a memoria • Evolución de la entrada/salida

  12. Controladores de entrada/salida • Los periféricos no pueden conectarse directamente al computador • Hay muchos periféricos con funcionamientos distintos, no puede incorporarse lógica al procesador para que sepa como interactuar con todos ellos • La velocidad de los periféricos suele ser diferente a la velocidad de la memoria o el procesador • El formato de los datos usado por los periféricos suele ser diferente al usado por el computador [STALLINGS 7.0]

  13. Controladores de entrada/salida • Un controlador de E/S es un módulo que implementa la interfaz de los periféricos con el procesador y la memoria control Procesador dirección dato Memoria controlador E/S controlador E/S … periférico periférico [STALLINGS 7.0]

  14. Controladores de entrada/salida • El principal objetivo de un controlador de E/S es establecer una abstracción • Simplificar la visión que el computador tiene de los periféricos • Ocultar detalles físicos, de formato, de temporización… control Procesador dirección dato Memoria controlador E/S controlador E/S … periférico periférico [STALLINGS 7.0]

  15. Estructura del tema • Introducción • La entrada/salida en el procesador • Definición de periférico e interfaz • Controladores de entrada/salida • Funciones de un controlador • Estructura de un controlador • Técnicas para las operaciones de entrada/salida • Entrada/salida programada • Entrada/salida mediante interrupciones • Acceso directo a memoria • Evolución de la entrada/salida

  16. Funciones de un controlador • Control y temporización: coordinar el tráfico entre los recursos internos y los dispositivos externos Ejemplo: transferencia de datos de un dispositivo al procesador procesador controlador periférico solicitud solicitud reconocimiento reconocimiento dato dato reconocimiento reconocimiento [STALLINGS 7.2]

  17. Funciones de un controlador • Almacenamiento temporal de datos: compensar la diferencia de velocidad en las transferencias • Si los datos llegan con demasiada rapidez se almacenan y se van procesando al ritmo adecuado • Si los datos llegan con demasiada lentitud se van almacenando y se procesan cuando hay suficientes • Detección de errores • Defectos mecánicos o eléctricos • Errores de transmisión [STALLINGS 7.2]

  18. Funciones de un controlador • Comunicación con el procesador • Decodificar órdenes provenientes del procesador • Intercambiar datos • Comunicar información de estado y condiciones de error • Reconocimiento de una dirección como correspondiente a uno de los periféricos bajo control • Comunicación con el dispositivo: intercambio de señales de control, estado y datos [STALLINGS 7.2]

  19. Estructura del tema • Introducción • La entrada/salida en el procesador • Definición de periférico e interfaz • Controladores de entrada/salida • Funciones de un controlador • Estructura de un controlador • Técnicas para las operaciones de entrada/salida • Entrada/salida programada • Entrada/salida mediante interrupciones • Acceso directo a memoria • Evolución de la entrada/salida

  20. Interconexión con los controladores • Desde el punto de vista del procesador, la entrada/salida funciona igual que la memoria • Operaciones de lectura • Operaciones de escritura • Un controlador de E/S tiene dos interfaces • Con el procesador y la memoria • Con los periféricos [STALLINGS 3.3] [STALLINGS 7.1]

  21. Interconexión con los controladores • Las conexiones entre el procesador, la memoria y los controladores E/S reciben usualmente el nombre de bus • Líneas de control • Líneas de dirección • Líneas de datos [STALLINGS 3.3] [STALLINGS 7.1]

  22. Estructura de un controlador de E/S • Registro de datos • Almacena los datos que se envían/reciben [STALLINGS 7.2]

  23. Estructura de un controlador de E/S • Registro de estado • Proporciona información del estado actual • Puede funcionar como un registro de control para almacenar la información de control transmitida por el procesador [STALLINGS 7.2]

  24. Estructura de un controlador de E/S • Lógica de entrada/salida • Interactúa con el procesador por medio de líneas de control por las que recibe órdenes del procesador pero que también puede usar para solicitar recursos (acceso al bus…) • Reconoce y genera los identificadores asociados con cada dispositivo que controla [STALLINGS 7.2]

  25. Estructura de un controlador de E/S • Lógica específica de interfaz con cada dispositivo gestionado [STALLINGS 7.2]

  26. Estructura de un periférico • Lógica de control: maneja el periférico en función de las indicaciones del controlador de E/S [STALLINGS 7.1]

  27. Estructura de un periférico • Transductor: convierte señales digitales a otra forma de energía (salida) o viceversa (entrada) • Un buffer permite el almacenamiento temporal de las señales • Hay gran variedad de interfaces entre el periférico y el exterior (teclado, monitor, ratón…) [STALLINGS 7.1]

  28. Interfaz controlador de E/S – periférico • La interfaz puede ser serie o paralela • Serie: solo hay una línea de conexión, los bits se transmiten de uno en uno • Paralela: hay varias líneas de conexión, lo que permite transmitir varios bits de forma simultánea • Tradicionalmente se asocian las interfaces paralelas con dispositivos de alta velocidad (cinta, disco…) y las interfaces serie con dispositivos más lentos (impresoras, terminales…) • Hoy en día, las interfaces serie de alta velocidad hacen que las paralelas sean cada vez menos frecuentes [STALLINGS 7.7]

  29. Estructura del tema • Introducción • La entrada/salida en el procesador • Definición de periférico e interfaz • Controladores de entrada/salida • Funciones de un controlador • Estructura de un controlador • Técnicas para las operaciones de entrada/salida • Entrada/salida programada • Entrada/salida mediante interrupciones • Acceso directo a memoria • Evolución de la entrada/salida

  30. Técnicas para las operaciones de E/S • E/S programada • Los datos se intercambian entre el procesador y el controlador • El procesador envía una orden y espera a que la operación termine ejecutando un programa que controla la operación (lectura, escritura, comprobación de estado…) [STALLINGS 7.3] [STALLINGS 7.4] [STALLINGS 7.5]

  31. Técnicas para las operaciones de E/S • Desventajas de la E/S programada • Consume tiempo: el procesador debe dedicar parte de su tiempo a gestionar las operaciones de E/S • Mantiene al procesador innecesariamente ocupado: si el procesador es más rápido se verá obligado a comprobar el estado del controlador una y otra vez hasta que la operación finaliza • Velocidad limitada: la velocidad de transferencia está limitada por la velocidad a la que el procesador puede atender al controlador [STALLINGS 7.3] [STALLINGS 7.4] [STALLINGS 7.5]

  32. Técnicas para las operaciones de E/S • E/S mediante interrupciones • El procesador da la orden y sigue ejecutando otras instrucciones hasta que el controlador de E/S le interrumpe para comunicarle que la operación ha concluido • Es más eficiente porque elimina esperas innecesarias, pero los datos siguen pasando a través del procesador • Consume tiempo • Limita velocidad [STALLINGS 7.3] [STALLINGS 7.4] [STALLINGS 7.5]

  33. Técnicas para las operaciones de E/S • Acceso directo a memoria (DMA – Direct Memory Access) • La memoria y el controlador de E/S intercambian datos directamente sin intervención del procesador • El procesador da la orden y sigue ejecutando otras instrucciones hasta que el controlador de E/S le interrumpe para comunicarle que la operación ha concluido, pero los datos no pasan a través de él [STALLINGS 7.3] [STALLINGS 7.4] [STALLINGS 7.5]

  34. Técnicas para las operaciones de E/S • La E/S programada puede resultar más rápida para pequeñas cantidades de datos, pero el procesador no podrá hacer nada más • La E/S mediante interrupciones libera el procesador para que haga otras tareas, pero la transferencia será más lenta • DMA es la técnica más eficiente cuando se trata de transmitir grandes volúmenes de información [STALLINGS 7.3] [STALLINGS 7.4] [STALLINGS 7.5]

  35. Técnicas para las operaciones de E/S Ejemplo: lectura de datos (transferencia E/S  memoria) [STALLINGS 7.3] [STALLINGS 7.4] [STALLINGS 7.5]

  36. Estructura del tema • Introducción • La entrada/salida en el procesador • Definición de periférico e interfaz • Controladores de entrada/salida • Funciones de un controlador • Estructura de un controlador • Técnicas para las operaciones de entrada/salida • Entrada/salida programada • Entrada/salida mediante interrupciones • Acceso directo a memoria • Evolución de la entrada/salida

  37. E/S programada • Al encontrar una instrucción E/S, el procesador genera: • El identificador del controlador y el periférico • Una orden de E/S • La orden de E/S es enviada al controlador • El controlador realiza la operación y ajusta el valor del registro de estado, pero no avisa al procesador • El procesador debe controlar periódicamente el estado del controlador hasta que comprueba que la operación ha finalizado [STALLINGS 7.3]

  38. Órdenes de E/S • Hay cuatro tipos de órdenes de E/S • Control: son específicas de cada tipo particular de periférico (activar periférico, indicarle que hacer…) • Test: comprueban condiciones de estado (¿conectado?, ¿disponible?, ¿operación terminada?, ¿error?…) • Lectura • El controlador lee un dato del periférico y lo almacena internamente • El procesador podrá obtener el dato pidiendo al controlador que lo ponga en el bus • Escritura • El controlador toma un dato del bus • El dato es transmitido al periférico [STALLINGS 7.3]

  39. Direccionamiento de los periféricos • Las instrucciones de E/S suelen tener una correspondencia directa 1-1 con las órdenes de E/S • El formato de las instrucciones de E/S depende de la forma de direccionamiento de los dispositivos, pues deben contener la dirección adecuada • Si el procesador, la memoria y la E/S comparten un bus se pueden usar dos modos de direccionamiento • E/S asignada en memoria • E/S aislada de memoria [STALLINGS 7.3]

  40. E/S asignada en memoria • Existe un único espacio de direcciones para posiciones de memoria y dispositivos de E/S • Los registros de estado y de datos de los controladores son vistos por el procesador como posiciones de memoria y accede a ellos como si lo fueran • Sólo existe una línea de lectura y una línea de escritura • Por ejemplo, con 10 líneas de dirección tendríamos un total de 210 = 1024 posiciones de memoria y E/S [STALLINGS 7.3]

  41. E/S aislada de memoria • Existen líneas de lectura/escritura en memoria y otras separadas para las órdenes de E/S • Por ejemplo, con 10 líneas para memoria y otras 10 líneas de dirección para E/S tendríamos 210 = 1024 posiciones de memoria y otras tantas de E/S • Las instrucciones deben especificar si se refieren a una posición de memoria o a un dispositivo de E/S [STALLINGS 7.3]

  42. E/S asignada vs. aislada • E/S asignada en memoria • La programación es más eficiente porque existe una gran variedad de instrucciones de lectura/escritura en memoria • La desventaja es que hay que compartir el valioso espacio de direcciones de memoria • E/S aislada de memoria • Hay menos opciones de programación porque sólo se dispone de unas pocas instrucciones de E/S • No se comparte el espacio de direcciones • Ambas se utilizan frecuentemente hoy en día [STALLINGS 7.3]

  43. E/S asignada vs. aislada Ejemplo de programa que realiza una operación de E/S (se asumen direcciones de 10 bits) [STALLINGS 7.3]

  44. Estructura del tema • Introducción • La entrada/salida en el procesador • Definición de periférico e interfaz • Controladores de entrada/salida • Funciones de un controlador • Estructura de un controlador • Técnicas para las operaciones de entrada/salida • Entrada/salida programada • Entrada/salida mediante interrupciones • Acceso directo a memoria • Evolución de la entrada/salida

  45. E/S mediante interrupciones • Desde el punto de vista del controlador de E/S • El controlador recibe una orden del procesador • El controlador gestiona la operación con el periférico asociado • Una vez concluye la operación, el controlador envía una interrupción al procesador • El controlador espera a que el procesador actúe • Lectura: toma el dato • Escritura: comprueba el estado • El controlador queda preparado para la siguiente operación [STALLINGS 7.4]

  46. E/S mediante interrupciones • Desde el punto de vista del procesador • El procesador envía una orden al controlador y luego continúa ejecutando instrucciones • Del mismo programa si es posible paralelizar • De un programa distinto [STALLINGS 7.4] [STALLINGS 3.2]

  47. E/S mediante interrupciones • Desde el punto de vista del procesador • En cada ciclo de instrucción, el procesador comprueba el estado de las interrupciones • Una vez detectada, la interrupción es procesada [STALLINGS 7.4] [STALLINGS 3.2]

  48. Procesamiento de interrupciones • El procesamiento de una interrupción consiste en • Suspender la ejecución del programa y guardar su contexto • Carga la rutina de gestión de la interrupción • Puede haber una por interrupción o una por interrupción y dispositivo • Puede haber más de una adecuada • La interrupción puede haber indicado cual era la adecuada • Puede ser necesario interrogar al dispositivo al respecto • Ejecutar la rutina de gestión de la interrupción, lo que puede implicar comunicarse de nuevo con el dispositivo • Recuperar el contexto del programa anterior (u otro distinto) [STALLINGS 7.4] [STALLINGS 3.2]

  49. Procesamiento de interrupciones Procedimiento de interrupción simplificado PC = Program Counter PSW = Program Status Word [STALLINGS 7.4]

  50. Procesamiento de interrupciones El contexto de un programa se almacena en la pila del sistema [STALLINGS 7.4]

More Related