Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Temario OAC, Apuntes de Ingeniería del Software

Asignatura: Organizacion y Arquitectura de Computadores, Profesor: Oscar Oscar, Carrera: Ingeniería del Software, Universidad: URJC

Tipo: Apuntes

2012/2013

Subido el 12/10/2013

blueeyes3334
blueeyes3334 🇪🇸

3.9

(40)

24 documentos

1 / 23

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Tema10:
cnicasdegestióndeE/S
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
JoséLuisBosqueOrero
Luis Rincón
Córcoles
Luis
Rincón
Córcoles
ÓscarDavidRoblesSánchez
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES
Contenidos
InterfazdelosdispositivosdeE/Sconelsistema
E/S di t d (
lli
)
E/S
me
di
an
t
eson
d
eo
(
p
o
lli
ng
)
E/Smedianteinterrupciones
E/Smedianteaccesodirectoamemoria(DMA)
Cidéi dE/S jld l
C
omparat
i
va
d
et
é
cn
i
cas
d
e
E/S
:e
j
emp
l
o
d
e
l
ectura
ProcesadoresdeE/S
DiseñodeunsistemadeE/S
EjemplosrealesdesistemasdeE/S
Conclusiones
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Vista previa parcial del texto

¡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:

  1. Salta a modo de ejecución protegido ( kernel ).
  2. Interrumpir la ejecución del proceso actual.
  3. Guardar el contexto del proceso actual.
  4. Inhibir las interrupciones.
  5. Cargar en el PC la dirección de comienzo de la RTI.
  6. 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ó

  1. Desactivar la señal de petición de interrupción.
  2. Salvaguardar todos los registros del procesador utilizados por la RTI .3. Salvaguardar todos los registros del procesador utilizados por la RTI.
  3. Realizar la operación de E/S con el periférico.
  4. Restaurar los registros salvaguardados previamente.
  5. 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:

  1. Saltar a modo de ejecución protegido ( kernel ).
  2. Interrumpir la ejecución del proceso actual.
  3. Guardar el contexto del proceso actual.
  4. Inhibir las interrupciones.
  5. Cargar en el PC la dirección de comienzo de la RTI.
  6. 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

  1. Extraer instrucción
  2. Actualizar PC
  3. Decodificar instrucción
  4. Ejecutar instrucción ACEPTACIÓN DE LA INTERRUPCIÓN

¿ EI = 1?

no

no ¿ NMI?

INTERRUPCIÓN

INTR sí ¿Activada?

no

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.