Publicado el 5 de Julio del 2017
1.013 visualizaciones desde el 5 de Julio del 2017
984,8 KB
19 paginas
Creado hace 16a (22/04/2009)
Estructura de Computadores 2 [08/09]
Tema 6: Organización de la Entrada/Salida
1. Introducción
2. Medidas de rendimiento
3. Modelo de periférico
4. Interfaz CPU - E/S
5. Gestión de la E/S: E/S programada
6. Gestión de la E/S: E/S mediante interrupciones
7. Gestión de la E/S: Acceso directo a memoria (DMA)
8. Canales y procesadores de E/S
22 de abril de 2009
Bibliografía
• Computer Architecture: A Quantitative Approach (3rd or 4th ed.). John L. Hennessy y
David A. Patterson. Morgan Kaufmann Publishers, Inc.
• Organización y arquitectura de computadores (7th ed.). William Stallings. Prentice Hall.
• Organización de Computadores. C. Hamacher, Z. Vranesic y S. Zaky. Mc Graw Hill, 2003.
• Computer Organization and Design: The hardware/software interface (3rd ed.). David A.
Patterson and John L. Hennessy. Morgan Kaufmann Publishers, Inc.
GAC: Grupo de Arquitectura de Computadores. Dpt. Electrónica e Sistemas. Universidade da Coruña.
Introducción
• Tres subsistemas en un computador: procesador, memoria y sistema de entrada/salida
• Sistema de E/S (I/O system): formado por los componentes que permiten el movimiento
de datos entre los dispositivos externos y el tándem CPU - Memoria. Incluye:
− Dispositivos de E/S: constituyen la interfaz del ordenador con el exterior
◦ Periféricos que interaccionan con el usuario para proporcionar entradas al siste-
ma: teclado, ratón, etc.
◦ Dispositivos que interaccionan con otros dispositivos: redes de comunicación,
etc.
◦ Dispositivos de almacenamiento . . .
− Interconexión entre procesador, memoria y los diferentes dispositivos periféricos
◦ conexión física entre componentes
◦ mecanismos básicos de transmisión de información
◦ interfaz con los disposivos de E/S
◦ organización de las operaciones de E/S. . .
• Gran parte de las características de los sistemas de E/S vienen determinadas por la
tecnología existente en cada momento, además de verse condicionadas por el resto de
componentes del sistema
• Características E/S:
− Amplia variedad de dispositivos con formas diferentes de funcionamiento
− Velocidad de transferencia de los periféricos mucho menor que la de CPU o memoria
− Diferentes formatos y tamaños de datos (palabra)
• Parámetros de diseño de sistemas de E/S: rendimiento, escalabilidad o expansibilidad y
tolerancia a fallos
Figura 1: Componentes básicos de un computador: CPU, memoria, dispositivos de E/S y sistema
de interconexión
Medidas de rendimiento
• Latencia
(aka tiempo de respuesta o tiempo de ejecución)
(en inglés: latency/response time/execution time/elapsed time/wall time)
→ Tiempo total transcurrido desde el comienzo hasta la finalización de una tarea
(medido en unidades de tiempo o en ciclos de reloj)
T. CPU = T. usuario + T. sistema
Otros: acceso memoria, esperas E/S, esperas eje-
cución otros programas. . .
Mayor rendimiento = Menor latencia
• Ancho de banda
(aka potencia o productividad)
(en inglés: bandwidth/throughput)
→ Cantidad de trabajo realizado en un tiempo determinado
(medido en cantidad por unidad de tiempo)
En función del contexto, las dos maneras más habituales de medir el ancho de banda
son:
− Cantidad de datos que pueden moverse a través del sistema en un determinado
− Número de operaciones de E/S que se pueden realizar por unidad de tiempo
tiempo (ancho de banda de datos o data rate)
(ancho de banda de operaciones o I/O rate)
Mayor rendimiento = Mayor ancho de banda
• El ancho de banda es la tasa a la que un sistema es capaz de atender peticiones, y no
siempre es el inverso de la latencia: la concurrencia en el manejo de peticiones permite
incrementar el ancho de banda por encima de
1
latencia
• Ancho de banda, latencia y coste están íntimamente relacionados. En líneas generales:
− El ancho de banda se puede incrementar aumentando el coste del sistema
− La latencia puede ser mucho más difícil de mejorar sin cambiar la tecnología de
implementación.
• Otros índices de rendimiento de E/S:
Interferencia de la E/S con el procesador. Porcentaje de ciclos de reloj que emplea
el procesador en tareas de E/S
Diversidad. Variedad de dispositivos de E/S que pueden conectarse al sistema
Capacidad/escalabilidad/expansibilidad. Número de dispositivos de E/S que pue-
den conectarse al sistema
Capacidad de almacenamiento, en el caso dispositivos de almacenamiento.
− Opciones de mejora:
por la CPU
◦ Optimizar CPU: maximizar velocidad y eficiencia de las operaciones ejecutadas
◦ Optimizar memoria: maximizar eficiencia en el acceso a memoria
◦ Optimizar E/S: maximizar eficiencia de las operaciones de E/S
− En función de qué factor está gravando más el rendimiento del sistema distinguimos
Medidas de rendimiento: E/S vs. CPU-Mem
• Rendimiento en un computador
− a menudo se tiene en cuenta únicamente el rendimiento de la CPU, obviando el resto
del sistema.
De esta forma estamos considerando únicamente:
× ciclos
instrucción × instrucciones
= tiempo
ciclo
programa
tiempo
programa
− Optimizar ese tiempo de CPU no es la única forma de incrementar el rendimiento
del sistema: memoria y E/S influyen también en gran medida en ese rendimiento.
La E/S suele ser la gran olvidada.
entre sistemas
◦ limitados por CPU (CPU bound)
◦ limitados por memoria (Memory bound)
◦ limitados por E/S (I/O bound)
• Medida de rendimiento tras incorporar una mejora a un sistema: aceleración (speedup)
Aceleración = Rendimiento tras mejora
Rendimiento antes mejora
=
T. Ejecución antes mejora
T. Ejecución tras mejora
• Es importante acotar la aceleración potencial a obtener con una posible mejora (que puede
ser muy costosa) antes de realizarla:
Ley de Amdahl Establece que la aceleración completa de un sistema depende tanto
de la aceleración concreta de uno de sus componentes como de cuánto es usado ese
componente por el sistema
Medidas de rendimiento: E/S vs. CPU-Mem (II)
• La ley de Amdahl nos dice cómo calcular la aceleración que se obtendrá en un sistema
con la incorporación de una determinada mejora, en función de dos factores:
1. La fracción del tiempo de ejecución en el sistema original que va a aprovecharse de
la mejora (F racción mejora)
2. La aceleración que se lograría si el sistema completo pudiera aprovecharse de la
mejora (Aceleración mejora > 1)
El tiempo de ejecución del sistema tras la incorporación de la mejora será la suma del
tiempo de ejecución de la parte del sistema que no se ve afectada por la mejora, más el
tiempo de ejecución de la parte mejorada:
T. Ejecución nuevo = T. Ejecución original × (1 − F racción mejora)
T. Ejecución nuevo = T. Ejecución original×
Por tanto:
Aceleración conjuntaglobal = T. Ejecución original
T. Ejecución nuevo
+T. Ejecución original
Aceleración mejora
× F racción mejora
(1 − F racción mejora) + F racción mejora
Aceleración mejora
!
=
1
(1 − F racción mejora) + F racción mejora
Aceleración mejora
• Por supuesto, la mayor mejora en el rendimiento de un sistema se producirá cuando
aceleremos el componente que más lo está limitando.
• Tradicionalmente se ha dejado a la E/S de lado, en favor del tándem CPU-Memoria. Las
cosas han cambiado.
Supongamos, por ejemplo, una tarea con:
Latencia: L
Tiempo de CPU: 0,9 × L
x10
x100
CPU acelerada → (Amdahl) Latencia acelerada
x5
x10
Modelo de dispositivo de E/S
Dispositivo de E/S. Distinguimos 2 componentes fundamentales:
• Dispositivo físico: constituido normalmente por la mayor parte del dispositivo. En deter-
minados periféricos, como dispositivos de almacenamiento, se trata de una parte esencial-
mente mecánica. Es la parte del dispositivo que realmente realiza las tareas de las que se
encarga el periférico.
• Controladora de dispositivo: parte electrónica que sirve de interfaz entre el dispositivo (o
los dispositivos) y el resto del sistema Funciones principales:
− control y temporización
− almacenamiento temporal de datos (buffering)
− detección de errores
• La CPU se comunica con los diferentes dispositivos esencialmente utilizando los registros
de E/S de los mismos.
Interfaz (lógica) CPU - E/S
Para poder ser accedido, un dispositivo de E/S tiene que ser direccionable por el procesador.
Dos aproximaciones:
E/S asignada al espacio de memoria (Memory-mapped I/O, MMIO). Con este esquema,
una parte del mapa de memoria del sistema es reservado para E/S en lugar de para me-
moria, asignado las direcciones en ese rango a los distintos dispositivos de E/S. De esta
forma, existe un único espacio de direcciones en el sistema, que se emplea tanto para la
memoria principal como para la E/S.
• La CPU trata los registros de los disp. E/S como
posiciones de memoria, utilizando las mismas ins-
trucciones para acceso a memoria y a disp. E/S
• Permite un diseño de la CPU más sencillo, y por
tanto una CPU más rápida y más barata
• Esta es la alternativa para el tratamiento de la E/S
más popular hoy en día, usada sobre todo en arqui-
tecturas RISC y sistemas empotrados
• Ejemplos: PDP-11, VAX, ARM, familia Motorola
68000 . . .
E/S aislada (Isolated I/O, Instruction-based I/O, Port I/O o Port-mapped I/O, PMIO). En
este caso se mantienen espacios de direcciones diferentes para memoria y E/S, disponien-
do el procesador de instrucciones especiales para el acceso a direcciones de E/S, distintas
a las de acceso a memoria
• Al tener los disp. E/S un mapa de memoria sepa-
rado de la memoria principal, la CPU utiliza una
señal de control ( ¯M /IO) para indicar si la dirección
que está en el bus de memoria es de E/S, o bien se
utiliza un bus de E/S propio
• Popular en su momento en máquinas con una ca-
pacidad limitada de direccionamiento. Se sigue uti-
lizando, pero menos
• Ejemplos: la arquitectura intel x86, IBM 370 . . .
Interfaz CPU - E/S: MMIO vs. PMIO
• La E/S aislada tiene la ventaja de no restringir el espacio de direcciones a utilizar, además
de facilitar la protección de la E/S. El código ensamblador se hace también más limpio
de cara al usuario, al ser distinguibles las operaciones especi
Comentarios de: Tema 6: Organización de la Entrada/Salida (0)
No hay comentarios