Parte 2: Interfaz entre Procesadores y Periféricos
Organización de la E/S
1.1 Introducción
Un computador se compone de tres subsistemas principales: CPU, memoria y sistema de E/S.
- Sistema de E/S: Facilita el movimiento de datos entre dispositivos externos y el tándem CPU-Memoria. Incluye:
- Dispositivos de E/S: Constituyen la interfaz del ordenador con el exterior. Ejemplos: ratón, teclado, dispositivos de red, almacenamiento, etc.
- Interconexión: Conexión física y mecanismos de transmisión entre procesador, memoria y periféricos.
Las características de los sistemas de E/S dependen en gran medida de la tecnología disponible y del resto de componentes del sistema.
Características de la E/S
- Variedad de dispositivos con diferentes funcionamientos.
- Velocidad de transferencia de periféricos mucho menor que la de CPU o memoria.
- Diferentes formatos y tamaños de datos.
Parámetros de Diseño
- Rendimiento
- Escalabilidad/Expansibilidad
- Tolerancia a fallos
1.2 Medidas de Rendimiento
Ancho de banda, latencia y coste están estrechamente relacionados. Aumentar el ancho de banda suele implicar un mayor coste. Mejorar la latencia puede ser más complejo.
Latencia (Tiempo de Respuesta)
Tiempo total transcurrido desde el inicio hasta la finalización de una tarea. Se mide en unidades de tiempo o ciclos de reloj.
- TCPU = Tusuario + Tsistema
- Mayor rendimiento = Menor latencia
Ancho de Banda (Potencia)
Cantidad de trabajo realizado en un tiempo determinado.
- Ancho de banda de datos (data rate): Cantidad de datos transferidos por unidad de tiempo.
- Ancho de banda de operaciones (I/O rate): Número de operaciones de E/S por unidad de tiempo.
- Mayor rendimiento = Mayor ancho de banda
La concurrencia permite aumentar el ancho de banda más allá de 1/latencia.
Otros Índices de Rendimiento
- Interferencia de la E/S con el procesador
- Diversidad de dispositivos conectables
- Capacidad/Escalabilidad/Expansibilidad
- Capacidad de almacenamiento
Rendimiento en un Computador
A menudo se considera solo el rendimiento de la CPU:
TiempoPrograma = TiempoCiclo x CiclosInstrucción x InstruccionesPrograma
Sin embargo, la memoria y la E/S también influyen significativamente.
Opciones de Mejora
- Optimizar CPU
- Optimizar memoria
- Optimizar E/S
Los sistemas pueden estar limitados por CPU, memoria o E/S.
Aceleración = RendimientoTrasMejora / RendimientoAntesMejora = T.EjecuciónAntesMejora / T.EjecuciónTrasMejora
Ley de Amdahl
Predice la aceleración tras una mejora:
AceleraciónConjuntaGlobal = 1 / [(1 – FracciónMejora) + (FracciónMejora / AceleraciónMejora)]
1.3 Modelo de Dispositivo de E/S
Dos componentes fundamentales:
- Dispositivo físico: Parte mecánica que realiza las tareas del periférico.
- Controladora de dispositivo: Interfaz electrónica entre el dispositivo y el sistema. Funciones:
- Control y temporización
- Almacenamiento temporal (buffering)
- Detección de errores
La CPU se comunica con los dispositivos a través de sus registros de E/S.
1.4 Interfaz CPU – E/S
Dos enfoques para direccionar dispositivos de E/S:
- E/S asignada al espacio de memoria: Se reserva una parte del mapa de memoria para la E/S. La CPU accede a los registros de E/S como si fueran posiciones de memoria. Es la opción más común en arquitecturas RISC y sistemas embebidos.
- E/S aislada: Espacios de direcciones separados para memoria y E/S. La CPU usa instrucciones especiales para acceder a la E/S.
Ventajas
- Aislada: No restringe el espacio de direcciones y facilita la protección de la E/S.
- Asignada en memoria: Mayor flexibilidad de instrucciones, simplifica el diseño de la CPU.
1.5 Gestión de la E/S
Tres técnicas principales:
- E/S programada: La CPU controla directamente la operación de E/S. Realiza polling para comprobar el estado del dispositivo. Simple pero ineficiente.
- E/S con interrupciones: El dispositivo interrumpe al procesador cuando está listo. Permite multitarea.
Identificación del dispositivo
- Múltiples líneas de interrupción
- Consulta por software (software poll)
- Interrupciones vectorizadas
Manejo de múltiples interrupciones (IRQs)
- Prioridades y arbitraje
- Anidamiento de interrupciones
- Acceso Directo a Memoria (DMA): Un controlador DMA transfiere datos entre el dispositivo y la memoria sin intervención de la CPU. Mejora el rendimiento.
Pasos en una transferencia DMA
- El procesador configura el DMA.
- El DMA realiza la transferencia.
- El DMA interrumpe al procesador al finalizar.
Problemática del DMA
- Memoria virtual
- Coherencia de caché