Optimización de la Interfaz entre Procesadores y Periféricos

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:

  1. Dispositivo físico: Parte mecánica que realiza las tareas del periférico.
  2. 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:

  1. 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.
  2. 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:

  1. E/S programada: La CPU controla directamente la operación de E/S. Realiza polling para comprobar el estado del dispositivo. Simple pero ineficiente.
  2. 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
  3. 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
    1. El procesador configura el DMA.
    2. El DMA realiza la transferencia.
    3. El DMA interrumpe al procesador al finalizar.
    Problemática del DMA
    • Memoria virtual
    • Coherencia de caché

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.