oliverio j. santana jaria periféricos e interfaces ingeniería en informática curso 2007 – 2008...

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

Upload: eduardo-ayala-reyes

Post on 02-Feb-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

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

Oliverio J. Santana Jaria

Periféricos e InterfacesIngeniería en Informática

Curso 2007 – 2008

1.1. El sistema de entrada/salidaEl sistema de entrada/salida

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

2

Estructura del temaEstructura 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

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

3

Componentes de un computadorComponentes 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]

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

4

Interacción entre los componentesInteracción entre los componentes

El procesador controla el computador Registros de

dirección: indican donde leer/escribir

Registros de almacenamiento temporal

[STALLINGS 3.1]

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

5

Interacción entre los componentesInteracción entre los componentes

La memoria es un conjunto de posiciones secuenciales Instrucciones Datos

[STALLINGS 3.1]

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

6

Interacción entre los componentesInteracció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]

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

7

Importancia de la entrada/salidaImportancia de la entrada/salida

[PATTERSON 8.1]

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

8

Periféricos e interfacesPerifé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

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

9

Clasificación de los periféricosClasificació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]

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

10

Clasificación de los periféricosClasificación de los periféricos

[PATTERSON 8.3]

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

11

Estructura del temaEstructura 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

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

12

Controladores de entrada/salidaControladores 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]

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

13

Controladores de entrada/salidaControladores 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

Procesador

control

dirección

dato

Memoria

controlador E/S controlador E/S

periférico periférico

[STALLINGS 7.0]

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

14

Controladores de entrada/salidaControladores 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…

[STALLINGS 7.0]

Procesador

control

dirección

dato

Memoria

controlador E/S controlador E/S

periférico periférico

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

15

Estructura del temaEstructura 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

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

16

Funciones de un controladorFunciones de un controlador

Control y temporización: coordinar el tráfico entre los recursos internos y los dispositivos externos

[STALLINGS 7.2]

procesador periféricocontrolador

solicitud solicitud

reconocimiento reconocimiento

reconocimiento reconocimiento

dato dato

Ejemplo: transferencia de datos de un dispositivo al procesador

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

17

Funciones de un controladorFunciones 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]

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

18

Funciones de un controladorFunciones 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]

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

19

Estructura del temaEstructura 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

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

20

Interconexión con los controladoresInterconexió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]

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

21

Interconexión con los controladoresInterconexió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]

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

22

Estructura de un controlador de E/SEstructura de un controlador de E/S

Registro de datos Almacena los datos que se envían/reciben

[STALLINGS 7.2]

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

23

Estructura de un controlador de E/SEstructura 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]

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

24

Estructura de un controlador de E/SEstructura 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]

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

25

Estructura de un controlador de E/SEstructura de un controlador de E/S

Lógica específica de interfaz con cada dispositivo gestionado

[STALLINGS 7.2]

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

26

Estructura de un periféricoEstructura 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]

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

27

Estructura de un periféricoEstructura 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]

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

28

Interfaz controlador de E/S – periféricoInterfaz 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]

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

29

Estructura del temaEstructura 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

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

30

Técnicas para las operaciones de E/STé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]

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

31

Técnicas para las operaciones de E/STé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]

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

32

Técnicas para las operaciones de E/STé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]

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

33

Técnicas para las operaciones de E/STé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]

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

34

Técnicas para las operaciones de E/STé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]

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

35

Técnicas para las operaciones de E/STécnicas para las operaciones de E/S

[STALLINGS 7.3] [STALLINGS 7.4] [STALLINGS 7.5]

Ejemplo: lectura de datos (transferencia E/S memoria)

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

36

Estructura del temaEstructura 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

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

37

E/S programadaE/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]

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

38

Órdenes de E/SÓ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]

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

39

Direccionamiento de los periféricosDireccionamiento 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]

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

40

E/S asignada en memoriaE/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]

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

41

E/S aislada de memoriaE/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]

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

42

E/S asignada vs. aisladaE/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]

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

43

E/S asignada vs. aisladaE/S asignada vs. aislada

[STALLINGS 7.3]

Ejemplo de programa que realiza una operación de E/S (se asumen direcciones de 10 bits)

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

44

Estructura del temaEstructura 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

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

45

E/S mediante interrupcionesE/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]

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

46

E/S mediante interrupcionesE/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]

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

47

E/S mediante interrupcionesE/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]

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

48

Procesamiento de interrupcionesProcesamiento 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]

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

49

Procesamiento de interrupcionesProcesamiento de interrupciones

[STALLINGS 7.4]

Procedimiento de interrupción simplificado PC = Program Counter PSW = Program Status Word

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

50

Procesamiento de interrupcionesProcesamiento de interrupciones

[STALLINGS 7.4]

El contexto de un programa se almacena en la pila del sistema

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

51

Procesamiento de interrupcionesProcesamiento de interrupciones

Es posible que se produzca una interrupción mientras se está procesando otra

Para tratar con estos casos hay dos alternativas Deshabilitar interrupciones Establecer prioridades

[STALLINGS 7.4] [STALLINGS 3.2]

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

52

Deshabilitar interrupcionesDeshabilitar interrupciones

Mientras se está tratando una interrupción se ignora cualquier interrupción que llegue posteriormente Las interrupciones posteriores quedan pendientes y se

procesarán cuando acabe la actual Las interrupciones son tratadas en un orden estrictamente

secuencial, pero no se tienen en cuenta la prioridad relativa o las operaciones en tiempo crítico

[STALLINGS 7.4]

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

53

Interrupciones con prioridadesInterrupciones con prioridades

Se permite que una interrupción de mayor prioridad interrumpa al gestor de una interrupción de menor prioridad

[STALLINGS 7.4]

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

54

¿Quién interrumpe?¿Quién interrumpe?

La presencia de múltiples controladores implica que es necesario establecer una estrategia para que el procesador sepa quien generó una interrupción

Múltiples líneas de interrupción Se podrían tener varias líneas de interrupción entre el

procesador y los controladores No resulta práctico tener sino unas pocas líneas Incluso si hay varias líneas, tendrán que ser compartidas entre

controladores distintos

[STALLINGS 7.4]

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

55

¿Quién interrumpe?¿Quién interrumpe?

Consulta software (software poll) Cuando se detecta una interrupción se salta a una rutina

general de servicio de interrupción que consulta a cada controlador para determinar el responsable

▫ Activar una señal de control para que el controlador responda

▫ Direccionar el registro de estado de cada controlador

Una vez identificado el controlador se salta a una rutina específica de servicio de interrupción

El principal problema de esta técnica es que consume demasiado tiempo

[STALLINGS 7.4]

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

56

¿Quién interrumpe?¿Quién interrumpe?

Conexión en cadena (daisy chain) Todos los controladores comparte una línea común para

solicitar interrupciones La línea de reconocimiento de interrupciones se conecta

encadenando los controladores uno tras otro▫ Cuando el procesador detecta una interrupción activa el

reconocimiento, que se va propagando hasta el controlador correcto

▫ El controlador responde poniendo en el bus un identificador (vector) que el procesador usa como puntero a la rutina de interrupción

De esta forma se evita ejecutar una rutina de servicio general primero pues la consulta es hardware (hardware poll)

Esta técnica también recibe el nombre de “interrupciones vectorizadas”

[STALLINGS 7.4]

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

57

¿Quién interrumpe?¿Quién interrumpe?

Arbitraje de bus Un controlador debe disponer del bus antes de poder activar

una interrupción Sólo un controlador puede interrumpir en cada momento Cuando el procesador detecta la interrupción responde

activando la línea de reconocimiento, con lo que el controlador coloca su vector en el bus (esta técnica también es vectorizada)

[STALLINGS 7.4]

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

58

¿Quién tiene prioridad?¿Quién tiene prioridad?

Las técnicas anteriores proporcionan una forma de asignar prioridades a las interrupciones Múltiples líneas de interrupción: el procesador elige la línea

que tenga mayor prioridad Consulta software: la prioridad viene determinada por el

orden en el que se consultan los controladores Conexión en cadena: la prioridad viene determinada por el

orden en el que los controladores se conectan en la cadena Arbitraje de bus: la prioridad en la asignación del bus

determina la prioridad de las interrupciones

[STALLINGS 7.4]

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

59

Intel 82C59AIntel 82C59A

El controlador de interrupciones Intel 82C59A es un árbitro de interrupciones externo utilizado con el procesador 80386 El 80386 tiene una única línea de petición de interrupción:

INTR (interrupt request) El 80386 tiene una única línea de reconocimiento de

interrupción: INTA (interrupt acknowledge) La conexión con el 82C59A permite al procesador manejar

cierta variedad de dispositivos y estructuras de prioridad

[STALLINGS 7.4]

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

60

Intel 82C59AIntel 82C59A

Este chip se encarga únicamente de la gestión de interrupciones Acepta solicitudes de los controladores Determina quién tiene la prioridad más alta Activa INTR para indicárselo al procesador El procesador activa INTA para reconocer la solicitud El chip pone el vector apropiado en el bus El procesador inicia el gestor de la interrupción y pasa a

comunicarse directamente con el controlador a partir de ese momento

[STALLINGS 7.4]

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

61

Intel 82C59AIntel 82C59A

Un chip puede manejar hasta 8 controladores

Pueden conectarse varios chips en cascada para manejar hasta 64 controladores

[STALLINGS 7.4]

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

62

Intel 82C59AIntel 82C59A

El 82C59A es programable El procesador determina el esquema de prioridad que se

va a usar cargando una palabra de control en el chip Completamente anidado: las solicitudes de interrupción se

ordenan según el nivel de prioridad (de IR0 a IR7) Rotatorio: hay varios dispositivos con igual prioridad pero,

después de ser atendido, un dispositivo pasa a tener la menor prioridad del grupo

Con máscara especial: se permite que el procesador pueda inhibir selectivamente las interrupciones desde ciertos dispositivos

[STALLINGS 7.4]

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

63

Intel 82C55AIntel 82C55A

Mientras que el 82C59A era un árbitro de interrupciones externo, la interfaz programable de periféricos 82C55A es un verdadero controlador de E/S Es un controlador de propósito general que puede usarse

tanto para E/S programada como para E/S mediante interrupciones

Está integrado en un solo chip con 40 terminales

También se utiliza junto con el procesador 80386

[STALLINGS 7.4]

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

64

Intel 82C55AIntel 82C55A

La interfaz externa se compone de 24 líneas de E/S configurables mediante un registro de control Tres buses de 8 bits

(A, B y C) Dos buses de 8 bits

(A y B) y cuatro bits de señales de control y estado para cada uno (CA y CB)

[STALLINGS 7.4]

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

65

Intel 82C55AIntel 82C55A

La interfaz externa se compone de 24 líneas de E/S configurables mediante un registro de control Cada puerto puede

designarse como de entrada o salida

Las líneas C pueden usarse para sincronización mediante confirmación de señales o para petición de interrupciones

[STALLINGS 7.4]

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

66

Intel 82C55AIntel 82C55A

La interfaz interna se compone de Un bus bidireccional de 8 bits (D) usado para transferir datos

a/desde los puertos de E/S y al registro de control

Dos líneas de dirección (A0,A1) para especificar uno de los puertos de E/S o el registro de control

[STALLINGS 7.4]

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

67

Intel 82C55AIntel 82C55A

La interfaz interna se compone de Una señal RESET para inicializar el controlador Una señal

CHIP SELECT que indicará el comienzo de una transferencia cuando se active junto con la señal READ o la señal WRITE

[STALLINGS 7.4]

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

68

Procesamiento de interrupcionesProcesamiento de interrupciones

[STALLINGS 7.4]

Ejemplo: controlar una terminal con teclado y pantalla

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

69

Estructura del temaEstructura 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

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

70

Controlador de DMAControlador de DMA

El controlador de DMA es un módulo capaz de recibir el control del bus del sistema (cedido por el procesador) para transferir datos a/desde memoria

Dos opciones de funcionamiento: Utilizar el bus sólo

cuando el procesador no lo necesita

Lo más común es forzar al procesador a que suspenda temporalmente el uso del bus (robo de un ciclo de bus)

[STALLINGS 7.5]

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

71

Controlador de DMAControlador de DMA

Cuando el procesador desea leer/escribir un bloque de datos envía una orden al controlador de DMA incluyendo la siguiente información: Indicación de si es lectura

o escritura usando la línea de control apropiada

Dirección del dispositivo de E/S usando las líneas de datos

[STALLINGS 7.5]

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

72

Controlador de DMAControlador de DMA

Cuando el procesador desea leer/escribir un bloque de datos envía una orden al controlador de DMA incluyendo la siguiente información: Posición inicial de memoria

a la que leer/escribir usando las líneas de datos y que será almacenada en el registro de direcciones

Número de palabras a leer/escribir usando las líneas de datos y que será almacenado en el registro de cuenta de datos

[STALLINGS 7.5]

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

73

Controlador de DMAControlador de DMA

El controlador de DMA puede robarle el bus al procesador justo antes de que lo necesite No es una interrupción: el procesador no guarda el contexto,

tan solo espera un ciclo de bus El procesador se

ralentiza, pero para transmitir varias palabras es más eficiente que las otras dos técnicas

Cuando termina la transmisión, el controlador de DMA devuelve el control del bus al procesador

[STALLINGS 7.5]

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

74

Controlador de DMAControlador de DMA

El procesador puede continuar con su trabajo después de enviar la orden al controlador de DMA pues, a todos los efectos, ha delegado en él la operación

El controlador de DMA se encarga de transferir el bloque completo de datos, palabra a palabra, directamente a/desde memoria (sin pasar por el procesador)

Cuando la operación concluye, el controlador envía una interrupción al procesador para comunicárselo

[STALLINGS 7.5]

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

75

Configuración del DMAConfiguración del DMA

La configuración más económica es que todos los controladores compartan el bus del sistema El controlador de DMA actuará como un procesador

suplementario que usa E/S programada para transferir datos entre la memoria y un controlador de E/S

Es ineficiente porque cada dato consumirá dos ciclos de bus (E/S DMA Memoria)

[STALLINGS 7.5]

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

76

Configuración del DMAConfiguración del DMA

Integrar las funciones de DMA y E/S reduciría el número de ciclos de bus necesarios Existe un camino entre el controlador de DMA y uno o varios

controladores de E/S que no pasa por el bus del sistema El controlador de DMA puede ser un módulo separado que

gestiona varios controladores de E/S o parte de uno de ellos Cada dato consumirá un solo ciclo del bus del sistema

(DMA Memoria)

[STALLINGS 7.5]

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

77

Configuración del DMAConfiguración del DMA

Se puede dar un paso más conectando los controladores de E/S a un controlador de DMA usando un bus de E/S El controlador de DMA sólo tiene una interfaz con la E/S,

dando lugar a una configuración fácilmente ampliable De nuevo, cada dato consumirá un solo ciclo del bus

del sistema (DMA Memoria)

[STALLINGS 7.5]

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

78

Intel 8237AIntel 8237A

El controlador de DMA Intel 8237A proporciona la interfaz necesaria para realizar el acceso directo a memoria en computadores basados en procesadores de la familia 80x86

[STALLINGS 7.5]

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

79

Intel 8237AIntel 8237A

El 8237A es un controlador de DMA al vuelo (fly-by DMA) porque los datos no pasan nunca a través del propio controlador y no se almacenan en él Puede controlar transferencias Memoria E/S No puede controlar transferencias E/S E/S Puede controlar transferencias Memoria Memoria

usando un registro temporal

En cualquier caso, mientras el controlador de DMA utiliza los buses, el procesador permanece ocioso (idle)

[STALLINGS 7.5]

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

80

Intel 8237A – Ejemplo de transferenciaIntel 8237A – Ejemplo de transferencia

Por ejemplo, supongamos que el controlador de DMA va a transferir un bloque de datos desde la memoria hasta el disco

1. El controlador de disco solicitará el DMA activando la señal DREQ (DMA Request)

2. El controlador DMA necesita usar los buses para la transferencia (datos, dirección y control), por lo que envía al procesador la señal HRQ (Hold Request); esta señal debe estar activa durante toda la transmisión

3. El procesador terminará el ciclo de bus en el que se encuentre, aunque no necesariamente terminará la ejecución de la instrucción

[STALLINGS 7.5]

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

81

Intel 8237A – Ejemplo de transferenciaIntel 8237A – Ejemplo de transferencia

Por ejemplo, supongamos que el controlador de DMA va a transferir un bloque de datos desde la memoria hasta el disco

4. El procesador responde al controlador de DMA activando la señal de reconocimiento HLDA (Hold Acknowledge) para indicarle que puede usar los buses

5. El controlador de DMA activará la señal DACK (DMA Acknowledge) para indicar al periférico que comienza la transmisión

6. Se realiza la transmisión de datos

7. Una vez finalizado el proceso, el controlador de DMA desactiva la señal HRQ para indicarle al procesador que puede volver a hacer uso de los buses

[STALLINGS 7.5]

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

82

Intel 8237A – Ejemplo de transferenciaIntel 8237A – Ejemplo de transferencia

Cuando la transmisión de datos (paso 6) sea una lectura de memoria, el controlador de DMA realizará las siguientes operaciones: Poner en el bus de direcciones la dirección del primer byte a

leer de memoria Activar MEMR (Memory Read) para obtener el byte de

datos de memoria y ponerlo en el bus de datos Activar IOW (Input/Output Write) para escribir en el

periférico el dato presente en el bus Decrementar el contador de bytes leídos Incrementar el puntero a la posición que debe leerse Repetir el proceso hasta que todos los datos se hayan leído

[STALLINGS 7.5]

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

83

Intel 8237A – Ejemplo de transferenciaIntel 8237A – Ejemplo de transferencia

Cuando la transmisión de datos (paso 6) sea una escritura en memoria, el controlador de DMA realizará las siguientes operaciónes: Poner en el bus de direcciones la dirección de la primera

posición de memoria a escribir Activar IOR (Input/Output Read) para obtener un byte de

datos del periférico y ponerlo en el bus de datos Activar MEMW (Memory Write) para escribir en memoria

el dato presente en el bus Decrementar el contador de bytes escritos Incrementar el puntero a la posición en que se debe escribir Repetir el proceso hasta que todos los datos se hayan escrito

[STALLINGS 7.5]

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

84

Intel 8237A – Canales de DMA Intel 8237A – Canales de DMA

El 8237A tiene cuatro canales (0, 1, 2 y 3) Cada canal se puede programar independientemente Cualquiera canal puede estar activo en un momento dado,

incluso varios (o todos) de forma simultánea

El 8237A dispone de ocho registros de datos que utiliza para indicar la posición y el tamaño de la zona de memoria afectada por una transferencia Un registro de dirección de memoria por cada canal Un registro contador por cada canal

[STALLINGS 7.5]

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

85

Intel 8237A – Canales de DMA Intel 8237A – Canales de DMA

El 8237A dispone de cinco registros de control que se utilizan para programar y controlar la operación DMA de cada uno de los cuatro canales Orden (command) Estado (status) Modo (mode) Máscara simple (single mask) Máscara completa (all mask)

[STALLINGS 7.5]

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

86

Intel 8237A – Registros de Control Intel 8237A – Registros de Control

[STALLINGS 7.5]

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

87

Intel 8237A – Registros de Control Intel 8237A – Registros de Control

Orden (command): el procesador carga este registro para controlar la operación de DMA D0 habilita una transferencia Memoria Memoria que

usa el canal 0 para leer un byte en un registro temporal y el canal 1 para transferirlo de nuevo a memoria

D1 permite deshabilitar el incremento/decremento en el canal 0 para forzar la transmisión de un valor fijo

D2 habilita/deshabilita las operaciones de DMA D3 reduce el periodo de bus D4 elige entre prioridad fija y prioridad máxima rotatoria D5 define el comportamiento de la señal MEMW D6 y D7 define cuando DREQ y DACK están activas (0 ó 1)

[STALLINGS 7.5]

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

88

Intel 8237A – Registros de Control Intel 8237A – Registros de Control

Estado (status): el procesador lee este registro para determinar el estado del controlador de DMA D0 – D3: indican si los canales 0 – 3 han alcanzado el valor

final de la cuenta D4 – D7: indican si hay una petición de DMA pendiente en

los canales 0 – 3

[STALLINGS 7.5]

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

89

Intel 8237A – Registros de Control Intel 8237A – Registros de Control

Modo (mode): el procesador carga este registro para establecer el modo de operación de un canal D0,D1: selecciona el canal D2 – D7: establece el modo de operación del canal elegido

▫ D2,D3: indican si la transferencia es E/S Memoria (escritura) o Memoria E/S (lectura)

▫ D4: vuelve a cargar el registro de dirección de memoria y el registro contador a los valores iniciales una vez que termina la transferencia

▫ D5: indica si durante la transferencia hay que incrementar o decrementar las direcciones

▫ D6,D7: determina el modo de utilización del 8237A▪ Simple: se transfiere un único bit de datos

▪ Bloque/Demanda: transfiere bloques (demanda = finalización prematura)

▪ Modo cascada: permite encadenar varios para tener más de cuatro canales

[STALLINGS 7.5]

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

90

Intel 8237A – Registros de Control Intel 8237A – Registros de Control

Máscara simple (single mask): el procesador modifica este registro para deshabilitar un canal determinado enmascarando la entrada DREQ D0,D1: selecciona el canal D2: activa o desactiva el bit de máscara correspondiente al

canal seleccionado

Máscara completa (all mask): es similar al anterior pero permite habilitar/deshabilitar todos los canales en una sola operación

[STALLINGS 7.5]

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

91

Estructura del temaEstructura 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

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

92

Evolución de la Entrada/SalidaEvolución de la Entrada/Salida

A medida que los computadores evolucionaban, la entrada/salida ha evolucionado con ellos

1. El procesador controlaba directamente los periféricos

2. Aparece el controlador de E/S y el procesador se independiza de los detalles específicos de la de la interfaz de los periféricos; las operaciones se gestionan por medio de E/S programada

3. Surge el concepto de interrupción; el procesador ya no tiene que esperar por las operaciones de E/S, aumentando su eficiencia

4. Aparece el DMA; el procesador ya sólo necesita involucrarse al comienzo y al final de las operaciones

[STALLINGS 7.6]

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

93

Evolución de la Entrada/SalidaEvolución de la Entrada/Salida

A medida que los computadores evolucionaban, la entrada/salida ha evolucionado con ellos

5. Canales de E/S: los controladores mejoran tanto que se comportan como pequeños procesadores con su propio repertorio de instrucciones especializado

El procesador especifica al canal una secuencia de actividades, indicándole que ejecute su propio programa desde memoria, y se desentiende hasta que la secuencia termine y reciba una interrupción

6. Procesadores de E/S: el canal de E/S tiene memoria propia puede controlar un conjunto grande de dispositivos de E/S con una intervención mínima por parte del procesador

[STALLINGS 7.6]

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

94

Canales de Entrada/SalidaCanales de Entrada/Salida

[STALLINGS 7.6]

En general, esta evolución se caracteriza por que cada vez más funciones se realizan sin intervención del procesador, mejorando con ello su rendimiento

Los canales y procesadores de E/S son un cambio importante en el concepto de controlador de E/S Amplían el concepto de DMA con la capacidad de

ejecutar programas de E/S La capacidad de ejecutar instrucciones de E/S les

proporciona completo control sobre las operaciones de E/S Tanto el término canal como el término procesador se

pueden utilizar indistintamente, pero usaremos “canal de E/S” para generalizar y evitar confusiones

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

95

Canales de Entrada/SalidaCanales de Entrada/Salida

[STALLINGS 7.6]

El procesador no ejecuta instrucciones de E/S Se almacenan en memoria como programas independientes Al principio de una transferencia, el procesador indica al

canal de E/S qué programa debe ejecutar El programa de entrada salida determina

▫ Dispositivo/s a utilizar

▫ Área/s de memoria

▫ Prioridades

▫ Acciones a realizar en caso de error

▫ …

El canal de E/S sigue estas instrucciones y controla la transferencia

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

96

Canales de Entrada/SalidaCanales de Entrada/Salida

[STALLINGS 7.6]

En general, se pueden distinguir dos tipos de canales de E/S: selectores y multiplexores Un canal selector se usa en lugar del procesador para

gestionar los controladores▫ Controla varios dispositivos de velocidad elevada

▫ Cada dispositivo (o grupo de ellos) es gestionado por un controlador

▫ En un momento dado, el canal de E/S selecciona un dispositivo y efectúa una transferencia

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

97

Canales de Entrada/SalidaCanales de Entrada/Salida

[STALLINGS 7.6]

En general, se pueden distinguir dos tipos de canales de E/S: selectores y multiplexores Un canal multiplexor puede gestionar la E/S de varios

dispositivos al mismo tiempo▫ Los datos enviados por varios

dispositivos son entrelazados y transmitidos tan rápidamente como sea posible

▫ Dispositivos de velocidad reducida: entrelazado a nivel de bytes

▫ Dispositivos de velocidad elevada: entrelazado a nivel de bloques

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

98

BibliografíaBibliografía

[PATTERSON]Estructura y diseño de computadoresinterficie circuitería/programación

David A. Patterson y John L. HennessyEditorial Reverté, 2000

[STALLINGS]Organización y arquitectura de computadores

William StallingsPearson Education – Prentice Hall, 2005 (7ª edición)