¡Descarga Temario OAC y más Apuntes en PDF de Ingeniería del Software solo en Docsity!
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Tema 10:
Técnicas de gestión de E/S
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
José Luis Bosque Orero
Luis Rincón CórcolesLuis Rincón Córcoles
Óscar David Robles Sánchez
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Contenidos
- Interfaz de los dispositivos de E/S con el sistema
E/SE/S mediantedi t sondeod (( pollinglli )) E/S mediante interrupciones E/S mediante acceso directo a memoria (DMA) CComparativa i dd e técnicasé i dd e E/SE/S : ejemploj l dd e llectura Procesadores de E/S
- Diseño de un sistema de E/S
- Ejemplos reales de sistemas de E/S
- Conclusiones
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Bibliografía
- D.A. PATTERSON, J.L. HENNESSY. Estructura y Diseño de Computadores. Reverté, 2000.
- D.A. PATTERSON, J.L. HENNESSY. Computer Organization andD.A. PATTERSON, J.L. HENNESSY. Computer Organization and Design. Morgan Kauffman, 2005 (tercera edición).
- DORMIDO, S. CANTO M.A., MIRA J., DELGADO A.E. Estructura yy Tecnologíag de Computadores.p 2ª edición. Sanz yy Torres,,
- J.L. HENNESSY, D.A. PATTERSON. Computer Architecture. Morgan Kauffman, 2003.
- P. DE MIGUEL. Fundamentos de los Computadores. 7ª edición. Paraninfo, 1999.
- W. STALLINGS. Organizacióng yy Arquitecturaq de Computadores. 5ª edición, Prentice Hall, 2000.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Interfaz dispositivos E/S ‐ sistema
El protocolo del bus define cómo se transmite información a través de los hilos.
Para transferir datos entre los programas y los dispositivos de E/S hace falta realizar otras
tareas adicionales.
Vamos a ver:
- Cómo se transforma una petición de E/S de un programa de usuario en una instrucción de dispositivo.
- Cómo se transfiere la instrucción al dispositivo.
- Cómo se transfieren los datos desde o hacia la memoria.
- Cuál es el papel del sistema operativo (SO).
Características de los sistemas de E/S:
- Son compartidos por múltiples programas que usan el procesador.
- Usan interrupciones para comunicar información de las operaciones de E/S.
- El control de bajo nivel de un dispositivo es bastante complejo. MM anejoj dde sucesos concurrentes. Requerimientos de control del dispositivo muy detallados.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Espacio de direcciones propio para E/S
Existe un mapa de direcciones independiente para acceder a los dispositivos de E/S.
Para acceder a los dispositivos se emplean instrucciones específicas de E/S.
- Entrada: IN,, INPUT.
- Salida: OUT, OUTPUT.
La instrucción de E/S especifica la dirección del dispositivo y una palabra de información
qque se escribirá en el registrog correspondiente.p
Suele haber líneas de direcciones y datos independientes (no multiplexadas).
Ejemplo:jemplo: procesadores 80x86 y Pentium. procesadores 80x86 y Pentium.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Interfaz dispositivos E/S – sistema: E/S mapeada en memoria
Existe un único mapa de direcciones compartido por la memoria y por la E/S.
Los dispositivos tienen direcciones indistinguibles a priori de las direcciones de memoria.
Para acceder a los dispositivos sirven las instrucciones de acceso a memoria.
- Entrada: instrucciones de carga lw , lh , lb.
- Salida: instrucciones de almacenamiento sw , sh , sb.
Si la dirección especificada en una instrucción de carga o almacenamiento no
corresponde con ninguna palabra de memoria:
- El sistema de memoria ignora la operación.
- El controlador del dispositivop recogeg la operaciónp yy la realiza.
- Las direcciones de E/S están protegidas por el mecanismo de protección de memoria.
Ejemplo: MIPS, Motorola M68000.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
E/S mediante sondeo o encuesta ( polling )
Es el método de E/S más sencillo.
El dispositivo pone la información en los registros del controlador, y el procesador debe
estar ppendiente de recogerla.g
El procesador tiene todo el control y hace todo el trabajo.
El pprocesador debe adaptarp su velocidad al dispositivo:p
- Como el dispositivo será más lento, el procesador debe entrar en un bucle en el que consulta el estado del periférico hasta que éste se encuentra disponible.
Inconvenientes:
- La UCP emplea mucho tiempo esperando a que el periférico esté listo.
- En este tiempo no se realiza trabajo útil.
- No es fácil atender a varios periféricos simultáneamente.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES l d
Interfaz dispositivos E/S – sistema: E/S mediante sondeo o encuesta ( polling )
UCP Controlador
1. Leer registro de estado del
controlador
2. Enviar estado
3. Comprobar estado.
Si no preparado, ir a paso 1
5. Aceptar dato y poner estado a “No
4. Escribir dato en el registro de datos del
controlador p^ y p
preparado”
controlador
6. Esperar a que el dato se escriba en el
dispositivo
8. Si hay más datos para enviar, ir a
paso 1
7. Poner estado a “Preparado”
PROBLEMAS
Pérdida de tiempo (espera activa)
Lentitud
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
E/S por interrupciones
Una interrupción es un suceso asíncrono que se produce como consecuencia de un
evento externo, que hay que tratar inmediatamente.
Cuando un periférico está listo para comunicarse con la UCP genera una petición deCuando un periférico está listo para comunicarse con la UCP, genera una petición de
interrupción.
- Las interrupciones de E/S se utilizan para que el procesador sepa que un dispositivo necesita atención.
- El periférico avisa a la UCP cuando está listo para la transferenciaEl periférico avisa a la UCP cuando está listo para la transferencia.
- No existe ningún tipo de bucle de espera.
Al generar una petición de interrupción se debe proporcionar información adicional para
que la UCP pueda identificar el dispositivoque la UCP pueda identificar el dispositivo.
- Interrupciones vectorizadas.
- Registro de causa.
Las interrupcionesp llevan asociado un esquemaq de pprioridades.
- Si un dispositivo es muy prioritario, se le atiende rápidamente.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Interfaz dispositivos E/S – sistema: E/S por interrupciones
La UCP no acepta interrupciones en mitad de la ejecución de una instrucción.
- La UCP comprueba el registro de estado al terminar de ejecutar cada instrucción.
- Si las interrupciones están permitidas, la UCP comprueba si hay alguna interrupción ppendiente de ser atendida con pprioridad suficiente.
- En caso afirmativo, se procede al tratamiento de la interrupción.
La rutina de tratamiento de interrupción (RTI) se encarga de atender al periférico que
interrumpió y realizar la operación de E/Sinterrumpió y realizar la operación de E/S.
- Las RTI son parte del sistema operativo, y se ejecutan en modo protegido.
Cuando la UCP acepta una petición de interrupción:
- Salta a modo de ejecución protegido ( kernel ).
- Interrumpir la ejecución del proceso actual.
- Guardar el contexto del proceso actual.
- Inhibir las interrupciones.
- Cargar en el PC la dirección de comienzo de la RTI.
- Ejecutar la RTI.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
E/S por interrupciones
Pasos de la RTI:
1 1. Informar I f d ldel reconocimientoi i t dd e ll a i tinterrupción. ió
- Desactivar la señal de petición de interrupción.
- Salvaguardar todos los registros del procesador utilizados por la RTI .3. Salvaguardar todos los registros del procesador utilizados por la RTI.
- Realizar la operación de E/S con el periférico.
- Restaurar los registros salvaguardados previamente.
- Ejecutar la instrucción de retorno de interrupción para reanudar la
ejecución del proceso en el punto en el que se interrumpió.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Interfaz dispositivos E/S – sistema: E/S por interrupciones
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
E/S por interrupciones
La UCP no acepta interrupciones en mitad de la ejecución de una instrucción.
- La UCP comprueba su registro de estado al terminar de ejecutar cada instrucción.
- Si las interrupciones están permitidas, la UCP comprueba si hay alguna interrupción ppendiente de ser atendida con pprioridad suficiente.
- En caso afirmativo, se procede al tratamiento de la interrupción.
La rutina de tratamiento de interrupción (RTI) se encarga de atender al periférico que
interrumpió y realizar la operación de E/Sinterrumpió y realizar la operación de E/S.
- Las RTI son parte del sistema operativo, y se ejecutan en modo protegido.
Cuando la UCP acepta una petición de interrupción realiza las acciones siguientes:
- Saltar a modo de ejecución protegido ( kernel ).
- Interrumpir la ejecución del proceso actual.
- Guardar el contexto del proceso actual.
- Inhibir las interrupciones.
- Cargar en el PC la dirección de comienzo de la RTI.
- Ejecutar la RTI.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Interfaz dispositivos E/S – sistema: E/S por interrupciones
15 8 5 4 3 2 1 0
Interrupt mas k (^) O ld P i C t
- Interrupt mask : máscara de habilitación de interrupciones.
mas k (^) O ld P revious C urrent
Cinco niveles de interrupción hardware , tres niveles software.
- Kernel / user interrupt enable : Kernel/user : si 1, al llegar la interrupción el procesador estaba en modo usuario, si es 0 estaba en modo kernel (núcleo).( ) Interrupt enable : si 1 se permiten interrupciones, si 0 no se permiten.
•Cuando hay una interrupción:
Los 6 bits se desplazan 2 lugares hacia la izquierda. Los bits actuales se ponen ambos a 0.
•Este registro contiene bits para indicar el modo de ejecución (usuario, núcleo,
supervisor, depuración).
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
E/S por interrupciones
Si hay dos interrupciones simultáneas, no pueden atenderse ambas a la vez.
Es preciso establecer un esquema de prioridades para resolver conflictos.
El procesador puede mantener el nivel de prioridad activo en cada momento.
Los periféricos se pueden conectar a un controlador de interrupciones
programable (PIC: Programmable Interrupt Controller).
El PICEl PIC se programa para asignari a cadad didi spositivoi i una prioridad.i id d
Ante solicitudes simultáneas el PIC selecciona el nivel de mayor prioridad para
enviárselo a la UCP.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Interfaz dispositivos E/S – sistema:
E/S por interrupciones
INTR
P I C
Lógica de Prioridades
UCP IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ
Lógica de Prioridades
INTA
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
E/S por interrupciones
Si el procesador está atendiendo una interrupción X y se produce otra más prioritaria Y, se
atiende la nueva interrupción dejando la anterior pendiente (anidamiento de interrupciones).
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Interfaz dispositivos E/S – sistema: E/S por interrupciones
Si el procesador está atendiendo una interrupción X y se produce otra menos prioritaria Y,
ésta se deja pendiente y se atiende después (proceso secuencial de interrupciones).
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
E/S por interrupciones
- Extraer instrucción
- Actualizar PC
- Decodificar instrucción
- Ejecutar instrucción ACEPTACIÓN DE LA INTERRUPCIÓN
¿ EI = 1?
no
sí
no ¿ NMI?
INTERRUPCIÓN
INTR sí ¿Activada?
sí
no
sí
Tratamiento de interrupción
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
l d d d h / b
Interfaz dispositivos E/S – sistema: Sobrecarga de la E/S por interrupciones
Dar el porcentaje de tiempo de UCP consumido en hacer E/S por interrupciones sobre un
disco duro.
- Sobrecarga por cada transferencia: 500 ciclos.
- Frecuencia de reloj de la UCP: 500 MHz.
- DiDisco dd uro ocupadod ell 5% d l i 5% del tiempo.
- Se transfieren datos en bloques de 4 palabras de 32 bits cada una
- Puede transferir datos a una velocidad de 4 MB/seg.
- • Ritmo al que llegan los bloques si el disco está siempre ocupado:Ritmo al que llegan los bloques si el disco está siempre ocupado: 4 MB/seg / 16 bytes por transferencia = 250K encuestas por segundo.
- La frecuencia de interrupciones será 250 K encuestas por segundo si el disco está siempre ocupado.ocupado.
- Ciclos por segundo para encuesta: 250K * 500 = 125M
- Proporción de ciclos de procesador gastados en la transferencia 125M / 500M = 25%
- Si el disco está ocupado el 5% del tiempo: 25% * 5% = 1,25%
La mejora sobre la encuesta es notable.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
E/S por acceso directo a memoria (DMA)
En un computador pueden coexistir varios controladores de DMA.
Un controlador de DMA suele ser un circuito específico no programable.
- Suelen contar con capacidadp de memoria ppara adaptarsep a los retardos de las transferencias o a retrasos en la concesión del bus.
Con DMA el procesador consume menos ciclos en las operaciones de E/S.
Si el bus está ocupado por una operación de DMA y el procesador quiere acceder al
mismo, tendrá que esperar.
Modos de realización del DMA:
- Con parada del procesador.
- Con robo de ciclo.
- Con bus compartido.
- Con memoria multipuerta.
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Interfaz dispositivos E/S – sistema: E/S por acceso directo a memoria (DMA)
Durante la transferencia de datos se bloquea la UCP.
Instr 1 Instr 2 Instr 3
Ejecución sin DMA
Instr. 1 Instr. 2 Instr. 3 Instr 4 Instr 5
Ejecución con Parada de la UCP
Instr. 4 Instr. 5
Instr. 1 Instr. 2 Instr. 3 Instr. 4
DMA DMA DMA
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
E/S por acceso directo a memoria (DMA)
La UCP continúa con su trabajo, pero de vez en cuando cede al controlador de DMA el
control del bus.
Tanto el controlador de DMA como la UCP ven ligeramente ralentizado su rendimiento.Tanto el controlador de DMA como la UCP ven ligeramente ralentizado su rendimiento.
Interferencias UCP ‐ controlador DMA: ciclos robados.
Instr. 1 Instr. 2 Instr. 3 Instr. 4
DMADMA DMADMA DMADMA
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Interfaz dispositivos E/S – sistema: E/S por acceso directo a memoria (DMA)
DMA con bus compartido:
- La UCP cede al controlador de DMA los ciclos en que no va a utilizar el bus.
- La UCP no se ve penalizada por las operaciones de E/S.
Instr. 1
DMA
Instr. 2
DMA
Instr. 3
DMA DMA
Instr. 4
DMA
DMA con memoria multipuerta:
- Una puerta estará reservada para la UCP, y las demás para controladores de dispositivo y DMADMA.
- Los dispositivos y la UCP no se interfieren, puesto que acceden a la memoria por distintas puertas (salvo que los accesos sean a posiciones solapadas).
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Comparativa de técnicas de E/S
Comando Lectura a controlador E/S
UCP E/S
Ejemplo de lectura: encuesta
Leer estado del controlador E/S
E/S UCP
No Preparado
Leer palabra del controlador E/S
Preparado E/S UCP
Comprobar estado
Escribir palabra en memoria
¿ Fi l t?
Error UCP^ ^ Mem.
¿ Fin lect.?
Si Siguiente instrucción
No
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Comparativa de técnicas de E/S
Comando Lectura a controlador E/S
UCP E/S
Hacer otra cosa
Ejemplo de lectura:
interrupciones
Leer estado del controlador E/S E/S UCP
Interrupción
Leer palabra del controlador E/S
Preparado Comprobar E/S UCP estado
Escribir palabra Error (^) en memoria UCP Mem.
Si Siguiente instrucción
No
¿ Fin lect.?
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Comparativa de técnicas de E/S
Ejemplo de lectura: DMA
Comando Leer Bloque a controlador DMA
UCP DMA Hacer otra cosa
DMA UCP
Interrupción Leer estado del controlador DMA (^) DMA UCP
Siguiente instrucción
controlador DMA
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Comparativa de técnicas de E/S
Para reducir aún más la participación de la UCP en las operaciones de E/S se puede dotar
de más inteligencia a los controladores de E/S: procesadores de E/S o controladores de canal.
Un procesador de E/S es un procesador especializado que ejecuta un programa de E/S.
- El programa de E/S es una secuencia de instrucciones que realiza una operación de E/S.
- El programa de E/S reside en una memoria privada del procesador de E/S o en memoria principal de donde el procesador de E/S lo leeprincipal, de donde el procesador de E/S lo lee.
Cuando se realiza una operación de E/S, el SO establece un programa de E/S que indica las
operaciones que hay que realizar y los tamaños y las direcciones de las transferencias.
- El procesador de E/S toma las operaciones del programa e interrumpe a la UCP cuando haEl procesador de E/S toma las operaciones del programa e interrumpe a la UCP cuando ha terminado.
Los procesadores de E/S suelen ser microprocesadores de propósito general que ejecutan
un programa de E/S especializado.un programa de E/S especializado.