unidad de entrada-salida -...
TRANSCRIPT
� 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