unidad de entrada-salida -...

26
UNIDAD DE ENTRADA-SALIDA ENTRADA-SALIDA 1

Upload: dangdieu

Post on 29-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

UNIDAD DE ENTRADA-SALIDA

UNIDAD DE ENTRADA-SALIDA

1

� La E/S se puede realizar mediante una gran variedad de dispositivos externos que proporcionan diferentes formas de intercambiar datos entre el mundo exterior y el ordenador.

� Los periféricos se pueden clasificar en 4 categorías:� Adaptados al usuario (pantallas, impresoras,..)� Adaptados a la máquina (unidades disco, cinta,…)� De comunicación� De interacción con el medio externo

� Los datosdatosdatosdatos son el conjunto de bits que se envían o reciben.

� Las señales de controlseñales de controlseñales de controlseñales de control determinan la función a realizar con el dispositivo:� Leer dato� Escribir� Funciones de control del dispositivo (por ejemplo posicionar cabezal al principio).

� Las señales de estadoseñales de estadoseñales de estadoseñales de estado nos dicen como se encuentra el dispositivo.

� La lógica de controllógica de controllógica de controllógica de control gobierna su funcionamiento en respuesta a las ordenes enviadas por el controlador de E/S.

2

� FuncionesFuncionesFuncionesFunciones� Control y temporización � coordina el intercambio de información entre los

recursos internos y los dispositivos externos.� Comunicación con la CPU.� Comunicación con el dispositivo externo.� Almacenamiento temporal de datos� fundamental dada las diferentes

velocidades de transferencias de datos.� Detección de errores.

� Si se emplea un bus cada interacción entre CPU y Controlador de E/S requerirá uno o más arbitrajes para conseguir el acceso al bus.

� La comunicación con la CPU requiere:� Decodificación de la orden (que recibe el Controlador E/S de la CPU)� Datos � Intercambio mediante el bus de datos.� Información sobre el estado� Reconocimiento de la dirección

3

� Controlador E/S se conecta con el resto del computador a través del bus de sistema.

� Los datos que se transmiten se almacenan temporalmente es uno o más registro de datos.

� Habrá un registro de estado que nos indique el estado actual (preparado, ocupado,..)

� La lógica del modulo interactúa con el computador a través de las líneas de control.

� Debe ser capaz de recoger y generar las direcciones asociadas a los dispositivos que controla.

� Cada controlador tiene su dirección (o conjunto de ellas si controla a varios dispositivos).

4

� La CPU además de con la unidad E/S también lo hace con la memoria. Opciones de buses:

◦ Usar dos buses independientes, uno para memoria y otro para sistema E/S � Caso de computadores con procesador de E/S (PE/S)procesador de E/S (PE/S)

◦ Utilizar un bus común pero con líneas de control independientes.

◦ Utilizar un único bus con líneas de control también comunes.

5

� Es la CPU la que:

◦ Ejecuta un programa que tiene el control directo de la operación E/S

◦ Incluye la comprobación del dispositivo, envío orden R/W y transferencia del dato.transferencia del dato.

◦ La CPU debe esperar a que termine operación E/S si es más rápida que el controlador E/S la CPU desperdicia ciclos.

◦ Es responsabilidad de la CPU comprobar periódicamente el estado del controlador de E/S para ver si la operación ha finalizado.

6

� La CPU envía una orden y la dirección del periférico. Los tipos de orden que puede enviar son:

� Ordenes de control: activa un periférico y le dice que hacer (rebobinar cinta).

� Ordenes de comprobación� Ordenes de lectura� Ordenes de escritura� Ordenes de escritura

� Después de transferir el dato la CPU permanece en bucle de espera hasta que el periférico está preparado para la siguiente transferencia.

� Desventaja: El computador no realiza ningún trabajo Desventaja: El computador no realiza ningún trabajo Desventaja: El computador no realiza ningún trabajo Desventaja: El computador no realiza ningún trabajo útil durante el bucle de espera.útil durante el bucle de espera.útil durante el bucle de espera.útil durante el bucle de espera.

7

� Correspondencia muy estrecha entre las órdenes que recibe la CPU de la memoria y las que esta envía la controlador de E/S.

� La orden que emite la CPU al controlador contiene la dirección del periférico deseado.

� Cuando la CPU, la memoria y la unidad E/S comparten bus, tenemos dos formas de hacer el direccionamiento:

� E/S localizada en memoriaE/S localizada en memoriaE/S localizada en memoriaE/S localizada en memoria: Único espacio de direcciones para memoria y dispositivos de E/S. Trata a los dispositivos como posiciones de memoria.

� E/S aisladaE/S aisladaE/S aisladaE/S aislada: Bus de control dispone de líneas específicas para acceder a los periféricos, esa línea de control indica si la dirección se refiere a una posición de memoria o a un periférico.

8

� Pérdida de tiempo en el bucle de espera.

� Si existen programas que se tienen que ejecutar periódicamente no se puede permanecer en el bucle de espera permanecer en el bucle de espera indefinidamente.

� Hay problemas cuando se quiere atender a varios periféricos.

9

� Su idea básica es eliminar el bucle de espera.

� La CPU envía una orden de E/S al periférico y prosigue con sus tareas.

� Cuando el periférico está preparado para intercambiar información fuerza una interrupción de la tarea que estaba realizando la CPU.

� En ese momento la CPU realiza la transferencia.

� A continuación sigue con el programa que estaba ejecutando.

� La petición del periférico se hace activando la línea de petición de interrupción PI.

� La CPU puede desactivar las interrupciones cuando no está en disposición de atenderlas.

10

1. Activar el sistema de interrupciones en la CPU

2. Periférico activa PI=1 cuando está preparado para transferir.

3. CPU suspende ejecución del programa en curso guardando PC y registro en uso.

4. CPU inhibe interrupciones (enmascara) y comienza a ejecutar el programa de servicio de la interrupción.

4. CPU inhibe interrupciones (enmascara) y comienza a ejecutar el programa de servicio de la interrupción.

5. Se informa al periférico que se ha reconocido interrupción (RI=1) y entonces este desactiva PI (PI=0).

6. Una vez finalizado, se habilita de nuevo las interrupciones.

7. CPU continúa con la ejecución del programa que se había interrumpido.

11

� Clasificación de las interrupciones:Clasificación de las interrupciones:Clasificación de las interrupciones:Clasificación de las interrupciones:� Problema se complica cuando hay varios dispositivos que pueden solicitar

una interrupción. ¿Cuándo atendemos a cada interrupción?

� Lo normal es que la CPU consulte al final de cada instrucción si hay interrupciones pendientes de atender.

� Origen de las interrupcionesOrigen de las interrupcionesOrigen de las interrupcionesOrigen de las interrupciones� Interrupciones externasInterrupciones externasInterrupciones externasInterrupciones externas: originadas por causas ajenas a la CPU� Interrupciones externasInterrupciones externasInterrupciones externasInterrupciones externas: originadas por causas ajenas a la CPU

� Interrupciones internasInterrupciones internasInterrupciones internasInterrupciones internas: como consecuencia de alguna circunstancia interna de la CPU, suelen indicar algún tipo de problema.

� Número de líneas de interrupciónNúmero de líneas de interrupciónNúmero de líneas de interrupciónNúmero de líneas de interrupción� Forma más fácil de identificar quien solicita la interrupción es tener varias

líneas de interrupción, una para cada periférico.

� Esto es poco práctico y lo normal es que el número de líneas de interrupción sea menor que el número de periféricos.

12

� La CPU puede activar o desactivar las interrupciones (enmascaramiento). Tiene dos posibilidades:

� Enmascaramiento individualEnmascaramiento individualEnmascaramiento individualEnmascaramiento individual: cala línea de PI controlada por una puerta AND de dos entradas, PI y el bit de mascara.

� Enmascaramiento por nivelEnmascaramiento por nivelEnmascaramiento por nivelEnmascaramiento por nivel: Cada petición de interrupción se le otorga una prioridad. La CPU establece un nivel y las interrupciones con prioridad superior seguirán siendo atendidas, las inferiores no.con prioridad superior seguirán siendo atendidas, las inferiores no.

13

� Una vez recibe PI la CPU pregunta a cada controlador de E/S para ver cuál es el que ha originado la petición.

� Desventaja: tiempo que se pierde en esa � Desventaja: tiempo que se pierde en esa encuesta.

� Ventaja: garantiza que se gestiona la prioridad, se pregunta primero al más prioritario.

14

� Daisy Chaining. Prioridad implícita.

� El periférico que ha provocado la interrupción cuando reciba 1 en pe dejara ps=0 y enviará su dirección al bus de dirección dinti.

15

� Se utiliza un registro de interrupción cuyos bits son las distintas peticiones de interrupción.

� Se pueden incluir un registro de máscara.

16

� Hasta ahora la CPU solo ha podido atender a una interrupción, cuando acaba con esta pude empezar con la siguiente.

� Cuando existen otros periféricos que pueden interrumpir a la CPU es preciso que el sistema disponga de una estructura de interrupciones multinivel.

� Cuando una interrupción puede interrumpir el programa de � Cuando una interrupción puede interrumpir el programa de servició de otra interrupción se dice que se anidananidananidananidan.

� Se asignan niveles de prioridad y solo una interrupción de mayor prioridad puede interrumpir a otra.

� Conveniente asignar a la CPU un nivel de prioridad que se pueda modificar por programa (que será el nivel de prioridad del programa en ejecución), solo interrupciones de nivel superior podrán interrumpir.

17

� Se encarga de la gestión de interrupciones.� Permite ampliar el número de líneas de interrupción.� Funciones:

� Identificar la fuente de interrupción.� Establecer la prioridad de cada periférico.� Activar o desactivar de forma selectiva las peticiones de

interrupción que recibe.Enviar a la CPU la petición de interrupción y que periférico debe ser � Enviar a la CPU la petición de interrupción y que periférico debe ser atendido.

18

� Un procesador dispone de ocho líneas de interrupción (numeradas del 0 al 7) y una política en la que las interrupciones con un número bajo tienen mayor prioridad sobre aquellas de número más alto. El procesador comienza sin interrupciones pendientes y se produce la siguiente secuencia de interrupciones: 4, 7, 1, 3, 0, 5, 6, 4, 2, 1. Suponga que la gestión de una interrupción tarda el tiempo Suponga que la gestión de una interrupción tarda el tiempo suficiente para que se produzcan dos nuevas interrupciones y que las interrupciones no se pueden interrumpir entre sí. El orden en que se gestionan las interrupciones es:

A) 4 1 0 3 2 1 4 5 6 7 B) 4 7 1 3 0 5 6 4 2 1 C) 0 1 1 2 3 4 4 5 6 7 D) Todas las afirmaciones anteriores son falsas.

19

20

21

22

23

24

25

26